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

2017年东北农业大学电气与信息学院846软件工程考研强化模拟题

  摘要

一、选择题

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

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

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

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

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

【答案】A

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

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

A. 抽象

B. 模块化

C. 模块独立

D. 信息隐藏

【答案】C

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

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

A. 面向对象分析与面向对象设计的定义没有明显区别

B. 在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的

C. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程

D. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程

【答案】A

【解析】软件开发的分析过程就是分析系统需求的过程,分析工作主要包括理解、表达和验证。面向对象分析的关键是识别问题域内的对象及其关系。分析的任务基本完成后,下一步则是将分析的成果用于设计中。就是根据成本与要求,规划出系统应如何实现的问题。所以A 项中“分析与设计的定义没有明显区别”的说法是不正确的。

4. 所有的对象可以成为各种对象类,每个对象类都定义了一组( )。

A. 说明

B. 方法

C. 过程

D. 类型

【答案】B

【解析】一个类定义了一组大体上相似的对象,一个类所包含的方法和数据描述一组对象的共同行为和属性。

5. 软件生命周期的最后一个阶段是( )。

A. 书写软件文档

B. 软件维护

C. 稳定性测试

D. 书写详细用户说明

【答案】B

【解析】软件维护需要的工作量非常大,虽然在不同应用领域维护成本差别很大,但是,平均来说,大型软件的维护成本高达开发成本的四倍左右,目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。软件维护是软件生命周期的最后一个阶段。

6. 软件系统的可靠性,主要表现在( )。

A. 能够安装多次

B. 能在不同类型的计算机系统上安装、使用

C. 软件的正确性和健壮性

D. 能有效地抑制盗版

【答案】C

【解析】软件系统的可靠性包括两方面:正确性和健壮性,软件系统可靠性的含义中既包含正确性,又包含健壮性。换句话说,可靠性就是要求系统在正常情况下能正确工作;在异常情况下能进行适当处理,不会造成严重损失。

7. 对于PDL 与需求分析中描述加工逻辑的“结构化语言”的区别,以下说法错误的是( )。

A.PDL 不是结构化语言

B. 需求分析中描述加工逻辑的“结构化语言”无严格的外语法

C.PDL 外层语言更严格一些,更趋于形式化

D. 需求分析中描述加工逻辑的“结构化语言”内层自然语言描述较抽象、较概括

【答案】A

【解析】过程设计语言(PDL ), 也称伪码或结构化语言。它是一种用于描述模块算法设计和处理细节的语言。

8. ( )应该考虑系统的具体版本进行描述和生成。

A. 成本控制

B. 需求分析

C. 系统设计

D. 版本控制

【答案】D

【解析】版本控制管理是对系统不同版本进行标识与跟踪的过程。版本标识的目的是便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系,应该考虑系统的具体版本进行描述和生成。

9. 面向对象技术中,对象是类的实例。对象有三种成分:( )、属性和方法。

A. 标识

B. 规则

C. 封装

D. 消息

【答案】A

【解析】对象指在内存上有一段意义的区域,对象有三种成分:标识、属性和方法(或操作)。

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

A. 好

B. 差

C. 一样

D. 未知

【答案】A

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

二、填空题

11—个模块的作用范围指受该模块内_____影响的所有模块的集合。一个模块的控制范围指_____.

及其_____的集合。

【答案】一个判定;模块本身;所有下属模块(直接或间接从属于它的模块)

12.形式化规约的目标是_____、_____和_____。

【答案】无二义性;一致性;完整性