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

2017年中国海洋大学信息科学与工程学院912数据结构和软件工程之软件工程导论考研强化模拟题

  摘要

一、选择题

1. 软件生存周期的( )工作和软件可维护性有密切的关系。

A. 编码阶段

B. 设计阶段

C. 测试阶段

D. 每个阶段

【答案】D

【解析】软件维护从软件发布开始,贯穿于软件生命周期的所有阶段,因此,软件的可维护性与软件生存周期的每个阶段都有密切关系。

2. 软件测试方法中的( )属于静态测试方法。

A. 黑盒法

B. 路径覆盖

C. 错误推测

D. 人工检测

【答案】D

【解析】软件测试从需要执行被测试软件的角度,可以分为静态测试和动态测试。静态测试可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。

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

A. 程序的可靠性

B. 适应新的硬件环境

C. 适应新的软件环境

D. 用户的需求改变

【答案】D

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

4. —组语句在程序中多处出现,为了节省内存空间,把这些语句放在一个模块中,该模块的内聚度是( ) 的。

A. 逻辑性

B. 瞬时性

C. 偶然性

D. 通信性

【答案】C

【解析】偶然内聚指一个模块内的各处理元素之间没有任何联系,这是最差的内聚情况。

5. 确认测试计划是在( )阶段制定的。

A. 可行性研究和计划

B. 需求分析

C. 概要设计

D. 详细设计

【答案】B

【解析】测试计划应该在需求分析阶段就开始制定和确认,并在设计阶段细化和完善,而不是等系统编码完成后才制订测试计划。

6. ( )是一种结构设计语言,它陈述系统模块是什么和它们如何结合在一起实现系统的功能,它表达的是软件系统结构设计的信息。

A.PDL

B.C 语言

C.

D. 模块化互连语言

【答案】D

【解析】过程设计语言(PDL ), 也称程序描述语言,又称为伪码。它是一种用于描述模块算法设计和处理细节的语言。C 语言是面向过程的高级程序设计语言;是面向对象的高级程序设计语言;模块化互连语言是一种结构设计语言,它表达了软件系统结构设计的信息。

7. 软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中基础的是( )。

A. 集成测试

B. 单元测试

C. 系统测试

D. 验收测试

【答案】B

【解析】软件测试一般可分为单元测试、集成测试、系统测试和回归测试四类,其中单元测试又称模块测试, 是针对软件设计的最小单位一程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错,是软件测试中最基础的环节。

8. 软件维护产生的副作用,是指( )。

A. 开发时的错误

B. 隐含的错误

C. 因修改软件而造成的错误

D. 运行时误操作

【答案】C

【解析】因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。

9. 结构化设计方法在软件开发中,用于( )。

A. 测试用例设计

B. 概要设计

C. 程序设计

D. 详细设计

【答案】B

【解析】结构化设计方法是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础发展起来的。它的基本思想是将软件设计成由相对独立且具有单一功能的模块组成的结构,可用于软件开发的概要设计。

10.软件详细设计的主要任务是确定每个模型的( )。

A. 算法和使用的数据结构

B. 外部接口

C. 功能

D. 编程

【答案】A

【解析】软件详细设计的任务包括四点:①为每个模块确定采用的算法;②确定每一模块使用的数据结构;③确定模块接口的细节;④为每一个模块设计出一组测试用例。其中主要的任务是设计每个模块的实现算法、所需的局部数据结构。

二、填空题

11.类通常有两种主要的结构关系,即_____关系和_____关系。

【答案】一般一具体结构;整体一部分结构

12.软件工程是用科学知识和技术原理来_____、_____、_____软件的一门学科。

【答案】定义;开发;维护