软件工程第二版答案

更新时间:2024-06-23 20:52:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

里面包含绝大部分的软件工程第二版中的课后习题答案 瞿中编

第一章仿真试题

1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( )。

A、详细计划 B、可行性分析 C、 运行阶段 D、 测试与排错

2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( )。

A、详细设计阶段 B、概要设计阶段 C、 需求分析阶段 D、 测试和运行阶段

3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( )。

A、 需求分析阶段 B、 详细设计阶段 C、 概要设计阶段 D、 可行性研究阶段 4、软件工程的出现主要是由于( )。

A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展

5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )

A、 硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、 开发人员的素质

6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( )

A、 相互排斥 B、 相互补充 C、 独立使用 D、 交替使用 7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( )

A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( ) A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法

9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( ) A、控制流 B、数据流 C、程序流 D、指令流 10、软件开发的结构化生命周期方法将软件生命周期划分成( )

A、 计划阶段、开发阶段、运行阶段 B、 计划阶段、编程阶段、测试阶段 C、 总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计 11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( ) A、 瀑布模型 B、 对象模型 C、 螺旋模型 D、 层次模型

12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( )

A、 分析阶段 B、 设计阶段 C、 编码阶段 D、 测试阶段

13、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结

合,并增加了(1),它建立在(2)的基础上,沿着螺线自内向外每旋转一圈,就得到(2)的一个新版本。 喷泉模型描述了(3)的开发模型,它体现了这种开发方法创建软件的过程所固有的(4)和(5)的特征。

(1) A、 系统工程 B、 风险分析 C、 设计评审 D、 进度控制 (2) A、 模块划分 B、 子程序分解 C、 设计; D、 原型

(3) A、 面向对象 B、 面向数据流 C、 面向数据结构 D、 面向事件驱动 (4) A、 归纳 B、推理 C、 迭代 D、 递归

(5) A、 开发各阶段之间无“间隙” B、 开发各阶段分界明显 C、 部分开发阶段分界明显 D、 开发过程不分段

答案:1.C 2.C 3.A 4.C 5.C 6.B 7.C 8.B 9.B 10.A 11.A 12.C 13.⑴B⑵D⑶A⑷D⑸A

第二章仿真试题

1、在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( )

A、 经济可行性 B、 技术可行性 C、 操作可行性 D、 法律可行性

2、在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是( )

A、 工作阶段间的等待时间 B、 生产原型的复杂性 C、 参与人员所需的工作站数 D、 参与人员之间的通信困难

3、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( ) A、 组织与管理 B、 分析与估算 C、 设计与测试 D、 规划与调度

答案1.B 2.D 3.D

第三章仿真试题

1.在软件需求规范中,下述哪些要求可以归类为过程要求( ) A. 执行要求 B. 效率要求 C. 可靠性要求 D. 可移植性要求

2.在软件需求分析和设计过程中,其分析与设计对象可归结成两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该( )

A. 先数据后程序 B. 与顺序无关 C. 先程序后数据 D. 可同时进行 3.在下面的叙述中哪一个不是软件需求分析的任务( )

A. 问题分解 B. 可靠性与安全性要求 C. 结构化程序设计 D. 确定逻辑模型 4.进行需求分析可使用多种工具,但( )是不适用的。

A. 数据流图(DFD) B. 判定表 C. PAD图 D. 数据字典

5.在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是( )

A. 要让软件做什么 B. 要给该软件提供哪些信息 C. 要求软件工作效率怎样 D. 要让软件具有何种结构

6.软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及( )

A. 软件的总结 B. 需求分析评审 C. 阶段性报告 D. 以上答案都不正确 7.各种需求分析方法都有它们共同适用的( )

A. 说明方法 B. 描述方式 C. 准则 D. 基本原则

8.数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是( )

A. 输入.输出.外部实体和加工 B. 变换.加工.数据流和存储 C. 加工.数据流.数据存储和外部实体 D. 变换.数据存储.加工和数据流

9.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是( ) A. 逻辑判断 B. 层次分解 C. 操作条目 D. 组合条件 10.试判断下列叙述中,哪 个(些)是正确的( ) a.软件系统中所有的信息流都可以认为是事务流 b.软件系统中所有的信息流都可以认为是变换流 c.事务分析和变换分析的设计步骤是基本相似的 A. a B. b C. c D. b和c

11.决定大型程序模块组织的基本原则的两种交替设计策略为( ) A. 面向用户的原型化和面向程序员的原型化 B. 物理模型与逻辑模型 C. 数据字典和数据流 D. 数据分解和算法分解

12.在程序的描述与分析中,用以指明数据来源.数据流向和数据处理的辅助图形是( ) A. 瀑布模型图 B. 数据流图 C. 数据结构图 D. 业务流

13.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的( ) a.自顶向下 b.自底向上 c.分层绘制 d.逐步求精

A. 全是 B. a,c和d C. b,c和d D. a和c

14.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是( ) a.结构化语言 b.判定树 c.判定表

A. b和c B. a,b和c C. a和c D. a和b

15.加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心( ) A. 加工顺序 B. 加工逻辑 C. 执行频率 D. 激发条件

16.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( ) A. 数据流图 B. 数据字典 C. 结构化语言 D. 判定表与判定树

17.在结构化分析方法中,用状态--迁移图表达系统或对象的行为。在状态--迁移图中,由一个状态和一个事件所决定的下一个状态可能会有( )个 A. 1 B. 2 C. 多个 D. 不确定

18.在软件开发过程中常用图作为描述工具。DFD就是面向(1)分析方法的描述工具。在一套分层DFD中,如果某一张图中有N个加工(process),则这张图允许有(2)张子图。在一张DFD图中,任意两个加工之间(3)。在画分层DFD时,应注意保持(4)之间的平衡。DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为(5)两大类。

(1)A. 数据结构 B. 数据流 C. 对象 D. 构件(component) (2)A. 0 B. 1 C. 1~N D. 0~N

(3)A. 有且仅有一条数据流 B. 至少有一条数据流 C. 可以有0或多条名字互不相同的数据流 D. 可以有0或多条数据流,但允许其中有若干条名字相同的数据流

(4)A. 父图与子图 B. 同一父图的所有子图 C. 不同父图的所有子图 D. 同一子图的所有直接父图

(5)A. 控制流和变换流 B.变换流和事务流 C. 事务流和事件流 D.事件流和控制流

19.软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的内容( ) a.数据描述 b.功能描述 c.模块描述 d.性能描述

A. b B. c和d C. a,b和c D. a,b和d 20.软件需求规格说明书的内容不应该包括( )

A. 对重要功能的描述 B. 对算法的详细过程描述 C. 对数据的要求 D. 软件的性能

21.软件需求说明书在软件开发中具有重要作用,但其作用不应该包括( ) A. 软件设计的依据 B. 用户和开发人员对软件要做什么的共同理解 C. 软件验收的依据 D. 软件可行性分析依据

答案:1.A 2.A 3.C 4.C 5.A 6.B 7.D 8.C 9.D 10.C 11.D 12.B 13.B 14.A 15.B 16.A 17.C 18.①B ②D ③C ④A⑤ B 19.D 20.B 21.D

第四章仿真试题

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

A、 全局和局部 B、 抽象和具体 C、 总体和层次 D、 功能和结构 2、在面向数据流的软件设计方法中,一般将信息流分为( )

A、 变换流和事务流 B、 变换流和控制流 C、 事务流和控制流 D、 数据流和控制流 3、软件设计中一般将用到图形工具,下列哪种(些)可用作设计的图形工具( ) a.结构图 b.实体联系图 c.IPO图 d.层次图

A、 a和b B、 c和d C、 a,c,d D、 全部

4、软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指( )

A、 模块间的关系 B、 模块的操作细节 C、 软件层次结构 D、 软件开发过程 5.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( )

A、 抽象和信息隐蔽 B、 局部化和封装化 C、 内聚性和耦合性D、 激活机制和控制方法 6.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( )

A、 模块间的联系程度 B、 模块的功能强度 C、 信息隐蔽程度 D、 接口的复杂程度 7.软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述( ) A、 调用关系 B、 从属关系 C、 嵌套关系 D、 主次关系

8.软件设计中划分模块的一个准则是(1)。两个模块之间的耦合方式中,(2)耦合的耦合度最高,(3)耦合的耦合度最低。一个模块内部的内聚种类中(4)内聚的内聚度最高,(5)内聚的内聚度最低。

(1) A、 低内聚低耦合 B、 低内聚高耦合 C、 高内聚低耦合 D、 高内聚高耦合 (2) A、 数据 B、 非直接 C、 控制 D、 内容 (3) A、 数据 B、 非直接 C、 控制 D、 内容 (4) A、 偶然 B、 逻辑 C、 功能 D、 过程 (5) A、 偶然 B、 逻辑 C、 功能 D、 过程

答案:1.A 2.A 3.C 4.B 5.C 6.B 7.D 8.CDBDA

第五章仿真试题

1、20世纪60年代后期,由Dijkstra提出的,用来增加程序设计的效率和质量的方法是( ) A、 模块化程序设计 B、 并行化程序设计 C、 标准化程序设计 D、 结构化程序设计

2、PAD图的控制执行流程为( )

A、自下而下、从左到右 B、自上而下、循环执行 C、自上而下、从左到右 D、都不对 3、一个程序如果把它作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这是一种( )

A、结构程序 B、组合的过程 C、自顶向下设计 D、分解过程 4、软件详细设计主要采用的方法是( )

A、结构程序设计 B、模型设计 C、结构化设计 D、流程图设计 5、指出PDL是下列哪种语言?

A、高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 6、在下述情况下,从供选择的答案中,选出合适的( )描述工具。当算法中需要用一个模块去计算多种条件的复杂组合,并根据这些条件完成适当的功能。

A、程序流程图形 B、NS图 C、PDA图或PDL D、判定表 7、面向数据流的设计方法把( )映射成软件结构。

A、数据流 B、模块化 C、控制结构 D、信息流 8、Jackson方法根据( )来导出程序结构。

A、数据结构B、数据间的控制结构C、数据流图D、IPO图 9、Jackson方法主要适用于规模适中的( )系统的开发。 A、数据处理B、文字处理C、实时控制D、科学计算 10、详细设计常用的三种工具是( ) A、文档、表格、流程 B、图形、表格、语言 C、数据库、语言、图形 D、文档、图形、表格

答案:1.D 2.C 3.B 4.C 5.B 6.D 7.C 8.A 9.A 10.B

第六章仿真试题

1、最早用于科学计算的程序设计语言是( )

A、 PROLOG语言 B、 SMALLTALK语言 C、 FORTRAN语言 D、 COBOL语言 2、下列哪个语言提供指针且不存在布尔类型,并且它广泛应用于系统程序设计语言( )

A、 PASCAL B、 DEPHI C、 ADA D、 C

3、适合在互联网上编写程序可供不同平台上运行的面向对象程序设计语言是( ) A、 ALGOL B、 JAVA C、 SMALLTALK D、 LISP

4、在解决人工智能上使用最多的有非常强的表处理功能的函数程序设计语言是( ) A、 PROLOG B、 SNOBOL C、 COBOL D、 LISP

5、20世纪50年代以来,出现了许多不同的程序设计语言,请回答下列有关计算机语言的问题:

(1)下列语言中哪个语言是低级语言( )

A、 PASCAL B、 VISUAL BASIC C、 C++ D、 汇编语言 (2)下列语言中哪个语言是高级语言( )

A、 机器 B、 汇编语言 C、 FORTRAND、 OS/2 (3)( )语言是描述性(说明性)语言

A、 PASCAL B、 C C、 FORTRAN D、 SQL (4)( )是面向对象的语言

A、 FORTRAN B、 SQL C、 SMALLTALK D、 COBOL 6、在商业系统的开发中应用最广的语言是( )

A、 PROLOG语言 B、 SMALLTALK语言 C、 FORTRAN语言 D、 COBOL语言 7、请选择有关高级语言和低级语言特点和能力的描述。

(1)程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序,具有如下哪种特点( ) A、 运行效率低,开发效率低 B、 运行效率低,开发效率高 C、 运行效率高,开发效率低 D、 运行效率高,开发效率高

(2)尽管高级语言比低级语言更容易理解,并且易于对高级语言编写的程序进行维护和升级,但在( )的场合,还经常全部或部分地使用低级语言。

A、 对时间和空间有严格要求B、 并行处理 C、 事件驱动 D、 电子商务 (3)在低级语言中,汇编语言与机器语言十分接近,汇编语言使用了( )来提高程序的可读性。 A、 简单算术表达式 B、 助记符号 C、 伪指令 D、 定义存储语句 (4)高级语言有很多种类,PROLOG是一种( )型语言。 A、 命令 B、 交互 C、 函数 D、 逻辑

(5)PROLOG语言的特点是,它具有很强的( )能力。

A、 控制描述 B、 输入/输出 C、 函数定义 D、 逻辑推理

8、软件语言是指用于书写计算机软件的语言。它主要包括需求定义语言、功能性语言、设计性语言、程序设计语言和文档语言等,请回答下列有关程序设计语言的问题。 (1)( )是一种典型的设计性语言,常用于详细设计。 A、 PSL B、 PDL C、 EIFFEL D、 MODULA

(2)[1]语言是一种功能性语言,它是以[2]理论为基础的一种规约语言。 [1]问题的选项:

A、 PROLOG B、 OBJ C、 JAVA D、 Z [2]问题的选项:

A、 一阶谓词演算 B、λ演算 C、 异调代数 D、 范畴论

(3)程序设计语言用于书写计算机程序,它包括语法、语义和( )三个方面。 A、 语境 B、 语调 C、 语用 D、 词语

(4)程序设计语言又可分为过程式语言和非过程式语言,如( )就是典型的非过程式语言。 A、 PROLOG和RPG B、 JAVA和C++ C、 LISP和ADA D、 JAVA和ADA 9、在工业自动化控制中,最常用的高级语言是( ) A、 COBOL B、 PROLOG C、 PL/I D、 LISP 10、专家系统中,最常见的高级语言是( )

A、 COBOL B、 PROLOG C、 PL/I D、 SMALLTALK 11、请回答下面有关程序设计的问题。人们在使用高级程序设计语言编程时,首先可通过编译程序发现源程序中的全部(1)及部分(2),然后可采用(3)来发现程序中的运行错误和采用(4)来确定错误的位置,(5)是泛指用户在验收中发现的结果与需求不符的错误。 (1)、(2)、(5)的可选答案:

A、 符号错误 B、 逻辑错误 C、 语法错误 D、 通路错误

E、 语义错误 F、 溢出错误 G、 设计错误 (3)、(4)的可选答案:

A、 诊断 B、 测试 C、 校验 D、 排错 E、 普查 F、 试探 12、下面的叙述哪些是正确的( )

(1)在软件开发过程中,编程作业的代价最高。

(2)良好的程序设计风格应以缩小程序占用的存储空间和提高程序的运行速度为原则。 (3)为了提高程序的运行速度,有时采用以存储空间换取运行速度的方法。 (4)对同一算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。 (5)COBOL是一种非过程型语言。

(6)LISP是一种逻辑型程序设计语言。

A、 (1)、(3)、(5) B、 (2)、(3)、(4) C、 (3) D、 (4)、(6)

13、在高级语言中,子程序调用语句中的(1)在个数、类型、顺序方面都要与子程序说明中给出的(2)相一致。用高级语言编写的程序经编译后产生的程序叫(3)。用不同语言编写的程序产生(3)后,可用(4)连接在一起生成机器可执行的程序。在机器里真正执行的是(5)。供选择的答案:

(1)、(2)的选择答案:

A、 实际参数 B、 条件参数 C、 形式参数 D、 局部参数 E、 全局参数 (3)、(4)、(5)的选择答案:

A、 源程序幕 B、 目标程序 C、 函数D、 过程 E、 机器指令代码 F、 模块 G、 连接程序 H、 程序库

14、 计算机的低级程序语言有(1),计算机的高级程序语言有(2),第四代程序设计语言(4GL)有 (3)。称一种语言为低级程序语言是由于它(4),而高级程序语言(5)。 供选择的答案:

(1)A、 BASIC B、 PASCAL C、 汇编语D、 SQL

(2)A、 WPS B、 WINDOWS C、 DBMS D、 PASCAL (3)A、 C++ B、 SQL C、 VISUAL BASIC D、 LOTUS

(4)A、 离机器特性近 B、 离自然语言近 C、 编程难度低 D、 通用性强

(5)A、 不必经过解释能直接执行 B、 必须经过解释才能执行 C、 必须经过编译才能执行 D、 必须经过编译或解释才能执行

15、请回答下列有关C++语言的问题。在C++语言中引进了类的概念。类的定义包括类名、

类的说明和类的实现。(1)是类的外部接口,(2)是类的内部表示,类具有(3)、(4)和(5)。有了(3)可以隐藏类对象内部实现的复杂细节,有效地保护内部所有数据不受外部破坏;(4)增强了类的共享机制,实现了软件的可重用性,简化系统的开发工作;(5)可实现函数重载和运算符重载。

(1)、(2)供选择的答案:

A、 类的引用 B、 类的说明 C、 类的实现 D、 类的标识

E、 类的构造 F、 类的成员说明 (3)、(4)、(5)供选择的答案:

A、 开放性 B、 封装性 C、 兼容性 D、 继承性 E、 多态性 F、 可扩充性 16、各种程序设计语言中都有多种数据类型,纯量数据类型和结构数据类型是两大基本数据类型。例如,(1)等都是前者,而(2)都是后者。子程序通常分为两类:(3)和(4),前者是命令的抽象,后者是为了求值。一些重要的程序语言(如 C和PASCAL)允许过程的递归调用。通常用(5)来实现递归调用中的存储分配。 (1)、(2)供选择的答案:

A、 双精度型、枚举和数组 B、 数组、记录和联合 C、 指针、数组和记录 D、 实型、布尔型和指针 E、 复型、指针和记录 F、 实型、整型和联合 (3)、(4)供选择的答案:

A、 标准子程序 B、 进程

C、 过程 D、 用户定义子程序

E、 函数 F、 分程序 G、 模块 (5)供选择的答案:

A、 栈 B、 堆 C、 数组 D、 链表

17、程序语言的语言处理程序是一种(1)。(2)是两类程序语言处理程序,它们的主要区别之一在于 (3)。常用的中间代码表示有前缀表示、后缀表示(逆波兰表示)、多元组等,它们都比中缀表示更有利于机器的机械性处理。算术表达式为:x+a*(y-b)-z/f 其中的算术运算符遵守先乘除后加减的运算规则。则上述表达式的前缀表示为(4),后缀表示为(5)。 (1)供选择的答案:

A、 系统软件 B、 应用软件 C、 实时系统 D、 分布式系统 (2)供选择的答案:

A、 高级语言程序和低级语言程序 B、 解释程序和编译程序 C、 编译程序和操作系统 D、 系统程序和应用程序 (3)供选择的答案:

A、 单用户与多用户的差别 B、 对用户程序的查错能力 C、 机器执行的效率 D、 是否生成目标程序

(4)、(5)供选择的答案;

A、 +-x*a-yb/zf B、 - +x*a-yb/zf C、 - +a*x-ybz/f D、 xayb-*+zf/- E、 abxy+*-zf/- F、 xayb-*+z/f-

答案:1.C 2.D 3.B 4.D 5.D C D C 6.D 7.C A B D D 8.B D A C A 9.C 10.B 11.A C B A G 12.C 13.A C B G E 14.C D B A D 15.B C B D E 16.D B C E A 17.A B D B F

第七章仿真试题

1.黑箱测试是从_____观点的测试,白箱测试是从_____观点的测试。( )

A.开发人员、管理人员 B.用户、管理人员 C.用户、开发人员 D.开发人员、用户 2.软件测试可能发现软件中的_____,但不能证明软件____。( )

A.所有错误、没有错误 B.错误、没有错误 C.逻辑错误、没有错误 D.设计错误、没有错误 3.软件测试的目的是?( )

A.证明软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误

4.软件测试是软件质量保证的主要手段之一,测试的费用已超过( )的30%以上,因此提高测试的有效性非常重要。

A.软件开发费用 B.软件维护费用 C.软件开发和维护费用 D.软件研制费用 5.一般说来,投入运行的软件系统中有错误( )。

A.不是不可以理解的 B.是不能容忍的 C.是要求退货的理由 D.是必然的

6.为了把握软件开发各个环节的正确性和协调性,人们需要进行A 和B 工作。A 的目的是想证实在一给定的外部环境中软件的逻辑正确性,它包括C 和D 。B 则试图证明在软件生存期各个阶段,以及阶段间的逻辑 E 、 F 和正确性。 供选择的答案

A和B: ①操作 ②确认 ③测试 ④验证 ⑤调试

C和D: ①用户的确认 ②需求规格说明的确认③程序的确认 ④测试的确认 E和F: ①可靠性 ②独立性 ③协调性 ④完备性 ⑤扩充性 7.为了提高测试效率,应该( )

A.随机地选取测试数据 B.取一切可能的数据作为测试数据

C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据 8.使用白箱测试方法时确定测试数据应根据( )和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能 9.白箱测试方法重视( )的度量。

A.测试覆盖率 B.测试数据多少 C.测试费用 D.测试周期 10.黑箱测试法根据( )设计测试用例?

A.程序调用规则 B.模块间的逻辑关系 C.软件要完成的功能 D.数据结构

11.在软件工程中,白箱测试方法可用于测试程序的内部结构。此方法将程序可作为( ) A.路径的集合 B.循环的集合 C.目标的集合 D.地址的集合 12.在软件测试中,逻辑覆盖标准主要用于( )

A.黑箱测试方法 B.白箱测试方法 C.灰箱测试方法 D.软件验收方法 13.下面的逻辑测试覆盖中,测试覆盖最弱的是( )

A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.条件及判定覆盖 14.软件的集成测试工作最好由( )承担,以提高集成测试的效果。 A.该软件的设计人员 B.该软件开发组的负责人

C.该软件的编程人员 D.不属于该软件开发组的软件设计人员 15.集成测试的主要方法有两个,一个是_____?一个是_____?( )

A.白箱测试方法、黑箱测试方法 B.渐增式测试方法、非渐增式测试方法

C.等价分类方法、边缘值分析方法 D.因果图方法、错误推测方法 16.验收测试的任务是验证软件的( )

A.完整性 B.正确性 C.有效性 D.移植性 17.检查软件产品是否符合需求定义的过程为( )

A.确认测试 B.集成测试 C.验证测试 D.验收测试 18.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中单元测试是在( )阶段完成的?

A.可行性研究和计划 B.需求分析 C.编码阶段 D.详细设计 19.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在( )阶段完成的?

A.可行性研究和计划 B.需求分析 C.概要设计 D.详细设计

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

A.系统分析 B.安装测试 C.验收测试 D.单元测试

21.软件测试通常可分为单元测试、集成测试、确认测试和系统测试,其中确认测试主要用于发现(A)阶段的错误。在集成测试时,通常可采用自顶向下增值式集成和自底向上增值式集成。在自底向上增值式集成时,对每个被集成的模块(B)。对那些为众多用户开发的软件(如操作系统、编译程序),通常还要进行α测试和β测试,以发现可能只有最终用户才能发现的错误,其中,α测试是指最终用户在(C)的情况下所进行的测试,β测试是指最终用户在(D)的情况下所进行的测试。在软件维护阶段,当修改软件后,除了进行常规的测试外,还应进行(E)测试。 供选择的答案

A: ①需求分析 ②概要设计 ③详细设计 ④编码 B: ①不必设计驱动模块和桩(stub)模块 ②不必设计驱动模块,但要设计桩模块 ③要设计驱动模块,但不必设计桩模块 ④要设计驱动模块和桩模块

C和D: ①开发环境下,开发人员不在场 ②开发环境下,开发人员在场

③用户的实际使用环境下,开发人员不在场 ④用户的实际使用环境下,开发人员在场 E: ①恢复 ②强度 ③安装 ④回归

22.集成测试也叫做(A)和(B)。通常,在(C)的基础上,将所有模块按照设计要求组装成系统。子系统的集成测试称为(D),它所做的工作是要找出子系统和系统需求规格说明之间的(E)。需要考虑的问题是在各个模块连接起来的时候,穿越模块接口的数据是否会(F);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G)组合起来,能否达到预期要求的(H);(I)是否有问题;单个模块的误差积累起来是否会放大。 供选择的答案

A~D: ①单元测试 ②部件测试 ③组装测试 ④系统测试 ⑤确认测试 ⑥联合测试 E~I: ①子功能 ②丢失 ③父功能

④局部数据结构 ⑤全局数据结构 ⑥不一致 ⑦一致

23.在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中(1)是最强的覆盖标准,为了对图4-5所示的程序段进行覆盖测试,必须适当地选取测试

数据集,如X,Y是两个变量,可供选择的测试数据集有(1)、(2)、(3)、(4)四组(表4-3),则实现判定覆盖至少采用的测试数据集是(2),实现条件覆盖至少采用的测试数据集是(3),实现路径覆盖至少应采用的测试数据集是(4)或(5)。

供选择的答案

(1): A.语句覆盖 B.条件覆盖 C.判定覆盖 D.路径覆盖 (2)~(5): A.①和② B.②和③ C.③和④ D.①和④ E.①、②和③ F.②、③和④ G.①、③和④ H.①、②和④

24.在软件测试中,“高产”的测试是指?( )

A.用适量的测试用例说明被测试程序正确无误。 B.用适量的测试用例说明被测试程序符合相应要求。 C.用少量的测试用例发现被测试程序中尽可能多的错误。 D.用少量的测试用例纠正被测试程序尽可能多的错误。

25.在设计测试用例时,(A)是用得最多的一种黑箱测试方法。在黑箱测试方法中,等价类划分方法设计测试用例的步骤是

①根据输入条件把数目极多的输入数据划分成若干个有效等价类和若干个无效等价类。 ②设计一个测试用例,使其覆盖(B)尚未被覆盖的有效等价类,重复这一步,直至所有有效等价类均被覆盖。

③设计一个测试用例,使其覆盖(C)尚未被覆盖的无效等价类,重复这一步,直至所有无效等价类均被覆盖。

因果图方法是根据(D)之间的因果关系来设计测试用例的。 在实际应用中,一旦纠正了程序中的错误后,还应选择部分或全部原先已测试过的测试用例,

对修改后的程序重新测试,这种测试称为(E)。 供选择的答案

A : ①等价类划分 ②边值分析 ③因果图 ④判定表 B、C: ①1WH ②7个左右 ③一半 ④尽可能少的 ⑤尽可能多的 ⑥全部

D : ①输入与输出 ②设计与实现 ③条件与结果 ④主程序与子程序 E : ①验收测试 ②强试测试 ③系统测试 ④回归测试

26.如图4-6所示的程序有4条不同的路径,分别表示为L1(a->c->e)、L2(a->b->d)、L3(a->b->e)和L4(a->c->d),或者简写为ace、abd、abe、及acd。

由于覆盖测试的目标不同、逻辑覆盖方法可以分为语句覆盖、判定覆盖、条件覆盖、判定—条件覆盖、条件组合覆盖和路径覆盖。

从备选的答案中选择适当的测试用例与之匹配。(A)属于语句覆盖; (B)、(C)属于判定覆盖;(D)、(E)属于条件覆盖; (F)、(G)属于判定—条件覆盖;(H)属于条件组合覆盖;(I)属于路径覆盖。

供选择的答案

A~I:①[(2,0,4),(2,0,3)]覆盖ace [(1,1,1),(1,1,1)]覆盖abd ②[(1,0,3),(1,0,4)]覆盖abe [(2,1,1),(2,1,2)]覆盖abe ③[(2,0,4),(2,0,3)]覆盖ace ④[(2,1,1),(2,1,2)]覆盖abe [(3,0,3),(3,1,1)]覆盖acd ⑤[(2,0,4),(2,0,3)]覆盖ace [(1,0,1),(1,0,1)]覆盖abd [(2,1,1),(2,1,2)]覆盖abe ⑥[(2,0,4),(2,0,3)]覆盖ace [(1,1,1),(1,1,1)]覆盖abd [(1,1,2),(1,1,3)]覆盖abe [(3,0,3),(3,0,1)]覆盖acd ⑦[(2,0,4),(2,0,3)]覆盖ace [(1,1,1),(1,1,1)]覆盖abd [(1,0,3),(1,0,4)]覆盖abe [(2,1,1),(2,1,2)]覆盖abe

其中B、C的答案可以互换;D、E的答案可以互换;F、G的答案可以互换。

答案:1.C 2.B 3.D 4.A 5.A 6.A.②B.④C.②D.③E.③F.④ 7.D 8.A 9.A 10.C 11.A 12.B 13.C 14.D 15.B 16.C 17.A 18.C 19.C 20.D 21.A.①B.③C.②D.③E.④ 22.A.③B.⑥C.①D.②E.⑥F.②G.①H.③I.⑤ 23.⑴D ⑵~⑸A.D.E.H 24.C 25.A.①B.⑤C.①D.③E.④ 26.A.③B.①C.④D.②E.⑤F.①G.⑤H.⑦I.⑥

第八章仿真试题

1.软件生命周期的最后的一个阶段是( ) A.书写软件文档 B.软件维护

C.稳定性测试 D.书写详细用户说明 2.软件维护工作的最主要部分是( )

A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 3.在软件维护工作中进行的最少的部分是( ) A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护

4.软件维护工作中大部分的工作是由于( )而引起的。 A.程序的可靠性 B.适应新的硬件环境 C.适应新的软件环境 D.用户的需求改变

5.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( )

A.改正性维护 B.适应性维护 C.完善性维护 D.预防性维护

6.软件的可维护性变量可分解为对多种因素的度量,下述各种因素( )是可维护度量的内容。 (1)可测试性 (2)可理解性 (3)可修改性 (4)可复用性

A.全部 B.(1) C.(1)、(2)和(3) D.(1)、(2)

7.软件维护是保证软件正常,有效运行的重要手段,而软件的下述特性: (1)可测试性 (2)可理解性 (3)可修改性 (4)可移植性 哪个(些)有利于软件维护?( )

A.只有(1) B.(2)和(3) C.(1)、(2)和(3) D.都有利

8.在软件生命周期中,( )阶段所占工作量最大,约占70%。 A.分析 B.维护 C.编码 D.测试

9.软件维护大体上可分为四种类型,下列哪一个不属于其中?( ) A.校正性 B.可靠性 C.适应性 D.完善性 10.软件维护指的是( )

A.对软件的改进、适应和完善 B.维护正常运行

C.配置新软件 D.软件开发的一个阶段

11.软件的可维护性度量可分解为对多种因素的度量,下述各种因素中,哪些是可维护性度量的内容?( )

(1)可测试性 (2)可理解性

(3)可修改性 (4)可复用性

A.(1)、(2)、(3)、(4) B.(1)

C.(1)、(2)、(3) D.(1)、(2)

12.软件工程学是指导计算机软件开发和( )的工程学科。 A.软件维护 B.软件设计 C.软件应用 D.软件理论

13.下面哪一个不是人们常用的评价软件质量的四个因素之一?( ) A.可维护性 B.可靠性 C.可理解性 D.易用性

14.软件系统的可理解性的提高,会导致软件系统( )的提高? A.可维护性 B.可靠性 C.可理解性 D.可使用性

15.软件产品质量是生产者和用户都十分关心的问题,质量管理只看到产品的质量,近年来质量管理向( )发展,重要的基本假设是过程的质量直接影响产品的质量。 A.过程质量的控制 B.过程的改进 C.产品的改进 D.技术的革新

16.国际标准化组织和国际电工委员会发布的关于软件质量的标准中规定了( )质量特性及相关的21个质量子特性。

A.5个 B.6个 C.7个 D.8个

17.ISO/IEC规定的6个质量特性包括功能性、可靠性、可使用性、效率、( )和可移植性等。 A.可重用性 B.组件特性 C.可维护性 D.可测试性

18.ISO/IEC9126-1991规定的6个质量特性21个质量子特性,其中可测试性属于( ) A.可使用性 B.效率 C.可维护性 D.可移植性

19.通常把软件交付使用后做的变更称为维护,软件投入使用后的另一项工作是软件再工程针对这类软件实施的软件工程活动,主要是对其重新实现,使其具有更好的( ),包括软件重构、重写文档等。

A.功能性 B.可靠性 C.可使用性 D.可维护性

20.软件生存期( )阶段的工作都与软件可维护性有密切的关系。

A.编码阶段 B.设计阶段 C.测试阶段 D.每个阶段

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

A.维护 B.扩充与压缩 C.调整 D.再工程

22.目前广泛使用7个特性来衡量软件的可维护性,下列哪些特性不属于衡量软件可维护性的范围?( )

A.可移植性、可使用性 B.可靠性、效率

C.一致性、数据无关性 D.可理解性、可测试性

23.目前广泛使用7个特性来衡量软件的可维护性,可测试性,可靠性和可理解性主要在( )侧重应用。

A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护

24.对于软件产品来说,有4个方面影响着产品的质量,即开发技术、过程质量、人员素质及( )等条件。

A.风险控制 B.项目管理

C.配置管理 D.成本、时间和进度

25.重视软件过程质量的控制,其部分原因是,相对于产品质量的控制来说,过程质量的控制是先期的、主动的、( ),而产品质量的控制是事后的、被动的、个别的。 A.整体的 B.系统的 C.部分的 D.可预测的

26.McCall提出了表明软件质量的11个质量特性。它们是正确性、可靠性、可使用性、完整性、( )可移植性、可复用性、效率、可测试性、互联性。

A.模块独立性、安全性 B.文档完备性、灵活性 C.可维护性、安全性 D.可维护性、灵活性

27.McCall提出的软件质量的11个质量特性分为三组,下面哪一个不属于这三组( ) A.产品需求 B.产品运行 C.产品修正 D.产品转移

28.McCall提出的软件质量的11个质量特性分为三组,属于产品修正特性的有( ) A.可移植性、可复用性和互连性 B.可维护性、可移植性、可复用性 C.可维护性、可测试性及灵活性 D.正确性、可使用性、可测试性

29.在软件维护的实施过程中,为了正确、有效地修改,需要经历以下三个步骤:分析和理解程序、修改程序和( )

A.建立目标程序 B.重新验证程序 C.验收程序 D.书写维护文档

30.在软件维护的实施过程中,为了正确、有效地修改,需要经历几个步骤,下面哪一个是决定维护成败和质量的关键?( )

A.分析和理解程序 B.书写维护文档 C.修改程序 D.重新验证程序

31.在软件维护的实施过程中,为了正确、有效地修改,需要经历几个步骤,其中重新验证程序分为( ),保证修改后的程序的正确性。 A.静态确认、计算机确认和维护后的验收 B.动态确认、计算机确认和维护后的验收 C.动态确认、计算机维护和维护后的存档 D.静态确认、人工确认和维护后的检验

32.软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度是指软件的( )

A.兼容性 B.可移植性 C.容错性 D.可接近性 33.软件在需要它投入使用时能实现其指定的功能的概率是指( ) A.可靠性 B.可接近性 C.可使用性 D.稳定性

34.软件使不同的系统约束条件和用户需求得到满足的容易程度是指( ) A.兼容性 B.可移植性 C.容错性 D.可接近性

35.在规定的条件下和规定的一段时间内,实现所指定的功能的概率是指( ) A.可使用性 B.可接近性 C.可靠性 D.稳定性

36.尽管有不合法的输入,软件仍能继续正常工作的能力是指( )

A.只有a B.a和b C.全部 D.a和c

21.软件开发的结构化方法中,常应用数据字典技术,其中数据加工是其组成内容之一,下述哪个(些)方法是常采用编写加工说明的方法?( ) a.结构化语言 b.判定树

c.判定表

A.只有a B.只有b C.b和c D.全部

22.系统/软件开发的原型化方法是一种有效的开发方法,下述基本环节中哪一个是原型形成以后才应实施的内容?( )

A.识别基本需求 B.开发工作模型 C.修正和改进模型 D.进行细部说明 23.对软件的过分分解,必然导致( )

A.模块的独立性变差 B.接口的复杂程度增加 C.软件开发的总工作量增加 D.A.、B.、C.都对

答案:1.A 2.A 3.D 4.B 5.D 6.ACDAA 7.B 8.B 9.B 10.A 12.A 1.D 2.B 3.C 4.A.③B.④C.③D.③E.④ 5.D 6.B 7A.③B.①C.④D.③E.① 8.C 9.A.③B.①C.②D.①E.② 10.D 11.D 12.B 13.B 14.C 15.D 16.A 17.A 18.A 19.B 20.D 21.D 22.D 23.D

第十章仿真试题

1.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。 A、Booch方法 B、UML语言 C、OMT方法 D、Coad方法

2、一个面向对象系统的体系结构通过它的()关系确定。 A、类与对象 B、成分对象和对象 C、过程和对象 D、类与对象

3、功能模型中所有的()往往形成一个层次结构。在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。 A、数据流图 B、概念模型图 C、状态迁移图 D、事件追踪图 4、()应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。

A、论域分析 B、高层分析 C、实例的建立 D、类的开发

5、通过执行对象的操作改变对象的属性,但它必须通过()的传递。 A、接口 B、消息 C、信息 D、操作

6、所有的对象可以成为各种对象类,每个对象类都定义了一组() A、说明 B、方法 C、过程 D、类型

7、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是 A、设计稳定 B、变换分析 C、事务分析 D、模块独立性

8、每个对象可用它自己的一组属性和它可以执行的一组()来表征。 A、行为 B、功能 C、操作 D、数据

9、面向对象的主要特征除对象唯一性、封装、继承外,还有() A、多态性 B、完整性 C、可移植性 D、兼容 10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有()

A、 隐藏复杂性 B、 信息隐藏 C、 即存类的重用 D、 类的开发

11、应用执行对象的操作可以改变该对象的() A、属性 B、功能 C、行为 D、数据 12、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父亲的全部描述(数据和操作) A、传递性 B、继承性 C、复用性 D、并行性

13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是() A、数据流图 B、状态图 C、系统结构图 D、时序图

答案:1.B 2.B 3.A 4.A 5.B 6.B 7.A 8.C 9.A 10.B 11.A 12.B 13.B

第十一章仿真试题

1、人们常用的评价软件质量的4个因素是( ) A.可维护性、可靠性、健壮性、效率 B.可维护性、可靠性、可理解性、效率 C.可维护性、可靠性、完整性、效率 D.可维护性、可靠性、移植性、效率

2、软件可移植性是用来衡量软件的( )重要尺度之一。 A.通用性 B.效率 C.质量 D.人机界面

3、为了提高软件的可移植性,应注意提高软件的( ) A.使用的方便性 B.简洁性 C.可靠性 D.设备独立性 4、为了提高软件的可移植性,应注意提高软件的( ) A.优化算法 B.专用设备

C.表格驱动方式 D.树形文件目录 5、为了提高软件的可移植性,应注意提高软件的( )

A.有完备的文档 B.选择好的宿主计算机 C.减少输入输出次数 D.选择好的操作系统 6、使用( )语言开发的系统软件具有较好的可移植性 A.COBOL B.APL C.C D.PL/I

7、在软件开发中必须采取有力的措施以确保软件的质量,这些措施至少包括( ) (1)在软件开发初期制定质量保证计划,并在开发中坚持执行。 (2)开发工作严格按阶段进行,文档工作应在开发完成后集中进行。 (3)严格执行阶段评审。

(4)要求用户参与全部开发过程以监督开发质量。

(5)开发前选定或制定开发标准或开发规范并遵照执行。 (6)争取足够的开发经费和开发人力的支持。 A.(1)(3)(5) B.(1)(2)(4) C.(1)(2)(3)(4)(5)(6) D.(1)(3)(4)(5)

8、软件的易维护性是指理解、改正、改进软件的难易度。通常影响软件易维护性的因素有易理解性、易修改性和(A) 。在软件的开发过程中往往采取各种措施来提高软件的易维护性。如采用(B)有助于提高软件的易理解性;(C)有助于提高软件的易修改性。

在软件质量特性中,(D)是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性;(E)是指防止对程序及数据的非授权访问的能力。 供选择的答案:

A: (1)易使用性 (2)易恢复性 (3)易替换性 (4)易测试性 B: (1)增强健壮性 (2)信息隐蔽原则 (3)良好的编程风格 (4)高效的算法 C: (1)高效的算法 (2)信息隐蔽原则 (3)增强健壮性 (4)身份认证 D: (1)正确性 (2)准确性 (3)可靠性 (4)易使用性 E: (1)安全性 (2)适应性 (3)灵活性 (4)容错性

9.设计高质量的软件是软件设计追求的重要目标。可移植性、可维护性、可靠性、效率、可理解性和可使用性等都是评价软件质量的重要方面。

可移植性是反映出把一个原先在某种硬件或软件环境下正常运行的软件移植到另一个硬件或软件环境下,使该软件也能正确地运行的难易程度。为了提高软件的可移植性,应注意提高软件的(A) 。

可维护性通常包括(B) 。通常认为,软件维护工作包括改正性维护、(C) 维护和(D) 维护。其中(C) 维护则是为了扩充软件的功能或提高原有软件的性能而进行的维护活动 (E) 是指当系统万一遇到未预料的情况时,能够按照预定的方式作合适的处理。 供选择的答案:

A: (1)使用方便性 (2)简洁性

(3)可靠性 (4)设备不依赖性

B: (1)可用性和可理解性 (2)可修改性、数据独立性和数据一致性

(3)可测试性和稳定性 (4)可理解性、可修改性和可测试性 C和D: (1)功能性 (2)扩展性 (3)合理性 (4)完善性 (5)合法性 (6)适应性 E: (1)可用性 (2)正确性 (3)稳定性 (4)健壮性 10.软件系统的可靠性,主要表现在( ) A.能够安装多次

B.能在不同类型的计算机系统上安装、使用 C.软件的正确性和健壮性 D.能有效抑止盗版

11.在软件工程中,当前用于保证软件质量的主要技术手段还是( )

A.正确性证明 B.测试 C.自动程序设计 D.符号证明 12.在软件工程中,高质量的文档标准是完整性、一致性和( )

A.统一性 B.安全性 C.无二义性 D.组合性 13.下述陈述中,哪一个不是软件健壮性( Robustness)的度量指标( ) A.失败后重新启动所需的时间 B.引起失败的时间所占的百分比 C.失败前的平均工作时间

D.在一次失败中数据恶化的概率

14.在软件质量因素中,软件在异常条件下仍能运行的能力称之为软件的( ) A.可靠性 B.健壮性 C.可用性 D.安全性

15.为了实现规定的质量特性,需要把这些质量特性转换为软件的A 的特性。软件质量需求中的“性能”,可以转换成(A) 中的(B),即每个程序模块和(C) 各自应具有的性能特性。这些性能特性的积累就形成设计规格说明中的性能特性。这种情况也适用于(D) 。在质量特性中,有一些特性及功能与用户界面有关,必须把这些功能或用户界面数据正确映射到(A) 中来。这时,必须对软件的 (E) 进行评价。此外,决定软件“适用范围”的质量特性,取决于(A) 中各种 ( F) 部分是否实现 (G) 。 供选择的答案: A,B,C,E,F:

①接口 ②内部结构 ③结构特性 ④构成元素 ⑤结构单元 ⑥性能要求 ⑦物理数据 ⑧逻辑数据 D,G:

①模块化 ②可靠性 ③适应性 ④性能 ⑤结构化 16.软件复审时其主要的复审对象是( ) A.软件结构 B.软件文档 C.程序编码 D.文档标准

17.在软件设计中,设计复审是和软件设计本身一样重要的环节,其主要的目的和作用是为了能够( )

A.减少测试工作量 B.避免后期付出高代价 C.保证软件质量 D.缩短软件开发周期

18.在软件危机中表现出来的软件质量差的问题,其原因是( ) A.用户经常干预软件系统的研发工作 B.没有软件质量标准

C.软件研发人员不愿意遵守软件质量标准 D.软件研发人员素质太差

19.(A) 是以提高软件质量为目的的技术活动。把(B) 定义为“用户的满意程度”。为使用户满意,有两个必要条件:

(1)设计的规格说明要符合用户的要求。

(2)程序要按照设计规格说明所规定的情况正确执行。

把上述条件(1)称为(C) ,把条件(2)称为(D) 。与上述观点相对应,软件的规格说明可以分为 (E) 和 (F) 。 (E) 是从用户的角度来看的,包括硬件/软件系统设计( 在 (G) 阶段进行)、功能设计( 在需求分析阶段与概要设计阶段进行),而 (F) 是为了实现 (E) 的更详细的规格。

对 (E) 进行(A) 时,(A) 对象是在需求分析阶段产生的软件需求规格说明、数据要求规格说明,在软件概要设计阶段产生的软件概要设计规格说明等。 A和B:①技术创新 ②管理评审 ③技术评审 ④过程改进 ⑤“质量” ⑥“数量” C和D:①程序流程 ②程序质量 ③设计要求 ④设计质量

E~G:①内部规格说明 ②外部规格说明 ③概要设计 ④详细设计 ⑤系统分析 ⑥需求分析

20.从技术上改进软件的开发过程,提高软件产品的质量涉及两个方面:一是提高(A) ,二是改进(B) 。在发现错误和排除错误方面更重要也是更困难的是(C) 。由于软件测试技术方面没有多少新的突破,人们只能用加强阶段评审或检查作为辅助手段。这是一个由同行人员小组(D) 所开发的阶段产品的验证方法。至于改进(B)的新技术,是采用面向对象的开发技术或是建立 (E) 。一个诱人的说法是采用(F) 技术,其基本思想在于净化开发过程,使得差错或缺陷不可能混入开发过程。 A和B:

①测试效率 ②开发速度 ③开发工具 ④维护过程 ⑤测试方法 ⑥开发工具 C: ①排除错误 ②发现错误 D: ①机器检查 ②人工检查 ③集成测试 ④单元测试 E和F:

①智能 ②软件原型 ③“净室”软件开发 ④基于构件的复用

答案:1.B 2.C 3.D 4.C 5.A 6.C 7.A 8.A.⑷B.⑶C.⑵D.⑶E.⑴ 9.A.⑷B.⑷C.⑷D.⑹E.⑷ 10.C 11.B 12.C 13.C 14.B 15.A.②B.④C.⑦D.②E.③F.①G.① 16.B 17.B 18.B 19.A.③B.⑤C.④D.②E.②F.①G.⑤ 20.A.①B.③C.②D.②E.②F.③

第十二章仿真试题

1.软件工程管理是( )一切活动的管理。

A.需求分析 B.软件设计过程 C.模块设计 D.软件生命期

2.软件管理的主要职能包括( )

A.人员管理、计划管理 B.标准化管理、配置管理 C.成本管理、进度管理 D.(A)和(B)

3.任何项目都必须精心做好项目管理工作,最常用的计划管理工具是( ) A.数据流程图 B.程序结构图 C.因果图 D.PERT图

4.软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是( ) A.初级、高级、高级、初级 B.中级、中级、高级、中级 C.高级、中高级、初级、中高级 D.中级、中高级、中级、初级

5.计算机软件知识产权包括著作权、专利权、商标权和制止不正当竞争的权利等。如果某公司购买了一个工具软件,在销售该公司开发的软件(需使用该工具软件)的同时,向客户提供此工具软件的复制品,这种行为(A)。如果某公司购买了一个应用软件的源程序,他们将源程序中的所有标示符作了全面修改后,作为该公司的产品销售,这种行为(B) 。如果公司甲开发了一个名为X的软件,在未注册商标时就开始销售,该软件销售后受到用户的好评。不久,公司乙也推出了自己开发的类似产品,取名也是X,并率先进行商标注册,公司乙的行为(C) 。专利权是由国家专利主管机关根据国家颁布的专利法授予专利申请者或其权力继承者在一定期限内实施其发明的专有权力。在与计算机软件相关的发明中,(D) 通常不是申请发明专利的主题。我国的“反不正当劳动竞争法”指出,商业秘密(Trade secret)的拥有者有权制止他人对自己的商业秘密从事不正当竞争的行为。软件的商业秘密是指(E) 的技术设计。

供选择的答案:

A:①尚不构成侵权 ②侵犯了著作权 ③侵犯了专利权 ④属于不正当竞争 B:①尚不构成侵权 ②侵犯了著作权 ③侵犯了专利权 ④属于不正当竞争 C:①尚不构成侵权 ②侵犯了著作权 ③侵犯了专利权 ④侵犯了商标权 D:①设备仪器以及与其结合在一起的计算机程序,作为一个完整的产品 ②具有发明创造的计算机技术,作为一种方法发明 ③独自开发的计算机程序代码本身 ④有关将汉字输入计算机的发明创造 E:①已公开发表且已获得专利 ②已公开发表但未获得专利 ③未公开发表但已获得专利 ④未公开发表且未获得专利

6.由于软件工程有如下的特点,使软件管理比其他工程的管理更为困难。软件产品是(A) 。(B) 标准的过程。大型软件项目往往是(C) 项目。(D) 的作用是为有效地、定量地进行管理,把握软件工程过程的实际情况和它所产生的产品质量。在制定计划时,应当对人力、项目持续时间、成本作出(E);风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤。最后,每个软件项目都要制定一个(F),一旦(G)制定出来,就可以开始着手(H)。 供选择的答案: A~C:

①可见的 ②不可见的 ③“一次性” ④“多次” ⑤存在 ⑥不存在 D~H:

①进度安排 ②度量 ③风险分析 ④估算 ⑤追踪和控制 ⑥开发计划

7.对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理。主要按(A)和(B)手段进行。估算的方法分为3类:从项目的整体出发,进行(B)的方法称为(C)估算法。把待开发的软件细分,直到每个子任务都已明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为(D)估算法。而把待开发的软件项目与过去已完成的软件项目做类比,区分出类似部分和不同部分分别处理的方法称为(E)估算法。(F)是由多位专家进行成本估算的方法。 供选择的答案:

A~B:①类推 ②类比 ③分解 ④综合

C~F:①差别 ②自顶向下 ③自底向上 ④专家判定技术 ⑤循序渐进 ⑥比较

8.在特定情况下,是否必须进行风险分析,是对项目开发的形势进行(A)后确定的。(A) 可以按照如下步骤进行:明确项目的目标、总策略、具体策略和为完成所标识的目标而使用的方法和资源;保证该目标是(B),项目成功的标准也是(B);考虑采用某些条目作为项目成功的(C);根据估计的结果来确定是否要进行风险分析。 一般说来,风险分析的方法要依赖于特定问题的需求和有关部门所关心的方面。具体分三步进行。第一步识别潜在的风险项,首先进行(D)过程;第二步估计每个风险的大小及其出现的可能性,选择一种(E),它可以估计各种风险项的值;第三步进行风险评估。风险评估也有三个步骤:确定风险的评价标准;确定风险的级别;把风险和“参照风险”做比较。 供选择的答案:

A: ①风险 ②风险估计 ③风险评价 ④风险测试 B: ①可度量的 ②不可度量的 ③准确的 ④不确定的 C: ①规范 ②标准 ③过程模型 ④设计要求

D、E:①信息分类 ②信息收集 ③度量尺度 ④标准 ⑤度量工具 ⑥信息获取

9.在考虑各种软件开发资源时,(A)是最重要的资源。如果把软件开发所需要的资源画成一个金字塔形,在塔的上层是最基本的资源(A),在底部为(B)。(B)包括硬件资源和软件资源。(C)、(D)和其他硬件设备属于硬件资源。IPSE工具属于软件资源中的(E)。为了提高软件的生产率和软件产品的质量,可建立(F)。 供选择的答案:

A和B:①方法 ②人力 ③工具 ④上下文环境 C和D:①虚拟机 ②目标机 ③自动机 ④宿主机 E和F:①维护工具 ②分析设计工具 ③支持工具 ④编程工具 ⑤可复用构件库 ⑥框架工具 ⑦原型化模拟工具

其中C和D的答案可以互换。

答案:1.D 2.D 3.D 4.C 5.A.②B.②C.①D.③E.④ 6.A.②B.⑥C.③D.②E.④F.①G.⑥H:⑤ 7.A.③B.①C.②D.③E.①F.④ 8.A.②B.①C.②D.②E.③ 9.A.②B.③C.②D.④E.⑥F.⑤

本文来源:https://www.bwwdw.com/article/tfv3.html

Top