2017年天津大学软件学院902软件工程考研仿真模拟题
● 摘要
一、选择题
1. ( )工具在软件详细设计过程中不采用。
A. 判定表
B.IPO 图
C.PDL
D.DFD 图
【答案】D
【解析】DFD 图(数据流图)是软件需求阶段过程中采用的工具,用于描述系统的分解,即描述系统由哪几个部分组成,各部分之间有什么联系等等。
2. 为了解决软件危机,人们提出了用( )的原理来设计软件。
A. 运筹学
B. 工程学
C. 软件学
D. 数学
【答案】B
【解析】为了解决软件危机,通过采用软件工程来指导软件的设计。软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护。
3. 软件生存周期模型有多种,下列选项中,( )不是软件生存周期模型。
A. 螺旋模型
B. 增量模型
C. 功能模型
D. 瀑布模型
【答案】C
【解析】主要的软件生存周期模型有瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型。
4. 模块( )定义为受该模块内一个判断影响的所有模块集合。
A. 控制域
B. 作用域
C. 宽度
D. 接口
【答案】B
【解析】模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合;模块作用域定义为受该 模块内一个判断影响的所有模块的集合;模块宽度是软件结构内同一个层次上的
模块总数的最大位,一般说来,宽度越大,系统越复杂;模块接口的复杂程度影响模块耦合强弱。
5. 结构化维护与非结构化维护的主要区别在于( )。
A. 软件是否结构化
B. 软件配置是否完整
C. 程序的完整性
D. 文档的完整性
【答案】B
【解析】非结构化维护需要付出很大代价,这种维护方式是没有使用良好定义的方法学开发出来的软件的必然结果;结构化维护是在软件开发的早期应用软件工程方法学的结果。因此,结构化维护与非结构化维护的主要区别是软件配置的完整性,有了软件的完整配置能减少精力的浪费并且能提高维护的总体质量。
6. 软件的可维护性是指纠正软件系统出现的错误和缺陷以及为满足新的要求进行修改、( )的容易程度。
A. 维护
B. 扩充与压缩
C. 调整
D. 再工程
【答案】B
【解析】软件可维护性的另一种定义即为软件可维护性是指纠正软件系统出现的错误和缺陷以及为满足新的要求进行修改、扩充或压缩的容易程度。
7. 有时间间隔的操作是( )。
A. 动作
B. 活动
C. 加工
D. 处理
【答案】B
【解析】活动是一种有时间间隔的操作,它是依附于状态的操作。动作是一种瞬时操作,它是与事件联系在一起的操作。
8. 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。
A. 抽象和信息隐蔽
B. 局部化和封装化
C. 内聚性和耦合性
D. 激活机制和控制方法
【答案】C
【解析】模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。
9. 重载( )。
A. 实现多态性的方法之一
B. 重命名
C. 更改其名字
D. 解决多继承带来的命名冲突问题的方法之一
【答案】D
【解析】重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法,可以解决多继承带来的命名冲突问题。
10.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( )关系。
A. 组装
B. 整体与部分
C.has a
D. —般与具体
【答案】D
【解析】火车是一种陆上交通工具,而陆上交通工具不一定是火车,还可以是汽车、自行车等,说明火车是陆上交通工具的具体化,而陆上交通工具是火车的一般化,所以它们之间的关系是一般与具体的关系。
11.在需求分析中,开发人员要从用户那里解决的最重要问题是( )。
A. 要让软件做什么
B. 要提供哪些信息
C. 要求软件工作效率怎样
D. 要让软件具有何种结构
【答案】A
【解析】需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么” 的问题。
相关内容
相关标签