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

2018年北京科技大学计算机与通信工程学院870软件工程考研核心题库

  摘要

一、选择题

1. 内容耦合指( )。

A. 两个模块之间传递的是数据结构

B. —个模块调用另一个模块时,传递的是控制变量

C. 通过一个公共数据环境相互作用的那些模块间的耦合

D. —个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部

【答案】D

【解析】当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。

2. 软件质量必须在( )加以保证。

A. 开发之前

B. 开发之后

C. 可行性研究过程中

D. 分析、设计与实现过程中

【答案】D

【解析】保证软件质量的措施包括基于非执行的测试、基于执行的测试、程序正确性证明,这些措施贯穿于 软件开发的分析、设计和实现的过程中。

3. 对于原型的使用建议,以下说法不正确的是( )。

A. 开发周期很长的项目,能够使用原型

B. 在系统的使用可能变化较大,不能相对稳定时,能够使用原型

C. 缺乏开发工具,或对原型的可用工具不了解的时候,能够使用原型

D. 开发者对系统的某种设计方案的实现无信心或无十分的把握,能够使用原型

【答案】C

【解析】不宜使用原型的情况:

缺乏开发工具,或对原型的可用工具不了解的时候。

用户不愿意参与开发。

用户的数据资源没有很好地组织和管理的时候,因为快速原型需要快速寻找和存取数据。

用户的软件资源没有被组织和管理起来的时候,因为MIS 中的模型、模块、使用设施和程序的难易程度对原型使用很关键。

4. 软件设计一般分为总体设计和详细设计,它们之间的关系是( )。

A. 全局和局部

B. 抽象和具体

C. 总体和层次

D. 功能和结构

【答案】A

【解析】软件设计分为总体设计和详细设计,其中总体设计属于全局性的设计,详细设计属于局部性的设计,是概要设计的完善。

5. ( )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。

A. 程序流程图

B. 数据流图

C.E-R 图

D. 结构图

【答案】D

【解析】结构图和程序流程图有着本质的差别。程序流程图着重表达的是程序执行的顺序以及执行顺序所依赖的条件。结构图着眼于软件系统的总体结构,它并不涉及模块内部的细节,只考虑模块的作用,以及它和上、下级模块的关系。数据流图中的数据流是特定数据流向的表现形式,它与程序流程图中箭头表示的控制流向有着本质的不同。

6. 瀑布模型的问题是( )。

A. 用户容易参与开发

B. 缺乏灵活性

C. 用户与开发者易沟通

D. 适用可变需求

【答案】B

【解析】瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。它是线性的开发过程,缺乏灵活性,不适应实际的开发过程。

7. 在软件工程项目中,不随参与人数的增加而使生产率成比例增加的主要问题是( )。

A. 工作阶段的等待时间

B. 产生原型的复杂性

C. 参与人员所需的工作站数目

D. 参与人员之间的通信困难

【答案】D

【解析】在软件开发中,开发人员的交流是非常重要的,而一个开发人员进入一个新的软件系统做开发,需要相当长的一个阶段以适应该软件的开发,这主要是由于新的人员需要一定时间的培训以熟悉该软件系统的开发状况及该软件的需求分析、定义和相关已经生成的文档,以便在软件开发中与老开发人员的交流和通信,以推动软件开发前进。

8. 结构化分析方法(SA )是一种面向( )需求分析方法。

A. 对象

B. 数据结构

C. 数据流

D. 结构图

【答案】C

【解析】结构化分析(SA )方法是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统。结构化分析方法的基本思想是自顶向下逐层分解,把一个问题分解成若干个小问题,每个小问题再分解成若干个更小的问题,经过多次逐层分解,每个最低层的问题都是足够简单、容易解决的,这个过程就是分解的过程。

9. 下列文档与维护人员有关的有( )。

A. 软件需求说明书

B. 项目开发计划

C. 概要设计说明书

D. 操作手册

【答案】C

【解析】在进行软件维护时了解原有软件的总体情况是很重要的。概要设计说明书能准确地描述了对软件系 统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求及将来可能提出的需求,对了解己有软件的总体情况有很大帮助。在对己有软件做重大修改之前仔细阅读、认真研究概 要设计说明书,可以避免许多修改错误。

10.为了解决软件危机,人们提出了用( )的原理来设计软件。

A. 运筹学

B. 工程学

C. 软件学

D. 数学

【答案】B

【解析】为了解决软件危机,通过采用软件工程来指导软件的设计。软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够