2018年武汉大学计算机学院932软件工程专业基础综合之软件工程导论考研强化五套模拟题
● 摘要
一、选择题
1. —个模块把开关量作为参数传送给另一模块,这两个模块之间的耦合是( )。
A. 外部耦合
B. 数据耦合
C. 控制耦合
D. 内容耦合
【答案】C
【解析】控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行模块内某一功能。
2. 块间的信息可以作“控制信息”用,也可以作为( )使用。
A. 控制流
B. 数据结构
C. 控制结构
D. 数据
【答案】D
【解析】如果两个模块彼此问通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。如果传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现),则这种耦合称为控制耦合。
3. 提高测试的有效性非常重要,成功的测试是指( )。
A. 证明了被测试程序正确无误
B. 说明了被测试程序符合相应的要求
C. 未发现被测程序的错误
D. 发现了至今为止尚未发现的错误
【答案】D
【解析】软件测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发 现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。
4. 瀑布模型的问题是( )。
A. 用户容易参与开发
B. 缺乏灵活性
C. 用户与开发者易沟通
D. 适用可变需求
【答案】B
【解析】瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。它是线性的开发过程,缺乏灵活性,不适应实际的开发过程。
5. 对于详细设计,下面说法错误的是( )。
A. 详细设计是具体地编写程序
B. 详细设计是细化成很容易地从中产生程序图纸
C. 详细设计的结果基本决定了最终程序的质量
D. 详细设计中采用的典型方法是结构化程序设计方法
【答案】A
【解析】详细设计阶段,主要对模块内的算法和模块内的数据结构进行设计,具体编写程序属于编码阶段的任务。
6. 软件设计一般分为总体设计和详细设计,它们之间的关系是( )。
A. 全局和局部
B. 抽象和具体
C. 总体和层次
D. 功能和结构
【答案】A
【解析】软件设计分为总体设计和详细设计,其中总体设计属于全局性的设计,详细设计属于局部性的设计,是概要设计的完善。
7. 在软件工程项目中,不随参与人数的增加而使生产率成比例增加的主要问题是( )。
A. 工作阶段的等待时间
B. 产生原型的复杂性
C. 参与人员所需的工作站数目
D. 参与人员之间的通信困难
【答案】D
【解析】在软件开发中,开发人员的交流是非常重要的,而一个开发人员进入一个新的软件系统做开发,需要相当长的一个阶段以适应该软件的开发,这主要是由于新的人员需要一定时间
的培训以熟悉该软件系统的开发状况及该软件的需求分析、定义和相关已经生成的文档,以便在软件开发中与老开发人员的交流和通信,以推动软件开发前进。
8. 原型化方法需要用户和软件开发人员之间经常交互,适用于( )系统。
A. 需求不确定的
B. 需求确定的
C. 管理信息
D. 决策支持
【答案】A
【解析】原型化方法特别适用于需求不确定性较高的软件系统的开发。它的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的可执行的模型,满足用户的基本要求,让用户在试用后做出反应和评价, 然后开发者根据用户的意见对原型加以改进。
9. 软件测试的目的是尽可能发现软件中的错误,通常( )是代码编写阶段可进行的测试,它是整个测试工作的基础。
A. 系统分析
B. 安装测试
C. 验收测试
D. 单元测试
【答案】D
【解析】软件的测试通常由单元测试(模块测试)、集成测试(组装测试)、系统测试(验收测试)等几个部分组成。其中单元测试在代码编写到一定时候即可开始,它是整个测试工作的基础。
10.详细设计的任务是确定每个模块的( )。
A. 算法
B. 功能
C. 调用关系
D. 输入输出数据
【答案】A
【解析】从软件开发的工程化观点来看,在使用程序设计语言编制程序之前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。详细设计的任务就是决定各个模块的实现算法,并精确地表达这些算法。
11.软件生存周期的( )工作和软件可维护性有密切的关系。
A. 编码阶段