文档库 最新最全的文档下载
当前位置:文档库 › 软件工程期末试题(含答案)解析

软件工程期末试题(含答案)解析

软件工程期末试题(含答案)解析
软件工程期末试题(含答案)解析

一、填空题(每空1分,共25分)

1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行

和维护。

2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。

3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方

案可行性等方面研究。

4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子

形式描绘系统里面的每个部件

5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文

件。

6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据流图DFD_与_

数据字典_来描述。

7.继承性是自动地共享类、子类和对象中的方法和数据的机制。

8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___

测试_。

10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

二、单项选择题(每小题2分,共20分)

1.软件设计中划分模块的一个准则是(C )。

A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合

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

A、对象 B.数据流 C.数据结构 D.控制结构

3.试判断下列叙述中,哪个(些)是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流

b、软件系统中所有的信息流都可以认为是变换流

c、事务分析和变换分析的设计步骤是基本相似的

A、a

B、b

C、c

D、b和c

4.( A )是用户和设计交换最频繁的方法。

A、原型化方法

B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型

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

是( C )。

A、硬件环境

B、软件开发的环境

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

6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言

( D )。

A、PASCAL

B、 VISUAL BASIC C. C++ D、汇编语言

7.软件测试的目的是?( D )

A、证明软件的正确性 B.找出软件系统中存在的所有错误

C.证明软件系统中存在错误

D.尽可能多的发现软件系统中的错误

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

A、程序的内部逻辑

B、程序的复杂程度

C、该软件的编辑人员

D、程序的功能

9.软件维护工作的最主要部分是( C )。

A、校正性维护

B、适应性维护 C.完善性维护 D、预防性维护

10.PDL是( B )语言。

A、高级程序设计语言

B、伪码式

C、中级程序设计语言

D、低级程序设计语言

三、判断题(正确的在括号内打上“√”,错误的打上“×”。每题2分,共20分)

1.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(X )

2.发现错误多的程序模块,残留在模块中的错误也多。(V )

3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(X )

4.软件维护就是改正软件中的错误。( X )

5.质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。

( V )

6.软件开发的主要任务是写程序。( X )

7.测试只能证明程序有错误,不能证明程序没有错误。( V )

8.模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。

( X )

9.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,

很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。(X )

10.程序设计风格指导原则提出,尽量多使用临时变量。(X )

三.程序设计与算法描述题(共15分)

1.根据下面的伪代码程序,完成相应要求。(8分)

START

IF C1

THEN

WHILE C2 DO

f

ENDDO

ELSE

BLOCK

g

p

ENDBLOCK

ENDIF

REPEAT UNTIL C3

q

r

ENDREP

STOP

1)画出程序流程图(4分)

2)用N—S图描述(4分)

1)程序流程图如下:4分

(2)N-S图如下:4分

2.有下列伪码程序: START

INPUT (M,N)

IF M>=10

THEN X=10

ELSE X=l

ENDIF

IF N>=20

THEN Y=20

ELSE Y=2

ENDIF

PRINT(X,Y)

STOP

设计该程序的语句覆盖和路径覆盖测试用例。(7分)

设计该程序的语句覆盖和路径覆盖测试用例。

1.M=9(或

2.M=l0(或>=10),N=20(或>=20)

路径覆盖的测试用例为

①M=9,N=19;

②M=9、N=20;

③M=l0,N=l9;

④M=10,N=20

一、单项选择题

1、瀑布模型本质上是一种( C)

A、线性顺序模型

B、顺序迭代模型

C、线性迭代模型

D、及早见产品模型

2、使用程序设计的控制结构导出测试用例的测试方法是( B )

A、黑盒测试

B、白盒测试

C、边界测试

D、系统测试

3、软件结构图的形态特征能反映程序重用率的是( C )

A、深度

B、宽度

C、扇入

D、扇出

4、软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )

A、调用关系

B、组成关系

C、链接关系

D、顺序执行关系

5、需求分析最终结果是产生( B )

A、项目开发计划

B、需求规格说明书

C、设计说明书

D、可行性分析报告

6、快速原型模型的主要特点之一是( D )

A、开发完毕才见到产品

B、及早提供全部完整的软件产品

C、开发完毕后才见到工作软件

D、及早提供工作软件

7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C )

A、条件覆盖法

B、等价分类法

C、边界值分析法

D、错误推测法

8、软件详细设计主要采用的方法是( C )

A、模块设计

B、结构化设计

C、PDL语言

D、结构化程序设计

9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B )

A. 软件工程

B. 软件周期

C. 软件危机

D. 软件产生

10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作( C)

A、需求分析

B、概要设计

C、详细设计

D、软件维护

11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是( A )

A、探索型模型

B、演化型模型

C、实验型模型

D、提交型模型

12、程序设计语言的工程特性之一为(C )

A、软件的可重用性

B、数据结构的描述性

C、抽象类型的描述性

D、数据库的易操作性

13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( A )

A.可用性

B.可靠性

C.正确性

D.完整性

14、模块设计中,最不希望的内聚是(C )

A、功能内聚

B、通信内聚

C、过程内聚

D、偶然内聚

15、实施快速原型模型方法开发软件的关键在于(D )

A、CASE工具的支持

B、如何开发演化型模型

C、项目主管的支持

D、开发人员的素质

16、程序流程图(框图)中的箭头代表( A )。

A.数据流

B.控制流

C.调用关系

D.组成关系

17、一个只有顺序结构的程序,其环形复杂度是(B )。

A.0

B.1

C.3

D.不确定的

18、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因

此必须给出什么样的回答。( B )

A.确定 B.行或不行 C.正确 D.无二义

19、结构化程序设计主要强调的是( D )

A、程序的规模

B、程序的效率

C、程序设计语言的先进性

D、程序易读性

20、对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。

A、结合

B、隐藏

C、封装

D、抽象

21、软件概要设计结束后得到(B )

A、初始化的软件结构图

B、优化后的软件结构图

C、模块的接口图和详细算法

D、程序编码

22、软件需求是度量软件质量的基础,不符合需求的软件就不具备(B )

A、软件的特点

B、质量

C、软件产品

D、功能

23、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作( A )

A、正确性

B、移植性

C、可靠性

D、完整性

24、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。

A、需求说明

B、概要说明

C、软件文档

D、测试计划

25、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为( A )。

A、软件容错

B、系统软件

C、测试软件

D、恢复测试

一、选择题

1.软件产品的开发主要是(D )。

A.复制

B.再生产

C.拷贝

D.研制

2.作坊式小团体合作生产方式的时代是(C )时代。

A.程序设计

B.软件生产自动化

C.程序系统

D.软件工程

3.软件工程与计算机科学性质不同,软件工程着重于( C )。

A.理论研究

B.原理探讨

C.建造软件系统

D.原理的理论

4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。

A.编码

B.需求分析

C.详细设计

D.测试

5.可行性研究的目的是决定( B )。

A.开发项目

B.项目值得开发否

C.规划项目

D.维护项目

6.SA方法用DFD描述( D ) 。

A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能

7.软件概要设计结束后得到( B )。

A.初始化的软件结构图

B.优化后的软件结构图

C.模块详细的算法

D.程序编码

8.软件设计阶段一般又可分为( B )。

A.逻辑设计与功能设计

B.概要设计与详细设计

C.概念设计与物理设计

D.模型设计与程序设计

9.软件设计中划分模块的一个准则是( C )。

A.低内聚低耦合

B.低内聚高耦合

C.高内聚低耦合

D.高内聚高耦合

10.PDL是软件开发过程中用于( C )阶段的描述工具。

A.需求分析

B.概要设计

C.详细设计

D.编程

11.软件测试的目的是( B )。

A.试验性运行软件

B.发现软件错误

C.证明软件正确

D.找出软件中全部错误

12.软件测试中,白盒法是通过分析程序的(B )来设计测试用例的。

A.应用范围

B.内部逻辑

C.功能

D.输入数据

13.黑盒法是根据程序的(C )来设计测试用例的。

A.应用范围

B.内部逻辑

C.功能

D.输入数据

14.下面的逻辑测试覆盖中,测试覆盖最弱的是( C )

A.条件覆盖

B.条件组合覆盖

C.语句覆盖

D.条件及判定覆盖

15.把一组具有相似特性的对象组合在一起,称之为( C )。

A、多态性

B、继承性

C、类

D、消息

16.面向对象的主要特征除对象唯一性、封装、继承外,还有( A )

A、多态性

B、完整性

C、可移植性

D、兼容

17.软件生存周期中时间最长的是( D )阶段。

A.需求分析

B.概要设计

C.测试

D.维护

18.与计算机科学的理论研究不同,软件工程是一门( C )学科。

A.理论性

B.原理性

C.工程性

D.心理性

19.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的

影响最大( C )。

A、详细设计阶段

B、概要设计阶段

C、需求分析阶段

D、测试和运行阶段

20.软件工程的出现主要是由于( C )。

A.程序设计方法学的影响

B.其它工程科学的影响

C. 软件危机的出现

D.计算

机的发展

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

A、工作阶段间的等待时间

B、生产原型的复杂性

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

D、参与人员

之间的通信困难

22. SA方法的基本思想是( C )

A.自底向上逐步抽象B.自底向上逐步分解C.自顶向下逐步分解D.自顶向下逐步抽象

23.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( A )关系。

A.调用

B.组成

C.链接

D.顺序执行

24.程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发

的程序,

具有如下哪种特点( C )

A、运行效率低,开发效率低

B、运行效率低,开发效率高

C、运行效率高,开发效率低

D、运行效率高,开发效率高

25.为了提高软件测试的效率,应该( D )。

A.随机地选取测试数据

B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性较大的数据作为测试用例

26.与设计测试用例无关的文档是( A )。

A.项目开发计划

B.需求规格说明书

C.设计说明书

D.源程序

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

A.程序的内部逻辑

B.程序的复杂程度

C.使用说明书

D.程序的功能

28. 软件部件的内部实现与外部可访问性的分离,是指软件的( C )。

A.继承性

B.共享性

C.封装性

D.抽象性

29.一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是( A ) .

A、设计稳定

B、变换分析

C、事务分析

D、模块独立性

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

A、硬件环境

B、软件开发的环境

C、软件开发工具和软件开发的环境

D、开发人员的素

31.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A )

A、瀑布模型

B、对象模型

C、螺旋模型

D、层次模型

32.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流

( A )。

A.必须一致B.数目必须相等C.名字必须相同D.数目必须不等

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

A. 软件的总结

B. 需求分析评审

C. 阶段性报告

D. 以上答案都不正确34.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( B )

A. 数据流图

B. 数据字典

C. 结构化语言

D. 判定表与判定树

35.为了提高模块的独立性,模块内部最好是( C )。

A.逻辑内聚

B.时间内聚

C.功能内聚

D.通信内聚

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

A. 输入.输出.外部实体和加工

B. 变换.加工.数据流和存储

C. 加工.数据流.数据存储和外部实体

D. 变换.数据存储.加工和数据流

38. 软件结构使用的图形工具,一般采用( C )图。

A.DFD

B.PAD

C.SC

D.ER

39.在面向数据流的软件设计方法中,一般将信息流分为( A )

A、变换流和事务流

B、变换流和控制流

C、事务流和控制流

D、数据流和控制流

40. 程序的三种基本控制结构是( B )。

A.过程、子程序和分程序

B.顺序、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

41.白盒测试方法重视( A )的度量。

A.测试覆盖率

B.测试数据多少

C.测试费用

D.测试周期

42. 软件的集成测试工作最好由( D )承担,以提高集成测试的效果。

A.该软件的设计人员

B.该软件开发组的负责人

C.该软件的编程人员

D.不属于该软件开发组

的软件设计人员

43.软件生命周期的最后的一个阶段是( B )

A.书写软件文档

B.软件维护

C.稳定性测试

D.书写详细用户说明

44. 每个对象可用它自己的一组属性和它可以执行的一组(C )来表征。

A、行为

B、功能

C、操作

D、数据

45. 软件重用的单位是( A )。

A.软件模块

B.性能

C.系统

D.功能

46、下列不属于软件工程方法学三要素的是( D ):

A、方法

B、工具

C、过程

D、操作

47、软件开发中大约要付出( C )%的工作量进行测试和排错。

A.20

B.30

C.40

D.50

48、系统分析员是( B )

A、用户中系统的直接使用者

B、用户和软件人员的中间人

C、软件的编程人员

D、用户和软件人员的领导

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

A、DFD图

B、PAD图

C、IPO图

D、数据字典

50、制定软件计划的目的在于尽早对欲开发的软件进行合理估价,软件计划的任务是( D )

A、组织与管理

B、分析与估算

C、设计与测试

D、规划与调度

51、结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。

A、数据流

B、数据流图

C、数据库

D、数据结构

52、如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( A )。

A、时间内聚

B、逻辑内聚

C、通信内聚

D、信息内聚

53.在软件结构化设计中,好的软件结构设计应该力求做到( B )。

A、顶层扇出较少,中间层扇出较高,底层模块低扇入

B、顶层扇出较高,中间层扇出较少,底层模块高扇入

C、顶层扇入较少,中间层扇出较高,底层模块高扇入

D、顶层扇入较少,中间层扇入较高,底层模块低扇入

54、程序的三种基本控制结构是( B )

A、过程、子程序和分程序

B、顺序、选择和循环

C、递归、堆栈和队列

D、调用、返回和转移

55、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是( D )。

A、黑盒测试

B、正确性测试

C、动态测试

D、静态测试

56、黑盒测试在设计测试用例时,主要需要研究( A ) 。

A、需求规格说明与概要设计说明

B、详细设计说明

C、项目开发计划

D、概要设计说明与详细设计说明

57、在整个软件维护阶段所花费的全部工作中,( C ) 所占比例最大。

A、改正性维护

B、适应性维护

C、完善性维护

D、预防性维护

58.作坊式小团体合作生产方式的时代是(C )时代。

A.程序设计

B.软件生产自动化

C.程序系统

D.软件工程

59.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( A )。

A. 数据流图

B. 数据词典

C. 结构化语言

D. 判定表与判定树

60.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A )。

A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型

B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型

C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型

D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型

61.模块的独立性是由内聚性和耦合性来度量的,其中内聚性是(B )

A、模块间的联系程度

B、模块的功能强度

C、信息隐蔽程度

D、接口的复杂程度

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

A、自下而下、从左到右

B、自上而下、循环执行

C、自上而下、从左到右

D、都不对

63.在软件工程中,白盒测试方法可用于测试程序的内部结构。此方法将程序可作为( A )

A.路径的集合

B.循环的集合

C.目标的集合

D.地址的集合

64、软件维护工作的最主要部分是( C )

A.校正性维护

B.适应性维护

C.完善性维护

D.预防性维

65.结构分析方法就是面向( D)自顶向下逐步求精进行需求分析的方法。

A.目标 B.功能 C. 对象 D.数据流

66. 软件是一种(B )产品。

A.物质

B.逻辑

C.有形

D.消耗

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

A、控制流

B、数据流

C、程序流

D、指令流

68. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角

度考虑的是(B )

A、经济可行性

B、技术可行性

C、操作可行性

D、法律可行性

69.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( C )。A.模块间的操作细节 B.模块间的相似性

C.模块间的组成关系 D.模块的具体功能

70、下述任务中,不属于软件工程需求分析阶段的是( D ) 。

A.分析软件系统的数据要求 B.确定软件系统的功能需求

C.确定软件系统的性能要求 D.确定软件系统的运行平台

71.为了提高模块的独立性,模块内部最好是( C )。

A.逻辑内聚

B.时间内聚

C.功能内聚

D.通信内聚

72. PDL是软件开发过程中用于( C )阶段的描述工具。

A.需求分析

B.概要设计

C.详细设计

D.编程

73.在软件测试中,逻辑覆盖标准主要用于( B )

A.黑箱测试方法

B.白盒测试方法

C.灰箱测试方法

D.软件验收方法

74.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是(D )关系。

A.组装

B.整体成员

C.关联

D.一般特殊

75、面向对象方法中动态模型的描述工具是( C )。

A.对象图

B.结构图

C.状态图

D.设计图

76.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是(B)

A.数据、公共、标记、控制

B.数据、标记、控制、公共

C.控制、数据、标记、公共

D.控制、数据、公共、标记

77.在SD方法中全面指导模块划分的最重要的原则是( D )

A.程序模块化

B.模块高内聚

C.模块低耦合

D.模块独立性

78. 需求分析最终结果是产生( B )。

A. 项目开发计划

B. 需求规格说明书

C. 设计说明书

D. 可行性分析报告

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

A. 功能

B. 外部接口

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

D. 编程

80. 对象实现了数据和操作的结合,使数据和操作( C)于对象的统一体中。

A. 结合

B. 隐藏

C. 封装

D. 抽象

81.指出PDL是下列哪种语言(A)。

A.伪码B、高级程序设计语言C.中级程序设计语言D、低级程序设计语言

82.为了提高软件的可维护性,在编码阶段应注意( D )

A.保存测试用例和数据

B.提高模块的独立性

C.文档的副作用

D.养成好的程序设计风格

二、填空题

1、软件是数据结构、计算机程序及其说明程序的各种文档。

2、概要设计主要是把各项功能需求转换成系统的体系结构。

3、面向对象开发方法包括 OOA 、OOD 、 OOP 、OOT四部分。

4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。

5、子类自动共享父类的属性和操作的机制称为继承。

6. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。

7、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。

8、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。

9、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。

10. 对象的抽象是___类___。

11. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。

12、子类只继承一个父类的属性和操作,这称为__单重继承__。

13、需求分析阶段产生的最重要的文档是__需求规格说明书_。

14、两个模块都使用同一张表,模块的这种耦合称为___公共耦合__。

15、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试。

16、结构化方法是一种面向数据流的开发方法。由结构化分析、_结构化方法_、结构化程序设计构成。

17、对象之间通过_消息_进行通信。

18、概要设计主要是把各项功能需求转换成系统的__体系结构__。

19、类具有操作,它是对象__行为_的抽象。

20、集成测试中的具体方法是___渐增式和非渐增式___测试方法。

21、结构化分析方法的分析策略是__自顶向下逐步求精__。

22、可行性研究实质上是要在较高层次上以较抽象的方式进行___需求分析和设计__的过程。

23、衡量模块独立性的两个定性标准是__耦合性与内聚性___。

24、继承性是子类自动共享其父类的__数据结构和方法__机制。

25、在面向对象方法中,人们常用状态图描述类中对象的_动态行为_。

26、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。

27.软件工程包括3个要素,即方法、工具、过程。

28.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、可行性研究,需求分析,总体设计,详细设计,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成

29.数据流图中的箭头表示__数据流__。软件结构图中的箭头方向表示___模块调用__。

30.___可行性研究___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

31.数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能_模型。

32. 面向对象方法学= 对象+ 类+ 继承+消息传送。

33. 软件概要设计的主要任务就是_怎么做_。

34. 软件的生产经历了程序设计、程序系统和软件工程3 个阶段。

35. 软件工程的结构化生命周期方法中,一般将软件设计阶段划分为概要设计和详细设计两个阶段。

36. 软件的详细设计可采用图形、表格和过程设计语言3种形式的描述工具表示模块的处理过程。

37. 需求分析阶段的任务是确定软件系统需要解决的问题。

38. 程序是按既定算法,用某种计算机语言所规定的指令和语言编写的一系列指令或语言的集合。软件是程序再加上程序实现所需的数据和维护程序所需的文挡的总称。

39. 由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现软件危机;软件工程正是为了克服它而提出了一种概念及相关方法和技术。

40. 数据流图包括4种基本符号:园框代表变换/加工,方框代表外部实体,箭头代表数据流,双杠代表数据存储。

41. 内聚是从功能的角度来度量模块内的联系,耦合是度量模块之间联系的程度。

42. 软件结构中各模块之间相互连接关系的一种度量常称为模块的耦合。

43. 软件测试分为单元测试、集成测试、确认测试、系统测试4个阶段。

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )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.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

最新软件工程试题和答案

一、选择 1、在软件开发的各种资源中,(B)是最重要的资源。 A开发工具B方法C硬件环境D人员 2、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A固有的B人为的C可消除的D不可降低的 3、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A )系统。 A需求不确定的B需求确定的C管理信息D决策支持 4、单元测试的测试用例主要根据( D )的结果来设计。 A需求分析B源程序C概要设计D详细设计 5、(A )是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C软件生存周质量保证D软件工程 6、(A )意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B类的复用C封装 7、软件测试计划开始于需求分析阶段,完成于(D )阶段。 A需求分析B软件设计C软件实现D软件测试 8、在软件生存周期的瀑布模型中一般包括计划、(C )、设计、编码、测试、维护等阶段。 A可行性分析B需求采集C需求分析D问题定义 9. 软件需求分析阶段的测试手段一般采用( C )。 A总结B阶段性报告C需求分析评审D不测试 10. (C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A多态性B继承C封装D消息 11. 软件测试是为了(B )而执行程序的过程。 A纠正错误B发现错误C避免错误D证明正确 12. 在结构化分析方法中,(C )表达系统内部数据运动的图形化技术。 A数据字典B实体关系图C数据流图D状态转换图 13. 软件工程的基本要素包括方法、工具和( A )。 A过程B软件系统C硬件环境D人员 14. TURBO PASCAL是(A)软件。

软件工程 简答题复习题(带答案)

n n g a r 第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来 了解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过 程中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)预算,项目一再拖延。 2)需求,开发的软件不能满足用户的要求,项目成功率低。 3)软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软 件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升 高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法 做到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。

n d A i 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实 施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。软件支持过程由所支持的CASE 工具组成,常用的CASE 工具有Power Designer 和Rational Rose 等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开 发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效 率、高效益)。2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组 织过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的 开发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程 的管理。 9,请简述现代软件工程与传统软件工程显著的区别和改进。 1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向 对象技术为标志。 2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中, 采用面向对象的思维方式,更加完整、自然地反映客观世界。3)采用架构技术,开发效率、产品质量得到了极大提高。 4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP 模型、 XP 模型、过程改进、能力成熟度模型、配置管理等。 第二章 1,如何理解软件生命周期的内在特征?

软件工程试题及答案

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、软件重用的效益是什么?

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件工程试题与答案

安徽三联学院2011-2012学年度第一学期 《软件工程》期终考试试卷(A卷) 一、选择题(每小题2分,计20分) 1.请按顺序写出软件生命期的几个阶段__F__,__D__ ,__C__,___E_,__B__,___A_。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析 2.一个模块直接控制(调用)的下层模块的数目称为模块的_____B__。 A.扇入数 B、扇出数 C、宽度 D、作用域 3.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试 (A) A.单元测试 B.系统测试 C.集成测试D.确认测试 4.一个软件项目是否进行开发的结论是在___B___文档中作出的。 A.软件开发计划B、可行性报告C、需求分析说明书D、测试报告 5.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在 (B)阶段进行的。 A.需求分析B.总体设计C.详细设计D.编码阶段 6.CMMI标准的5个级别分别是完成级、管理级、定义级、量化管理级和( C ) A.初始级B.可重复级C.优化级D.过程级 7.PAD(Problem Analysi s Diagram)图是一种____工具。( B) A.系统描述B.详细设计C.测试D.编程辅助 二、填空题(每空格1分,计20分) 1、软件的通俗解释是软件= 程序+ 数据+ 文档资料。 4、系统测试包括的4种类型:恢复测试、安全测试、强度测试和性能测试。 6、统一建模语言(UML)提供的9种图分别是:用例图、类图、对象图、 状态图、顺序图、协作图、活动图、组件图和部署图。 7、软件工程标准的5个级别:国际标准、国家标准、行业标准、企业 规范 和项目规范。 三、名词解释题(每题4分,计20分) 1、软件工程: 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 2、再工程: 软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程3.模块化: 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性 四、简答题(每题5分,计20分) 1、简述软件工程的基本原理? 1.严格按照软件生命周期计划进行管理.2.坚持进行阶段评审.3.实行严格的产品控制. 4.采用先进的程序设计技术. 5.结果应能清楚的审查.6.开发小组成员应少而精.7.承认不断改进软件工程实践的必要性

软件工程课后习题测验简答题

第一章: 三、简答题 1.软件产品的特性是什么? 答:●软件是一种逻辑产品,具有无形性; ●软件产品的生产主要是研制;主要是脑力劳动; ●软件不存在磨损和老化问题,但存在退化问题; ●软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答:①程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设计方法。 ②程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 ③软件工程阶段。 硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3.什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2)软件生产率低,不能满足需要。 4.什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点? 答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简化,是描述软件开发过程中各种活动如何执行的模型,因此又称为软件开发模型。 主要的软件过程模型有:瀑布模型、增量模型、螺旋模型、喷泉模型和基于知识的模型等。 ⑴瀑布模型是经典的软件开发模型,将软件开发活动中的各项活动规定为依线性顺序连接的若干阶段,它简单易用,在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大的作用。但在软件开发实践中也逐渐暴露出它的缺点。它将一个充满回溯的软件开发过程硬性分割为几个阶段,无法解决软件需求不明确或者变动的问题。 ⑵增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。 ⑶螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:制定计划、风险分析、实施工程、客户评估。 ⑷喷泉模型用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。软件开发过程有4

《软件工程》试题及参考答案(第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.软件系统的功能

软件工程复习题及答案

2006-2007-2软件工程复习 一、单项选择题(20选10) 1. 结构化分析的主要描述手段有( B )。 A. 系统流程图和模块图 B. DFD图、数据词典、加工说明 C. 软件结构图、加工说明 D. 功能结构图、加工说明 2. 用于表示模块间的调用关系的图叫( D )。 A.PAD B.SC C.N-S D.HIPO 3. 在( B )模型中是采用用例驱动和架构优先的策略,使用迭代增量建造方法,软件“逐渐”被开发出来的。 A.快速原型 B. 统一过程 C.瀑布模型 D. 螺旋模型 4. 常用的软件开发方法有面向对象方法、面向( A )方法和面向数据方法。 A. 过程 B. 内容 C. 用户 D. 流程 5 从工程管理的角度来看,软件设计分两步完成( D )。 A. ①系统分析②模块设计 B. ①详细设计②概要设计 C. ①模块设计②详细设计 D. ①概要设计②详细设计 6. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 7. 程序的三种基本结构是( B )。 A. 过程、子程序、分程序 B.顺序、条件、循环 C.递归、堆栈、队列 D.调用、返回、转移 8. SD方法衡量模块结构质量的目标是( C )。 A. 模块间联系紧密,模块内联系紧密 B. 模块间联系紧密,模块内联系松散 C. 模块间联系松散,模块内联系紧密 D. 模块间联系松散,模块内联系松散 9.为提高软件测试的效率,应该( C )。 A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码后制定软件测试计划 D.选择发现错误可能性大的数据作为测试数据 10.( D )测试用例发现错误的能力较大。 A.路径覆盖 B.条件覆盖 C.判断覆盖 D.条件组合覆盖 11.软件需求分析应确定的是用户对软件的( A )。 A. 功能需求和非功能需求 B. 性能需求 C. 非功能需求 D. 功能需求 12.下列各种图可用于动态建模的有( C )。 A.用例图 B. 类图 C. 序列图 D. 包图 13.软件过程模型有瀑布模型、( B )、增量模型等。 A. 概念模型 B. 原型模型 C. 逻辑模型 D. 物理模型 14.面向对象的分析方法主要是建立三类模型,即( D )。 A. 系统模型、ER模型、应用模型 B. 对象模型、动态模型、应用模型 C. E-R模型、对象模型、功能模型 D. 对象模型、动态模型、功能模型 15.测试的分析方法是通过分析程序( B )来设计测试用例的方法。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 16. 软件工程是研究软件( B )的一门工程学科。 A. 数学 B. 开发与管理 C. 运筹学 D. 工具 17. 需求分析可以使用许多工具,但( C )是不适合使用的。 A.数据流图 B.判定表 C.PAD图 D.数据字典 18.划分模块时,一个模块内聚性最好的是( A )。 A. 功能内聚 B. 过程内聚 C. 信息内聚 D. 逻辑内聚 19.软件可移植性是用来衡量软件的( D )的重要尺度之一。 A.效率 B. 质量 C. 人机关系 D. 通用性 20.软件配置管理是在软件的整个生存周期内管理( D )的一组活动。 A.程序 B.文档 C.变更 D.数据 二、判定题(20选10) 1统一过程是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。(×) 2当模块中所有成分结合起来完成一项任务,该模块的内聚是偶然内聚。(×) 3SD方法衡量模块结构质量的目标是模块间联系松散,模块内联系紧密(√) 4当模块中所有成分结合起来完成一项任务,该模块的内聚是功能内聚。(√) 5在进行需求分析时,就应该同时考虑软件的可维护性问题。(√) 6需求分析可以使用许多工具,但数据流图是不适合使用的。(×)

软件工程试题及答案

综合练习一答案 一.选择题: 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.需求分析说明书不能作为______。

软件工程简答题66339

简答题: 1、什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究把工程应用于软件中提到的途径。 软件工程的本质特征: (1)软件工程关注于大型程序的构造; (2)软件工程的中心课题是控制复杂性; (3)软件产品交付使用后仍然需要经常修改; (4)开发软件的效率非常重要; (5)和谐地合作是成功开发软件的关键; (6)软件必须有效地支持它的用户 (7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人开发产品。 消除软件危机的途径: (1)对计算机软件有一个正确的认识(软件≠程序) (2)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3)推广使用在实践中总结出来的开发软件的成功技术和方法 (4)开发和使用更好的软件工具 2、简述结构化范型和面向对象范型的要点,并分析它们的优缺点。 1. 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。 2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。 3、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型

软件工程试题库集及答案

综合练习一答案 选择题: 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。用户和软件人员的领导

软件工程 简答题复习题(带答案)

第一章 1,与计算机硬件相比,计算机软件有哪些特点? 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机?什么原因导致了软件危机? 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做 到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件

管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer 和Rational Rose等。 7,请简述软件工程的目标、过程和原则。 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。 1)软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效率、 高效益)。 2)实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组织 过程。 3)进行过程应遵守的原则:原则就是过程中的轨道约束,包括:选取适宜的开 发范型、采用合适的设计方法、提供高质量的工程支持、重视开发过程的 管理。 9,请简述现代软件工程与传统软件工程显著的区别和改进。 1)传统的软件工程是基于结构化的软件开发方法,而现代软件工程是以面向对 象技术为标志。 2)不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中, 采用面向对象的思维方式,更加完整、自然地反映客观世界。 3)采用架构技术,开发效率、产品质量得到了极大提高。 4)更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP模型、 XP模型、过程改进、能力成熟度模型、配置管理等。 第二章 1,如何理解软件生命周期的内在特征? 软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件

软件工程考试试题(含答案)

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件工程试题与答案

《软件工程模拟试题及参考答案》(一) 一、单向选择题(四选一、每小题3分,共18分) 1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。 对应 映射 反映 反射 2、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 流程图 框图 判定表 N-S图 3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。 程序 数据 逻辑 物理 4、人机界面的风格大致经过了(B)代的演变。

三 四 五 六 5、以下不属于白盒测试技术的是(D) 逻辑覆盖 基本路径测试 循环覆盖测试 等价类划分 6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。 纠错性维护 适应性维护 改善性维护 预防性维护 二、填空题(每空2分,共18分) 1.文档—一种数据媒体和其上所记录的(数据)。 2.机器语言、汇编语言:依赖于机器,面向(机器) 3.软件有效性,指软件系统的时间和(空间)效率。 4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。 8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终 可运行的代码的过程叫(编码)过程。 9.软件维护是软件生命周期的(最后)一个阶段。 三、判断题(每小题2分,共24分,错误打X、正确打√) 1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之 一。(√) 2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X) 3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第 一手资料,并从中提取出有价值的需求。(√) 4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计 一些复杂的算法等场合。(√) 5.流程图也称为程序框图是最常用的一种表示法。(√) 6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三 种基本形式表示数据等步骤。(√) 7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√) 8.数据输入的一般准则中包括尽量增加用户输入的动作。(X) 9.用穷举测试是较现实的测试方法。(X) 四、简答题(每小题4分,共20分)

软件工程简答题复习题(带答案)

软件工程简答题复习题(带 答案) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一章 1,与计算机硬件相比,计算机软件有哪些特点 软件的特点如下。 1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了 解它的功能、特性和质量等。 2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程 中,渗透了大量的脑力劳动。 3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问 题。 4)软件的开发和运行必须依赖于特定的计算机系统环境。 5)具有可复用性。 3,什么是软件危机什么原因导致了软件危机 软件危机的现象如下。 1)经费超出预算,项目一再拖延。 2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。 3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。 4)开发工具落后,手工方式,开发效率低。 所有导致软件危机的原因,都与软件本身的产品特点相关。 1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件 产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升 高。 2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。 3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做 到准确估算,生产过程不易控制。 4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成 本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得 多。 5,请简述软件工程研究的内容。 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。 常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。 软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。 7,请简述软件工程的目标、过程和原则。

软件工程试题及答案

1. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: ①自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 4 、提高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前

的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 【解答】 测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 36.简述容错技术的四种主要手段,并解释。

相关文档