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

2018年长沙理工大学计算机与通信工程学院851软件工程考研核心题库

  摘要

一、选择题

1. 面向对象分析是对系统进行( )的一种方法。

A. 需求建模

B. 程序设计

C. 设计评审

D. 测试验收

【答案】A

【解析】面向对象分析就是抽取和整理用户需求并建立问题域精确模型的过程,即对系统进行需求建模的过 程,它的主要任务包括:①分析陈述用户需求的文件;②深入理解用户需求,抽象出目标系统的本质属性;③用模型准确地表示。

2. 软件维护工作中大部分的工作是由于( )而引起的。

A. 程序的可靠性

B. 适应新的硬件环境

C. 适应新的软件环境

D. 用户的需求改变

【答案】D

【解析】大量软件工程维护资料表明,用户的需求改变而引起的软件维护工作占的比例最大,而不是由可靠性问题引起的,为了增强和改进软件的功能所做的维护仅占20%。

3. —个模块把开关量作为参数传送给另一模块,这两个模块之间的耦合是( )。

A. 外部耦合

B. 数据耦合

C. 控制耦合

D. 内容耦合

【答案】C

【解析】控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行模块内某一功能。

4. 系统定义明确之后,应对系统的可行性进行研究。可行性研究包括( )。

A. 软件环境可行性、技术可行性、经济可行性、社会可行性

B. 经济可行性、技术可行性、社会可行性

C. 经济可行性、社会可行性、系统可行性

D. 经济可行性、实用性、社会可行性

【答案】B

【解析】可以从技术可行性、经济可行性、社会可行性三个方面来分析研究每种解决方法的可行性。

①技术可行性:确定在现有的资源条件下,技术风险有多大,项目能否实现。

②经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。

③社会可行性:确定要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

5. 提高软件质量和可靠的技术大致可分为两大类。其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要( )。

A. 消除错误

B. 检测错误

C. 避开错误

D. 容错

【答案】D

【解析】提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术;一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。当避开错误技术无法做到完美无缺时,就需要引入容错技术。

6. 在软件工程学中,我们把一组具有相同数据结构和相同操作对象的集合定义为( ),此定义包括一组数据属性和在数据上的一组合法操作。

A. 类

B. 属性

C. 对象

D. 消息

【答案】A

【解析】具有相同数据结构和操作的对象被定义为类;对象的特性、状态称为属性;对象是类的一个实例;消息是对象之间信息传递的方式。

7. 为了提高软件的可移植性,应注意提高软件的( )。

A. 使用的方便性

B. 简洁性

C. 可靠性

D. 设备独立性

【答案】D

【解析】由于软件的可移植性是指软件在不同环境下的运行能力,因此,编写程序时就应注意使程序代码尽可能不与具体的环境关联,即注意提高软件的设备独立性。

8. 除( )外都是00A 文档中的图形。

A. 类图

B. 状态转换图

C. 实例图

D. 服务流程图

【答案】C

【解析】Object-Oriented Analysis (面向对象分析方法)是确定需求或者业务的角度,按照面向对象的思想来分析业务。在面向对象文档中包括类图、状态装换图和服务流程图。其中类图是对整个系统的描述,也称为OOA 基本模型;状态转换图的描述范围是一个对象,它位于类描述模板的对象级;服务流程图仅描述一个服务,位于类描述模板的最低级别。

9. 软件测试的目的是尽可能发现软件中的错误,通常( )是代码编写阶段可进行的测试,它是整个测试工作的基础。

A. 系统分析

B. 安装测试

C. 验收测试

D. 单元测试

【答案】D

【解析】软件的测试通常由单元测试(模块测试)、集成测试(组装测试)、系统测试(验收测试)等几个部分组成。其中单元测试在代码编写到一定时候即可开始,它是整个测试工作的基础。

10.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫( )。

A. 生存期

B. 面向对象设计

C. 面向对象程序设计

D. 面向对象分析

【答案】D

【解析】面向对象分析过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。