2017年北京科技大学钢铁共性技术协同创新中心870软件工程考研强化模拟题
● 摘要
一、选择题
1. 一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。
A. 维护
B. 设计
C. 软件再工程
D. 逆向工程
【答案】A
【解析】软件维护是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改,通常指的是软件交付使用后所做的变更。
2. ( )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。
A. 程序流程图
B. 数据流图
C.E-R 图
D. 结构图
【答案】D
【解析】结构图和程序流程图有着本质的差别。程序流程图着重表达的是程序执行的顺序以及执行顺序所依赖的条件。结构图着眼于软件系统的总体结构,它并不涉及模块内部的细节,只考虑模块的作用,以及它和上、下级模块的关系。数据流图中的数据流是特定数据流向的表现形式,它与程序流程图中箭头表示的控制流向有着本质的不同。
3. 结构化设计方法一般也称为面向( )的设计。
A. 数据流
B. 数据编码
C. 数据库
D. 数据结构
【答案】A
【解析】结构化设计方法(也称为面向数据流的设计)把信息流映射成软件结构,信息流的类型决定了映射 的方法。面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。
4. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( )。
A. 模块间的联系程度
B. 模块的功能强度
C. 信息隐蔽程度
D. 接口的复杂程度
【答案】B
【解析】内聚性:又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
5.
方法根据( )来导出程序结构。
A. 数据结构
B. 数据间的控制结构
C. 数据流图
D.IPO 图
【答案】A
【解析】以数据结构为基础导出程序结构的这一设计过程称为
据结构的开发方法。
6. 在软件开发过程中,以下说法正确的是( )。
A. 程序流程图是逐步求精的好工具
B. 图不可能任意转移控制,符合结构化原则
图都不易表达模块的层次结构 C. 判定表是一种通用的设计工具 D. 程序流程图和
【答案】B
【解析】程序流程图本质上不是逐步求精的好工具,它会使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;判定表不是一种通用的设计工具,没有一种简单的方法使用它能同时清晰地表示顺序和循环等结构;程序流程图不易表示模块的层次结构,图则可以表示模块的层次结构。
7. 软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、( )、维护等活动。
A. 应用
B. 测试
C. 检测
D. 以上答案都不正确
【答案】B
方法,它是一种面向数
【解析】软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,可以将这些 活动以适当的方式分配到不同阶段去完成。
8. 就软件产品的特点,以下说法错误的是( )。
A. 软件具有高度抽象性,软件及软件生产过程具有不可见性
B. 同一功能软件的多样性,软件生产过程中的易错性
C. 软件的开发和维护过程中的不变性
D. 不同开发者之间思维碰撞的易发性
【答案】C
【解析】软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序,不具有不变性。
9. 软件的可维护性是指纠正软件系统出现的错误和缺陷以及为满足新的要求进行修改、( )的容易程度。
A. 维护
B. 扩充与压缩
C. 调整
D. 再工程
【答案】B
【解析】软件可维护性的另一种定义即为软件可维护性是指纠正软件系统出现的错误和缺陷以及为满足新的要求进行修改、扩充或压缩的容易程度。
10.软件维护的困难主要原因是( )。
A. 费用低
B. 人员少
C. 开发方法的缺陷
D. 维护难
【答案】C
【解析】通常影响软件维护的难易程度的有:维护人员理解软件的结构、接口、功能和内部过程的难易程度;测试和诊断软件错误的难易程度;修改软件的难易程度。而这些都与软件的开发方法有很大的关系,因此软件维护困难的主要原因是软件开发方法的缺陷。
11.在模型中,包含以下基本成分( )。
A. 数据、对象、实体
B. 控制、联系、对象
C. 实体、联系、属性