软件工程考试由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件工程考试”。
第一章 软件工程学概述
1.软件的概念,软件的分类
答:软件=程序+数据+文档;
按规模分类:微型、小型、中型、大型、甚大形、极大型(6)
按性质分类:系统软件、支撑软件、应用软件(3)
按工作方式分类:实时、分时、交互式、批处理(4)
按服务对象分类:项目软件、产品软件(2)
2.软件危机产生的原因(2点),缓解软件危机的途径
答:和软件本身的特点有关,和开发软件的方法不正确有关;
软件工程;
3.软件生命周期包含的活动
答:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试(8)
4.问题定义阶段的任务
答:确定软件规模、性质、目标
5.常见的软件开发模型
瀑布模型:适用范围是需求确定的软件开发,是描述结构化的软件开发模型;
快速原型模型:适用范围是需求不确定的软件开发;
喷泉模型:是描述面向对象的软件开发模型;
第二章 可行性研究
1.可行性研究从哪些方面进行
答:经济,技术,法律,操作(4)
2.系统流图SFD的作用
答:描述系统的工作过程,建立系统的业务模型
3.数据流图DFD的作用,符号,画法
答:描述系统的功能,建立系统的功能模型
符号:外部实体(正方形),处理(圆形),存储(双实线),数据流(单箭头线)画法:分离成分,分层画DFD(顶层,0层,1层)
第三章 需求分析
1.结构化的需求分析方法SA的原理
答:用DFD、DD进行功能分析,建立系统的功能模型,用E-R进行数据分析,建立系统的数据模型
第五章 总体设计
1.总体设计的原理
答:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立(5)
2.衡量模块独立的指标
答:耦合,内聚 3.总体设计的启发规则(7点)
答:改进软件结构提高模块独立性
模块规模应该适中
深度、宽度、扇出和扇入都应适当
模块的作用域应该在控制域之内
力争降低模块接口的复杂程度
设计单入口单出口的模块
模块功能应该可以预测
4.结构化的设计方法SD的原理
答:将DFD映射成软件结构图
第六章 详细设计
1.用结构化方法进行开发在详细设计阶段的任务
答:对模块进行设计,主要是设计模块的界面和算法 2.结构化程序设计SP的原则(7点)
答:采用自顶向下、逐步求精的设计方法
程序中用顺序、选择、多分支、while型循环、until型循环表示程序逻辑
每种控制结构单入口、单出口
程序语句组成模块,每个模块单入口单出口
复杂的结构用5种基本控制结构组合嵌套实现
严格控制goto语句的使用,在下列情况可用:
在非结构化的语言中,用goto语句实现结构化的构造
在某种可以改善而不是损害可读性的情况下
不仅要注意程序的结构化,还要注意数据结构的合理化
3.判断算法是否为结构化的依据(3点)
答:由5种基本控制结构组成;
每种控制结构单入口单出口;
模块单入口单出口
4.描述算法的工具
答:图形工具:N-S图,PAD图,活动图
语言工具:PDL语言
表格工具:判定表、判定树
5.算法环形复杂度的度量(流程图-流图-区域数)
答:流程图-流图转换方法:
一个判断框缩成一个点;
一个处理框缩成一个点;
一个顺序处理序列缩成一个点;
判定框和与之相连的处理框缩成一个点;
真假分支的汇聚点增加一个点
第七章 实现
1.编码的风格(判断题)
答:程序内部的文档:恰当的标识符(含义鲜明、缩写(必须保留第一个字母、辅音字母由于元音字母、字首优于字尾)+注解)、适当的注解(序言性注解、功能性注解)、程序的视觉组织(布局、空行、缩进)
2.测试的概念、原则、方法,步骤
答:概念:用最少的时间和人力,找到软件中尽可能多的错误和缺陷
原则:
尽早的和不断的测试;
事先要制定测试计划,严格执行学生计划,排除测试的随意性;
测试从小规模测试开始,逐步进行大规模测试;
充分注意测试中的“群集”现象;
“穷举”测试不可能,应该精心设计测试方案,使测试方案充分的覆盖程序逻辑,以尽可能多的发现程序中的错误;
测试方案应该包含合理的输入条件和不合理的输入条件;
测试应由独立的第三方从事;
方法有黑盒测试和白盒测试
步骤是单元测试、集成测试、系统测试、确认测试
3.白盒测试法有哪些,黑盒测试法有哪些
答:白盒测试法有:逻辑覆盖法、基本路径法覆盖法、循环覆盖法
黑盒测试法有:等价划分法,分界值分析法,错误推算法
4.用逻辑覆盖法设计测试方案
5.黑盒测试技术的原理
答:在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部 特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
6.可靠性的概念
答:软件可靠性是程序在给定的事件间隔内,按照规格说明书的规定成功的运行的概率;可靠性是衡量软件质量的指标
7.可靠性的计算
第八章 维护
1.维护的概念、分类
答:在软件已经交付使用后,为了改正错误或满足新的需要而修改软件的过程; 改正型维护,完善型维护,适应型维护,预防型维护;
第九章 实战
1.软件有哪些开发方法
答:结构化的开发方法、面向对象的开发方法、传统的开发方法与面向对象的开发方法相结合的实用开发方法
2.传统的软件开发方法的开发步骤
答:问题定义,可行性研究,需求分析
业务分析(业务描述,建立业务模型)
功能分析(功能描述,功能模型)
数据分析
总体设计
建立软件结构
设计数据库的表结构
详细设计
模块设计
建立数据库,录入数据
实现
编码,测试
3.面向对象的开发方法的开发步骤
答:问题定义,可行性研究
面向对象的分析
业务分析
功能分析,建立系统的功能模型(参与者,需求结构,功能模型)对象分析,建立系统初步的对象模型
用例分析,建立用例分析模型(顺序图,活动图)
扩充和完善,建立系统完整的对象模型
面向对象的总体设计
扩充和完善功能模型
软件运行环境
软件架构模型(软件架构模式,软件分层架构,软件逻辑结构)
扩充和完善对象模型,建立平台相关对象模型
用例设计模型(顺序图,活动图)
数据库设计模型(数据库的表结构,数据库的逻辑结构)
界面设计模型(界面结构模型,屏幕界面模型)
组件图
部署模型
面向对象的详细设计
确定每个用例的实现算法
建立数据库,录入数据
面向对象实现
编码,测试
4.BCE、MVC是什么
答:BCE是用例分析模式、MVC是程序设计思想
5.传统的开发方法与面向对象的开发方法相结合的实用开发方法的开发步骤 答:问题定义,可行性研究
需求分析
业务分析
功能分析
数据分析
动态分析
总体设计
软件运行环境
软件架构模式(C/S B/S)
建立软件结构图
设计数据库的表结构
详细设计
模块设计
建立数据库,录入数据
实现
编码,测试
软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法 软件工程三要素:方法、工具和过程软件工程的内容:软件开发技术和软件开发管理两个方面......
第一章 软件工程学概述1.软件:是程序、数据及相关文档的完整集合。2.软件危机:是指在计算机软件开发和维护过程中所遇到的一系列严重问题。3.产生软件危机的原因A.与软件本身......
2.说明结构化程序设计的主要思想是什么? 答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。结构化程序设计是实现该目标的关键技术......
第一章概述1.你如何理解时下热门的各种“软件定义”? 答:①从软件开发者角度定义,软件=程序+文档,而程序又是由算法和数据组成,算法提供了解决问题的方法。软件开发文档是软件开......
2013年4月考试软件工程第一次作业一、单项选择题(本大题共30分,共 15 小题,每小题 2 分) 1.TURBO PASCAL是()软件。 A.系统软件 B.人工智能 C.事务软件 D.应用软件2.软件工程的主......