当前位置:问答库>考研试题

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. 编码阶段