2018年河南大学825专业基础课(软件工程导论、数据结构)之软件工程导论考研核心题库
● 摘要
一、选择题
1. 人们称在软件运行/维护阶段对软件产品所进行的修改就是维护。( )是由于开发时测试的不彻底、不完全造成的。
A. 校正性维护
B. 适应性维护
C. 完善性维护
D. 预防性维护
【答案】C
【解析】增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。它是由于软件开发时测试不彻底,不完全造成的。
2. 只有高水平的软件工程能力才能生产出高质量的软件产品。因此,须在软件开发环境或软件工具箱的支持下,运用先进的开发技术、工具和管理方法来提高( )能力。
A. 组织软件
B. 软件质量
C. 设计软件
D. 开发软件
【答案】D
【解析】只有高水平的软件工程能力才能生产出高质量的软件产品。因此,在软件开发环境或软件工具箱的支持下,运用先进的开发技术、工具和管理方法开发的软件质量很高,即运用先进的开发技术能提高开发软件的能力。
3. 模块中所有成分引用共同的数据,该模块的内聚度是( )的。
A. 逻辑性
B. 瞬时性
C. 功能性
D. 通信性
【答案】D
,【解析】通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚)
或者指各处理使用相同的输入数据或者产生相同的输出数据。
4. 以下说法错误的是( )。
A. 面向对象分析与面向对象设计的定义没有明显区别
B. 在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的
C. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程
D. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程
【答案】A
【解析】软件开发的分析过程就是分析系统需求的过程,分析工作主要包括理解、表达和验证。面向对象分析的关键是识别问题域内的对象及其关系。分析的任务基本完成后,下一步则是将分析的成果用于设计中。就是根据成本与要求,规划出系统应如何实现的问题。所以A 项中“分析与设计的定义没有明显区别”的说法是不正确的。
5. 在数据流图中,有名字及方向的成分是( )。
A. 控制流
B. 信息流
C. 数据流
D. 信号流
【答案】C
【解析】数据流:数据流是数据在系统内部传播的路径,因此由一组成分固定的数据项(名字,方向)组成。
6. 有时间间隔的操作是( )。
A. 动作
B. 活动
C. 加工
D. 处理
【答案】B
【解析】活动是一种有时间间隔的操作,它是依附于状态的操作。动作是一种瞬时操作,它是与事件联系在一起的操作。
7. 以下说法错误的是( )。
A. 单元测试是指对源程序中每一个程序单元进行测试
B. 集成测试各模块组装起来,检查各个模块是否正确实现规定的功能
C. 确认测试主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求
D. 系统测试是指把己确认的软件与其他系统元素结合在一起进行测试
【答案】B
【解析】集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。
8. 在进行软件测试时,首先应当进行单元测试,然后再进行 ,最后再进行有效性测试。( )
A. 组合测试
B. 集成测试
C. 有效性测试
D. 确认测试、
【答案】B
【解析】软件测试要经过单元测试、集成测试、确认测试和系统测试这四步测试,首先进行单元测试,然后进行集成测试,最后进行确认测试和系统测试。
9. 软件详细设计主要采用的方法是( )。
A. 结构程序设计
B. 模型设计
C. 结构化设计
D. 流程图设计
【答案】C
【解析】结构化程序设计技术是实现详细设计主要目标的基本保证,并且也是详细设计的逻辑基础。
10.软件详细设计的主要任务是确定每个模型的( )。
A. 算法和使用的数据结构
B. 外部接口
C. 功能
D. 编程
【答案】A
【解析】软件详细设计的任务包括四点:①为每个模块确定采用的算法;②确定每一模块使用的数据结构;③确定模块接口的细节;④为每一个模块设计出一组测试用例。其中主要的任务是设计每个模块的实现算法、所需的局部数据结构。
二、填空题
11.面向对象的特征是_____、_____、_____、_____。
【答案】对象唯一性;分类性;继承性;多态性