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

2017年江西师范大学计算机信息工程学院864软件工程导论考研题库

  摘要

一、选择题

1. 在数据流图中,不能被计算机处理的成分是( )。

A. 控制流

B. 结点

C. 数据流

D. 数据源/终点

【答案】D

【解析】数据源点或终点:是本软件系统外部环境中的实体(包括人员、组织或其他软件系,统称外部实体,不能被计算机处理。 统)

2. ( )是指能够以数字概念来描述可靠性的数学表达式中所使用的量。

A. 硬件可靠性的定量度量

B. 软件可靠性的定量指标

C. 系统的定量度量

D. 可靠性的度量

【答案】B

【解析】软件可靠性定义表明了一个程序按照用户的要求和设计的目标, 执行其功能的正确程度。一个可靠的程序应要求是正确的、完整的、一致的和健壮的,是指能够以数字概念来描述可靠性的数学表达式中所使用的量。

3. 在软件需求规范中,( )可以归类为过程要求。

A. 执行要求

B. 效率要求

C. 可靠性要求

D. 可移植性要求

【答案】A

【解析】在软件的需求规范中,可靠性要求、效率要求、可移植性要求属于非功能性要求,而过程要求属于功能性要求执行要求就是如何执行及采取怎样的方式执行才能完成一定的用户的功能,它属于功能性要求,执行通常是从软件系统执行过程的角度来考虑的,所以答案为A 项。

4. 进行需求分析可使用多种工具,但( )是不适用的。

A. 数据流图

B. 判定表

C.PAD 图

D. 数据字典

【答案】C

【解析】进行需求分析时通常采用结构化分析方法,结构化分析工具有以下几种:

①数据流图。

②数据字典。

③描述加工逻辑的结构化语言、判定表、判定树。

5. 在软件开发过程中,以下说法正确的是( )。

A. 程序流程图是逐步求精的好工具

B. 图不可能任意转移控制,符合结构化原则

图都不易表达模块的层次结构 C. 判定表是一种通用的设计工具 D. 程序流程图和

【答案】B

【解析】程序流程图本质上不是逐步求精的好工具,它会使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构;判定表不是一种通用的设计工具,没有一种简单的方法使用它能同时清晰地表示顺序和循环等结构;程序流程图不易表示模块的层次结构,图则可以表示模块的层次结构。

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

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

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

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

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

【答案】B

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

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

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

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

7. 维护中用来指出修改的工作量、工作性质、优先权、修改的事后性质的文档是( )。

A. 软件需求说明

B. 软件修改报告

C. 软件问题报告

D. 测试分析报告

【答案】B

【解析】程序文档对提高程序的可阅读性有重要作用。为了维护程序,人们必须阅读和理解程序文档。在软件维护中使用软件修改报告来指出修改的工作量、工作性质、优先权和修改的事后性质。

8. 在软件维护的实施过程中,为了正确、有效地修改,需要经历几个步骤,其中重新验证程序分为( ), 保证修改后的程序的正确性。

A. 静态确认、计算机确认和维护后的验收

B. 动态确认、计算机确认和维护后的验收

C. 动态确认、计算机确认和维护后的存档

D. 静态确认、人工确认和维护后的检验

【答案】A

【解析】在软件维护的实施过程中,重新验证程序分为静态确认、计算机确认和维护后的验收,经过这三个步骤能正确、有效地修改程序,保证修改后程序的正确性。

9. 软件的可维护性是指纠正软件系统出现的错误和缺陷以及为满足新的要求进行修改、( )的容易程度。

A. 维护

B. 扩充与压缩

C. 调整

D. 再工程

【答案】B

【解析】软件可维护性的另一种定义即为软件可维护性是指纠正软件系统出现的错误和缺陷以及为满足新的要求进行修改、扩充或压缩的容易程度。

10.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。

A. 程序的内部逻辑

B. 程序的复杂结构

C. 使用说明书

D. 程序的功能

【答案】A

【解析】白盒测试是把测试对象看作一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。