当前位置:文档之家› 软件工程第二版答案

软件工程第二版答案

软件工程第二版答案
软件工程第二版答案

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

第一章仿真试题

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、JA V A

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、FORTRAN

D、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、JA V A

D、Z

[2]问题的选项:

A、一阶谓词演算

B、λ演算

C、异调代数

D、范畴论

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

A、语境

B、语调

C、语用

D、词语

(4)程序设计语言又可分为过程式语言和非过程式语言,如( )就是典型的非过程式语言。

A、PROLOG和RPG

B、JA V A和C++

C、LISP和ADA

D、JA V A和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.兼容性

B.可靠性

C.容错性

D.稳定性

37.改错性维护与排错的相对关系是( )

A.改错性维护与排错是同一概念的不同命名

B.改错性维护是在更大范围中作工作

C.排错是在更大范围中作工作

D.它们是在同一阶段的不同工作

38.下列叙述中哪个与软件的可移植性无关?( )

A.把程序中与计算机硬件特性有关的部分集成在一起

B.选择时间效率和空间效率高的算法

C.使用结构化的程序设计方法

D.尽量用高级语言编写程序中对效率要求不高的部分

39.下面有关软件维护的叙述哪个是正确的?( )

A.设计软件时就应考虑到将来的可修改性

B.维护软件是一件很吸引人的创造性工作

C.维护软件就是改正软件中的错误

D.谁编写软件就应由谁来维护这个软件

40.下列哪个改变不属于软件维护中的副作用?( )

A.修改代码

B.修改数据

C.修改需求分析

D.修改文档

41.修改软件以适应外部环境(新的硬件、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)发生的变化是指?( )

A.改正性维护

B.适应性维护

C.完善性维护

D.预防性维护

42.下列哪一项属于软件计划的范围内考虑的?( )

A.项目实施计划,质量保证计划

B.软件测试计划、文档编制计划

C.用户培训计划、综合支持计划,软件分发计划

D.以上都是

43.软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的( )

A.可理解性

B.可维护性

C.可扩展性

D.可移植性

答案:1.B 2.C 3.D 4.D 5.A 6.C 7.D 8.B 9.B 10.A 11.A 12.A 13.D 14.A 15.A 16.B 17.C 18.C 19.D 20.D 21.B 22.C 23.A 24.D 25.B 26.D 27.A 28.C 29.B 30.A 31.A 32.B 33.C 34.A 35.C 36.C 37.B 38.B 39.A 40.C 41.B 42.D 43.B

第九章仿真试题

1、原型化方法是一类动态定义需求的方法,下列叙述中,哪一个不具有原型化方法的特征?

A、提供严格定义的文档

B、加强用户参与和决策

C、简化项目管理

D、加快需求的确定

2、需求分析是( )

A、软件开发工作的基础

B、软件生存周期的开始

C、由系统分析员单独完成的

D、由用户自己单独完成的

3、需求分析( )

A、要回答“软件必须做什么”

B、可概括为“理解、分解、表达”六个字

C、要求编写需求规格说明书

D、A 、B、C都对

4、软件原型化开发方法有其基本步骤,下列哪些(个)是实施原型化的最基本步骤?

a. 获得基本需求

b. 开发工作模型

c. 严格细仔说明

d. 模型验证

A、全部都是

B、a,b和d

C、d

D、a和b

5、实施软件开发的原型化方法应具备某些必要的条件,下述哪些是其必备的条件( )

a. 原型系统的积累

b. 原型化开发人员

c. 需求的准确理解

d. 完善的开发工具

A、a和d

B、b和c

C、c和d

D、b和d

6、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(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、自底向上

7、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( )

A、控制流

B、数据流

C、程序流

D、指令流

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

A、互相排斥

B、互相补充

C、独立使用

D、交替使用

9、原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( )

A、明确的需求定义

B、完整的生命周期

C、较长的开发时间

D、熟练的开发人员

10、SA方法是一种( )

A、自顶向下逐层分解的分析方法

B、自底向上逐层分解的分析方法

C、面向对象的分析方法

D、A 、B 、C 都不对

12、对软件进行分解,是为了( )

A、降低模块的复杂程度

B、降低模块间接口的复杂程度

C、降低模块的复杂程度,并降低模块间接口的复杂程度

D、降低模块的复杂程度,并提高模块间接口的复杂程度

1.结构化分析方法以数据流图、( )和加工说明等描述工具,即用直观的图和简洁语言来描述软件系统模型。

A.DFD图

B.PAD图

C.IPO图

D.数据字典

2.结构化分析(SA)是软件开发需求分析阶段所使用的方法,( )不是SA所使用的工具。

A.DFD图

B.PAD图

C.结构化英语

D.判定表

3.Jackson设计方法是由英国的M.Jackson所提出的。它是一种面向( )的软件设计方法。

A.对象

B.数据流

C.数据结构

D.控制结构

4.软件开发的结构化生命周期法(SA)的基本假定是认为软件需求能做到(A) ,它与早期的软件开发方式相比较,其最重要的指导原则应该是(B) ,它常用的描述软件功能需求的工具是(C) 。软件开发的原型化方法是一种与结构化方法具有不同策略的方法。其最有效的应用领域应该是(D) ,在一般软件需求分析中,这两种方法相互的关系是(E)。

可供选择的答案

A. ①严格定义②初步定义

③早期冻结④动态改变

B. ①自顶向下设计②分阶段开发

③逐步求精④用户需求至上

C. ①业务流程图、处理说明②软件流程图、模块说明

③数据流程图、数据字典④系统流程图、程序编码

D. ①科学计算②工程设计

③管理信息④过程控制

E. ①相互替代②从属关系

③相互排斥④相互补充

5.软件设计中,Jackson方法是一种面向数据结构的设计方法,它将数据结构表示为三种基本结构,分别为( )

A.分支结构、选择结构和控制结构

B.顺序结构、选择结构和循环结构

C.顺序结构、分支结构和嵌套结构

D.顺序结构、选择结构和重复结构

6.软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法是指( )

A.原型化方法

B.结构化方法

C.面向对象方法

D.功能分解法

7.软件工程的结构化生命周期方法(SA)是将软件开发的全过程化分为互相独立而又互相依存的阶段,软件的逻辑模型是形成于(A)。作为软件开发结构化方法的工具数据流图描述数据在软件流动和被处理变换的过程,它是以图示的方法来表示(B),它的正确性是保证软件逻辑模型正确性的基础,(C)项内容与它的正确性相关性最弱。数据字典最基本的功能的是(D)。而软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两阶段,其中总体设计主要是建立(E)。

可供选择的答案

A. ①开发阶段②计划阶段

③分析阶段④设计阶段

B. ①软件模型②软件功能

③软件结构④软件加工

C. ①数据守恒②均匀分解

③文件操作④图形层次

D. ①数据库设计②数据通讯

③数据定义④数据维护

E. ①软件结构②软件流程

③软件模型④软件模块

8.结构化生命周期方法具有各种特征,下列各种叙述中,哪一个不是结构化方法的特征?( )

A.严格定义需求

B.划分开发阶段

C.提供运行模型

D.制定规范文档

9.在结构化方法中,软件功能分解应属于软件开发中的(A)阶段,它最后提供的文档是软件的(B)。数据流程图(DFD)是用于描述结构化方法中(C)阶段的工具。数据字典(DD)是定义(D)系统描述工具中的数据的工具。判定树和判定表是用于描述结构化分析方法中(E)环节的工具。

可供选择的答案

A. ①详细设计②需求分析

③总体设计④编程调试

B. ①功能说明书②加工说明书

③可行性分析报告④结构说明书

C. ①可行性分析②需求分析

③详细设计④程序编码

D. ①数据流程图②系统流程图

③程序流程图④软件结构图

E. ①功能说明②数据加工

③流程描述④结构说明

10.结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?( )

A.顺序结构

B.条件结构

D.选择结构 D.嵌套结构

11.软件工程方法中普遍应用的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征?( )

A.严格定义需求

B.划分开发阶段

C.规范文档格式

D.分析控制流程

12.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的?( )

a、自顶向下

b、自底向上

c、分层绘制

d、初步求精

A.全是

B.a,c和d

C.b,c和d

D.a和c

13.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( )

A.控制流

B.数据流

C.程序流

D. 指令流

14.数据流图是用于软件需求分析的工具,下列元素哪些是其基本元素( )

a.数据流

b.加工

c.数据存储

d.外部实体

A.a,b和c

B.a和c

C.全部

D.a,c和d

15.软件需求分析一般应确定的是用户对软件的( )

A.功能需求

B.非功能需求

C.性能需求

D.功能需求和非功能需求

16.数据字典是对数据定义信息的集合,它所定义的对象都包含于( )

A.数据流图

B.程序框图

C.软件结构

D.方框图

17.软件开发的原型化方法是一种动态定义软件需求的方法,下述条件哪个(些)条件是实施原型化方法所必备的?( )

a、成熟的原型化人员

b、快速的成型工具

c、需求了解的准确性

A.a和b

B.b和c

C.全部

D.c

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

A.先数据后程序

B.先程序后数据

C.与顺序无关

D.可同时进行

19.加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心成分?( )

A.加工顺序

B.加工逻辑

C.执行频率

D.激发条件

20.软件工程的结构化生命周期方法,通常将软件生命周期划分为计划、开发和运行三个时期,下述哪些工作应属于软件开发期的内容?( )

a.需求分析

b.可行性研究

c.总体设计

软件工程作业及参考答案(版)

软件危机与软件工程 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 . 质量保证 ② A . 需求分析 B . 可行性研究 C 总体设计 D 模块化设计 ③ A . 文档编制 B . 运行维护 C . 测试 D . 验收 &软件开发中常采用的生命周期方法,由于其特征而一般称其为() A .层次模型 B .瀑布模型 C .螺旋模型 D .对象模型 9.描述软件生存周期的瀑布模型包括计划、 (A ) 、设计、编码、测试、维护等阶段。其中,设计阶段又可 以分成(B )和(C )两个步骤。 A :①需求分析 ②可行性研究 ③需求调查 ④问题定义 B, C :①方案设计 ②代码设计 ③概要(总体)设计 ④数据设计 ⑤详细设计 10.什么是软件危机?软件危机产生的原因? ".生命周期阶段的划分?每个阶段的任务? 可行性研究 软件工程 1软件危机是指在开发和( A .运行 B .设计 2 ?造成软件危机的原因是: A. 用户使用不当 C .硬件不可靠 )过程中所遇到的一系列严重问题。 B .对软件的错误认识 D ?缺乏好的开发方法和手段

软件工程实验二66217

软件设计实验 一、实验目的 学会使用Case工具完成描述软件结构的软件结构图和软件层次图的设计,并熟练地掌握几种常用的软件详细设计的工具,如程序流程图、盒图、PAD图和判定表,并能把给定的软件问题描述转化为过程设计结果。 二、实验内容 1、软件结构设计: (1)采用visio绘制教材的图4.26中的软件结构图; (2)采用visio绘制教材的图4.41的软件层次图。 (3)分析如下所示的数据流图,并把它转换成软件结构图,然后 用visio把结果画出来。(注意,请用结构图) 图1 某系统的数据流图 2、软件的详细设计:某航空公司规定,乘客可以免费托运重量不超过20公斤的行李,当行李重量超过20公斤,对头等舱的国内乘客超重部分每公斤收费6元,对其他舱的国内乘客超重部分每公斤

收费

8元,对外国顾客超重部分每公斤收费比国内乘客多1.5倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。 实验包含三部分的内容: a)用word设计描述其详细设计结果的PAD图、判定表。 b)用viso画出它的程序流程图,并计算它的Mccabe程序复杂度。 (要求把计算过程写到实验报告中) 三、实验结果 【本人用诚信保证,实验都是本人自己实践完成的,标准原创】 1.(1)教材的图4.26中的软件结构图

(2)教材的图4.41的软件层次图

2. a)PAD图

开 开 开开 开开 开开 开开 T F P1 P1开开开20kg T P2 F P2开开开开开 P3 开开开开开开开开6开/kg 开开开开开开开开9开/kg 开开开开开开开开3开/kg P3开开开开开开开开 T F P4 P5 开开开开开开开开 4.5开/kg P6 T F 开开开开开开开开8开/kg 开开开开开开开开4开/kg 开开开开开开开开12开/kg 开开开开开开开开6开/kg P4开P5开开开开开开开 P7 P8 P7开P8开开开开开开开 PAD 开 P6开开开开开开开开开 判定表【原创】

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程复习题及答案

一、画出实际的瀑布模型p16 三、画出增量模型p18 五、可行性研究的工作过程及内容p36 答:1).复查系统规模和目标; 2).研究目前正在使用的系统; 3).导出新系统的高层逻辑模型; 4).进一步定义问题; 5).导出和评价供选择的解法; 6).推荐行动方针;7).草拟开发计划;8.书写文档提交审查。 六、可行性研究的目的是什么?要如何进行?p35 答:目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。 首先,需要进一步分析和澄清问题定义。之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干可供选择的主要解决方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 二、画出快速原型模型p17 四、画出简化的螺旋模型p20 软件工程考试复习题

七、需求分析的任务是什么?进行需求分析时要重点考虑哪些方面的问题?p56 答:1、确定对系统的综合要求:1).功能需求——指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。2).性能需求——性能需求指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3).可靠性和可用性需求——可靠性是指确保各应用及其相关的所有交易的完整性和一致性的能力;可用性是指一个系统应确保一项服务或者资源永远都可以被访问到。4).出错处理需求——说明系统对环境错误应该怎样响应。5).接口需求——描述应用系统与它的环境通信格式。6).约束——在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7).逆向需求——说明软件系统不应该做什么。8).将来可能提出的要求——应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2、分析系统的数据要求。 3、导出系统的逻辑模型。 4、修正系统开发计划。 八、典型的总体设计过程包括哪些步骤?p92 答:典型的总体设计过程包括九个步骤: 1)、设想供选择的方案;2)、选取合理的方案;3)、推荐最佳方案;4)、功能分解;5)、设计软件结构;6)、设计数据库;7)、制定测试计划;8)、书写文档;9)审查和复查。 九、总体设计的主要任务是什么?总体设计的主要过程有哪些?p91 答:主要任务: 总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要的任务是设计软件的结构,也就是要确定系统中每个程序是由哪个模块组成,以及这些模块相互间的关系。 主要过程: ①寻找实现目标系统的各种不同的方案。②从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。③进行成本/效益分析,并且制定实现这个方案的进度计划。从中选出一个最佳方案。④进一步为这个最佳方案设计软件结构。⑤进行必要的数据库设计,确定测试要求并且制定测试计划。 十、何谓耦合?有哪些类型?软件设计应该取哪种类型?p97 答:耦合是对一个软件结构内不同模块之间互连程度的度量。 类型:数据藕合、控制藕合、公共环境藕合、内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 十一、何谓内聚?有哪些类型?软件设计应该取哪种类型?p98 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

软件工程作业(答案参考)

软件工程第一次作业 1)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程试验

软件工程实验内容及要求 一、实验内容 软件工程实验是《软件工程》课程的一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件总体设计、软件详细设计、软件测试等阶段的方法和技术。通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。 学生通过结组选择下面的题目,完成软件工程实验要求。 1、QQ实时聊天程序 2、期刊在线投稿审稿管理系统 3、出卷系统 4、列车时刻查询决策系统 5、员工培训管理系统 6、中小学智能排课系统 7、网上求职与招聘系统的设计与实现 8、城市公交查询系统的设计与实现 二、实验要求 本课程设计要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下: 1. 每个班级按项目小组进行分组,每组5人,分别负责需求分析、设计、编码、测试和质量保证; 2. 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目。项 目经理负责制定“项目开发计划”、管理项目并根据项目进展情况对项目开发计划进行调整; 3. 项目开发计划必须由粗到细通过GANT图给出,每项任务要落实到人且规定该任务的起止日期和时 间;明确每个阶段提交文档的日期和时间;每个项目小组必须明确指定文档的审查小组和审查人员以及审查结果的返回日期;审查小组和审查人员不得是完成被审查内容的完成者;审查结果至少包括:存在的问题、出现问题的所在文档的位置及页码、具体建议等; 4. 每个项目小组必须按照给定的文档规范标准提供下列文档,文档中必须注明执笔者、完成者(签 名)和完成日期,其中完成需求分析和设计工作的人员不能相同,完成编码和审查/测试的人员不能相同;文档包括:编码清单(部分或全部)、详细设计规格说明、概要设计规格说明、需求分析规格说明、项目开发计划(包括调整的项目开发计划)、测试报告等。 5. 每个项目小组可以选择完成编码、测试等阶段的部分任务。 6. 根据合理的进度安排,一步一步、踏踏实实地开展课程设计活动,按时完成每部分工作。课程设 计过程中,坚持独立完成,分成小组进行的要有明确的分工,并在报告中给以说明。 课程设计内容主要包括:

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程实验报告

软件工程实验报告 姓名:冯巧 学号 实验题目:实验室设备管理系统 1、系统简介: 每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费用、责任人等。对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后立即对新设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。 2、技术要求及限定条件: 采用C#语言设计桌面应用程序,同时与数据库MySql进行交互。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案实施相对容易,成本低,工期短。 一:可行性分析 1、技术可行性分析 计算机硬件设备,数据库,实验室设备管理软件与实验室设备管理系统的操作人员组成,能够实现实验室设备管理的信息化,提高工作效率,实现现代化的实验室设备管理。系统需要满足实验室设备管理(包括对实验设备的报废、维修和新设备的购买)、实验室设备信息查询(包括按类别进行查询和按时间进行查询)、实验室设备信息统计报表(包括对已报废设备的统计、申请新设备购买的统计和现有设备的统计)。这些功能框图如下图所示: 2、经济可行性分析 依据用户的现实需求、技术现状、经济条件、工期以及其他局限性因素等等因素,考虑到工期的长短、技术的成熟可靠、操作方便等因素,本方案具备经济可行性。

3、系统可选择的开发方案 ①方案A用C#开发系统的特点是:开发工具与数据库集成一体,可视化,开发速度较快,但数据库能够管理的数据规模相对较小。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案的实施相对容易,成本低,工期短。 ②方案B:以小型数据库管理系统为后台数据库,该前台操作与数据库分离,也能够实现多层应用系统。系统对硬件的要求居中,特别适合在网络环境下使用,操作方便。但系统得实现最复杂,成本最高,工期也较长。 二:软件需求分析 1.软件系统需求基本描述: 实验室设备管理系统是现代企业资源管理中的一个重要内容,也是资源开发利用的基础性工作。实验室设备在信息化之前,在用户系统管理、设备维修管理、设备的增删改查管理等方面存在诸多不利于管理的地方,不适应现代的企业管理形势和资源的开发利用。 2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成): 1)顶层数据流图 2)二层流程图 3)总数据流图

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程实验二

实验二熟悉面向对象建模过程 一、实验目的与要求 1.掌握 UML 工具 Enterprise Architect(Visio 或 Rational Rose)的使用; 2.了解面向对象软件建模过程; 3.把握类图、对象图、顺序图之间的关系。 二、实验环境 1.PC,CPU:P4 2.0GHz 以上,内存:512M,硬盘:40GB 以上; 2.操作系统:Microsoft Windows 2000 /2003/XP; 3.软件:E.A.、Microsoft Visio 或 Rational Rose 三、实验要求: 1.绘制的图形清楚,排版美观 2.类图、对象图和顺序图之间的关系设定正确 3.代码与模型相互印证,能按模型实现代码。 四、实验内容与步骤 B.领养电子宠物游戏 电子宠物是多种人工玩伴的其中一种,一般作陪伴人类或娱乐用途。人们可以饲养电子宠物以取代真正的宠物,玩家从宠物商店领养一只电子宠物。玩家可以“喂养”宠物,与宠物玩耍。描述比较简单,可以发挥想象完善宠物游戏。 参照书本上的分析与设计过程,选择 A 或者 B,重新建立系统的用例模型(包括用例文本)、领域模型、对象交互的顺序图、类图等模型,并按照模型实现。 请注意模型的顺序与前后关系,以及代码与模型的关系。要求每个人独立完成,并演

示。

1. 定义用例: 用例图: uc pet 领养宠物 查看宠物资料玩家 与宠物互动 用例规约: 用例编号:UC01用 例名称:领养宠物 简要说明:该用例描述玩家是如何领养宠物的。 参与者:玩家前置条件:玩家通过身份认证 后置条件:玩家成功领养电子宠物,正确记录交易日志。触发事件:玩家在主菜单中选择领养宠物。 基本流: 1.玩家选择“领养宠物”操作。 2.系统提醒玩家选择所要领取的宠物的类别。 3.系统提醒玩家填写宠物姓名。 用例编号:UC02用例名 称:查看宠物资料 简要说明:该用例描述玩家是如何查看宠物资料的。 参与者:玩家前置条件:玩家通过身份认证 后置条件:玩家成功查看宠物资料。 触发事件:玩家在主菜单中选择查看宠物资料。 基本流:

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析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.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业1答案 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 3. 瀑布模型存在的问题是(B )。 A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型B.专家系统C.喷泉模型D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的B.需求确定的C.管理信息D.实时 6. 下列有关软件工程的标准,属于国际标准的是(D) A.GB B.DIN C.ISO D.IEEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次(A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。 A、P×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(i+n) 11. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。 A、1% B、20% C、8% D、50% 13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在以下(B)阶段规定 A、可行性分析 B、需求分析 C、概要设计 D、详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流

(完整版)《软件工程》作业及答案

t h e i 《软件工程》作业及答案 1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产 率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系 统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。 软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上 升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念, 在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件 工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能 在设计阶段清除它呢?”你怎么反驳他? 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。 消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功 的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在 计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。1-6 什么是软件过程?它与软件工程方法学有何关系? 答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增 量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户 真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用 户反馈意见的办法,获取用户的真实需求。 增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风 险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 快速原型模型:适合小型软件; 螺旋模型:适合内部开发的大规模软件项目。2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面 研究目标系统的可行性? 答: 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。答: 电话号码=[校内电话|本市电话|外地电话] 非零数字字符=[1|2|3|4|5|6|7|8|9] 校内电话=非零数字字符+3{数字}3本市电话=0+非零数字字符+7{数字}7外地电话=0+区码+非零数字字符+7{数字}73-1 为什么要进行需求分析?通常对软件系统有哪些需求?答: 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。3-2 怎样与用户有效地沟通以获取用户的真实需求? 答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型 4-2 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应 遵守哪些准则? 答: 在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则:(1)应该选用适当的表示方法。(2)应该形 式化,但不要过分形式化。 (3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。 (5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用 7-8 对一个包含10000条机器指令的程序进行一个月集成测试后,总 共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了 25个错误(第二个月改正了10个错误),MTTF=15h 。要求:(1) 根据上述数据确定MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2) 为做到MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 答: (1)所做假设:1)单位长度里的错误数近似为常数;2)失效率正比于软件中剩余的错误数,而平均无故障时间与剩余的错误数成反比. 3)发现的每一个错误都立即正确地改正了.(2)由Shooman 公式:MTTF=I T /(K*(E T -E C (T))) 其中,I T =104,MTTF 1=10,n 1=15,MTTF 2=15,n 2=25。得:MTTF 1=I T /(K*(E T -E C (T 1)))10=10000/(K*(E T -15))MTTF 2=I T /(K*(E T -E C (T 2)))15=10000/(K*(E T -25)) (1)解得程序中固有的错误总数E T =45,此外K=100/3。(2)设MTTF=100,有 100=10000/((100/3)*(45-x))

相关主题
文本预览
相关文档 最新文档