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

2018年长沙理工大学计算机与通信工程学院851软件工程考研基础五套测试题

  摘要

一、选择题

1. 对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。

A. 结合

B. 隐藏

C. 封装

D. 抽象

【答案】C

【解析】对象具有状态,一个对象用数据值来描述它的状态;对象还有操作,用于改变对象的状态,对象及 其操作就是对象的行为;对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

2. 以下说法错误的是( )。

A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令

B. 文档也是软件产品的一部分,没有文档的软件就不成为软件

C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量

D. 高质量文档对于发挥软件产品的效益有着重要的意义

【答案】A

【解析】在软件工程中,文档用来表示对需求、工程或结果进行描述、定义、规定、报告或认证的任何书面或图示的信息。它们描述和规定了软件设计和实现的细节,说明使用软件的操作命令。

3. 一个类的所有对象具有相同的属性,不包括( )。

A. 个数

B. 名称

C. 数据类型

D. 定义

【答案】D

【解析】对象是类的一个实例,所以类的所有对象都包括相同的属性名、属性个数和属性数据类型。

4. 模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( )。

A. 模块间的联系程度

B. 模块的功能强度

C. 信息隐蔽程度

D. 接口的复杂程度

【答案】B

【解析】内聚性:又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

5. 在进行软件结构设计时应该遵循的最主要的原理是( )。

A. 抽象

B. 模块化

C. 模块独立

D. 信息隐藏

【答案】C

【解析】模块独立性是模块化、抽象和信息隐蔽的直接产物。是进行模块结构化设计时需要考虑的主要问题。

6. 下面有关软件维护的叙述( )是正确的。

A. 设计软件时就应考虑到将来的可修改性

B. 维护软件是一件很吸引人的创造性工作

C. 维护软件就是改正软件中的错误

D. 谁编写软件就应由谁来维护这个软件

【答案】A

【解析】软件维护人员通常不是该软件的开发人员,这给软件维护带来很大的困难。多数软件在设计时没有考虑到将来的修改,这给软件的修改造成了困难。而且在修改软件时很可能引人新的差错。因此在设计软件时应该考虑到将来的可修改性。

7. 将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是( )的。

A. 逻辑性

B. 瞬时性

C. 功能性

D. 通信性

【答案】A

【解析】逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

8. 在模块测试的过程中,采用自底向上的测试比自顶向下的测试( )。

A. 好

B. 差

C. 一样

D. 未知

【答案】A

【解析】在模块测试过程中,自底向上的测试随着上移,驱动模块逐步减少,测试开销小,而自顶向上的测试需要设计较多的桩模块,测试开销大,所以采用自底向上的测试比自顶向下的测试好。

9. 一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。

A. 维护

B. 设计

C. 软件再工程

D. 逆向工程

【答案】A

【解析】软件维护是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改,通常指的是软件交付使用后所做的变更。

10.详细设计的任务是确定每个模块的( )。

A. 算法

B. 功能

C. 调用关系

D. 输入输出数据

【答案】A

【解析】从软件开发的工程化观点来看,在使用程序设计语言编制程序之前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。详细设计的任务就是决定各个模块的实现算法,并精确地表达这些算法。

二、填空题

11.在分析需求阶段要进行以下几方面的工作:问题识别、_____、_____、_____。

【答案】分析与综合;导出软件的逻辑模型;编写文档