2017年北京科技大学计算机与通信工程学院870软件工程考研强化模拟题
● 摘要
一、选择题
1. 原型的使用和开发过程,叫作( )。
A. 原型期
B. 原型生存期
C. 原型周期
D. 以上说法都不对
【答案】B
【解析】原型模型又称快速原型模型,它是増量模型的另一种形式,它的使用和开发过程叫作原型生存期。
2. 在软件工程项目中,不随参与人数的增加而使生产率成比例增加的主要问题是( )。
A. 工作阶段的等待时间
B. 产生原型的复杂性
C. 参与人员所需的工作站数目
D. 参与人员之间的通信困难
【答案】D
【解析】在软件开发中,开发人员的交流是非常重要的,而一个开发人员进入一个新的软件系统做开发,需要相当长的一个阶段以适应该软件的开发,这主要是由于新的人员需要一定时间的培训以熟悉该软件系统的开发状况及该软件的需求分析、定义和相关已经生成的文档,以便在软件开发中与老开发人员的交流和通信,以推动软件开发前进。
3. 研究开发资源的有效性是进行( )可行性研究的一方面。
A. 技术
B. 经济
C. 社会
D. 操作
【答案】A
【解析】技术可行性:要确定使用现有的技术能否实现系统,就要对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目能否实现。这里的资源包括已有的或可搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。
4. 软件系统的可靠性,主要表现在( )。
A. 能够安装多次
B. 能在不同类型的计算机系统上安装、使用
C. 软件的正确性和健壮性
D. 能有效地抑制盗版
【答案】C
【解析】软件系统的可靠性包括两方面:正确性和健壮性,软件系统可靠性的含义中既包含正确性,又包含健壮性。换句话说,可靠性就是要求系统在正常情况下能正确工作;在异常情况下能进行适当处理,不会造成严重损失。
5. 结构化程序设计的一种基本方法是( )。
A. 筛选法
B. 递归法
C. 迭代法
D. 逐步求精法
【答案】D
【解析】结构化程序设计方法的基本要点是:采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序;主程序员组的组织形式。
6. 程序的三种基本控制结构是( )。
A. 过程、子程序和分程序
B. 顺序、选择和重复
C. 递归、迭代和回溯
D. 调用、返回和转移
【答案】B
,所有控制结构都能【解析】程序的三种基本控制结构是顺序、选择(分支)、重复(循环)
用这三种结构表示。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。
7. 重载( )。
A. 实现多态性的方法之一
B. 重命名
C. 更改其名字
D. 解决多继承带来的命名冲突问题的方法之一
【答案】D
【解析】重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法,可以解决多继承带来的命名冲突问题。
8. 将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是( )的。
A. 逻辑性
B. 瞬时性
C. 功能性
D. 通信性
【答案】A
【解析】逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
9. 瀑布模型的问题是( )。
A. 用户容易参与开发
B. 缺乏灵活性
C. 用户与开发者易沟通
D. 适用可变需求
【答案】B
【解析】瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。它是线性的开发过程,缺乏灵活性,不适应实际的开发过程。
10.好的软件结构应该是( )。
A. 高耦合、高内聚
B. 低耦合、高内聚
C. 高耦合、低内聚
D. 低稱合、低内聚
【答案】B
【解析】耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
11.在软件开发过程中,以下说法正确的是( )。
A. 程序流程图是逐步求精的好工具
B. 图不可能任意转移控制,符合结构化原则
图都不易表达模块的层次结构 C. 判定表是一种通用的设计工具 D. 程序流程图和
【答案】B
【解析】程序流程图本质上不是逐步求精的好工具,它会使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;判定表不是一种通用的设计工具,没有一种简单的方法使用它能同时清晰地表示顺序和循环等结构;程序流程图不易表示模块的层次结构,
模块的层次结构。
图则可以表示