当前位置:文档之家› 软件工程复习题(带答案)

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

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

软件工程复习题

一、单选题

1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )

A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )

A产生危机 B质量保证 C开发效率 D生产工程化

3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究

的结论主要相关于( A )

A软件系统目标 B软件的性能

C软件的功能 D软件的质量

4、软件需求分析一般应确定的是用户对软件的( D )

A.功能需求

B.非功能需求

C.性能需求

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

5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试

计划的制订应始于软件开发的哪个阶段? ( D )

A.需求分析

B.软件设计

C.程序编码

D.软件计划

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

A.原型化方法

B.结构化方法

C.面向对象方法.

D.功能分解法

7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )

A.软件模型

B.软件功能

C.软件结构

D.软件加工

8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不

属于开发技术的范畴?(D)

A.软件开发方法

B.软件开发工具

C.软件工程环境

D.软件工程经济

9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依

据,而且也影响软件的()

A.可理解性

B.可维护性

C.可扩展性

D.可靠性

10、从( )语言开始,软件摆脱了对硬件的依赖。

A.第一代

B.第二代

C.第三代

D.第四代

11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )

A.实体

B.数据存储

C.关系 D属性

13、结构化程序设计主要强调程序的(C)

A.效率

B.速度

C.可读性

D.大小

14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )

A.黑盒法

B.白盒法

C.灰盒法

D.综合法

15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )

A业务流程图,数据字典 B.软件流程图,模块说明

C.数据流图,数据字典

D.系统流程图,程序编码

16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。

A.分支

B.单人口

C.单出口

D.有规则GOTO

18、确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明称为结构化方法中的( D )

A.需求分析

B.可行性研究

C.总体设计

D.问题定义

19、.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?( A )

A.总体设计

B.需求分析

C.详细设计

D.编程调试

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

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

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

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

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

21、软件开发的结构化分析(SA)方法,常用的描述软件功能需求的工具是( C )

A.业务流程图、处理说明

B.软件流程图、模块说明

C.数据流程图、数据字典

D.系统流程图、程序编码

22、在软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主

要是用于测试( B )

A.结构合理性

B.软件外部功能

C.程序正确性

D.程序内部逻辑

23、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(C )

A.数据库设计

B.数据通讯

C.数据定义

D.数据维护

24、软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,

而在测试过程的多种环节中最基础的是(B )

A.集成测试

B.单元测试

C.系统测试

D.验收测试

25、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究

的结论主要相关于(A )

A.软件系统目标

B.软件的可测试性

C.软件的功能

D.软件的质量

26、结构化程序设计理论认为,实现良好的程序结构要应用( A)的分析

方法。

A.自顶向下

B.自底向上

C.面向对象

D.基于组件

27、在下面列出的基本成分中,哪个不是数据流程图的基本成分?.( D )

A.信息处理

B.信息存储

C.外部实体

D.系统状态

28、PAD(Problm hmlysis Diagam)图是一种( B )工具。

A.系统描述

B.详细设计

C.测试

D.编程辅助

29、耦合是软件中各模块间相互联系的一种度量,耦合的强弱取决于模块间的复杂程度。耦合的若干种类中,耦合度最高的是.( A )

A.内容耦合

B.非直接耦合

C.数据耦合

D.控制耦合'

30、在软件工程中,软件测试的目的是( B )

A.试验性运行软件

B.发现软件错误

C.证明软件是正确的

D.找出软件中全部错误

31、下面哪一项不是软件设计规格说明中模块的内容?( C )

A.接口描述

B.数据的组织

C.外部文件结构

D.处理过程描述

32、需求分析的主要任务是( B )

A.确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明

B.分析用户要求,将软件功能和性能描述为具体的规格说明书

C.对问题定义阶段所确定的问题实现的可能性和必要性做出研究

D.建立软件系统的总体结构,子系统划分,并提出软件结构图

33、软件结构中,由一模块直接控制的其他模块数称为( C )

A.深度

B.宽度

C.扇入数

D.扇出数

34、在数据字典中,( B )给出了某个文件的定义,文件的定义通常也

是列出其记录的组成。

A加工 B.数据存储 C.数据流 D.数据项

35、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为什么样的两种流,再将数据流图映射为软件结构?( B )

A.数据流与事务流

B.变换流与事务流

C.信息流与控制流

D.变换流与数据流

36、软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( B )

A.设计人员和用户

B.分析人员和用户

C.分析人员和设计人员

D.编码人员和用户

37、数据字典是对数据定义信息的集合,它所定义的对象都包含于( A ) A数据流图 B.程序框图 C.软件结构 D.方框图

38、判定树和判定表是用于描述结构化分析方法中( B )环节的工具。

A.功能说明

B.数据加工

C.流程描述

D.性能说明

39、在结构图这种概念模式中,矩形框代表( B )

A.处理过程

B.模块

C.外部实体

D.内部实体

40、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( A )

A.总貌

B.细节

C.抽象

D.软件的作用

50、为了提高测试的效率,应该(D )

A.随机地选取测试数据

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

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

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

51、软件维护是指( C )

A维护软件的正常进行 B.软件的配置更新

C.对软件的改进、适应和完善

D.软件开发期的一个阶段

52、下列哪一项不是软件危机的表现形式?( D )

A.软件需求定义不明确,易偏离用户需求

B.软件生产高成本,价格昂贵

C.软件的可维护性差

D.系统软件与应用软件的联系越来越困难

53、数据流图是描绘信息在软件系统中流动和处理情况的图形工具,下列哪一个图形符号代表数据存储?( D )

A.箭头

B.圆框

C.直线

D.开口方框

54、软件设计中,可应用于详细设计的工具有 ( A )

A.程序流程图、PAD图、N-S图和伪码

B.数据流程图、PAD图、结构图和伪码

C.业务流程图、N-S图和伪码

D.数据流程图、PAD图、N-S图和伪码

56、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意(C)

A支持逐步求精 B考虑控制流程 C.遵守结构化设计原则 D.数据结构表示

57、在软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立( A )

A.软件结构

B.软件流程

C.软件模型

D.软件

58、瀑布模型把软件生存周期划分为软件定义、软件开发与(C )三个阶段,而每个阶段又可分为若干更小的阶段。

A.详细设计阶段

B.可行性研究阶段

C.运行及维护

D.问题定义

59、软件工程的结构化生命周期方法中将软件生命周期分为若干阶段,软件详细设计是属于( B )阶段。

A.计划阶段

B.开发阶段

C.运行阶段

D.维护阶段

60、在软件的分析阶段,常用( C )来描述业务处理系统的信息来源、存储、处理和去向。

A.E-R图

B.框图

C.DFD

D.时序网络

61、与设计测试数据无关的文档是( D )

A.需求说明书

B.设计说明书

C.源程序

D.项目开发设计

62、模块的内聚是从功能的角度来度量模块内的联系,内聚度最强的是

(B)

A.通信内聚

B.功能内聚

C.顺序内聚

D.逻辑内容

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

A.DFD图

B.PAD图

C.IPO图

D.数据字典

64、在软件工程中,高质量的文档标准是完整性、一致性和( C )

A.统一性

B.安全性 C无二义性 D.组合性

65、结构图中,带有注释的小箭头表示( B )

A.模块

B.调用

C.数据

D.模块间判断

66、下列叙述中不是关于有利于软件可维护性的描述是( C )

A.在进行需求分析时应考虑维护问题

B.使用维护工具和支撑环境

C.在进行总体设计时,应加强模块之间的联系

D.重视程序结构的设计,使程序具有较好的层次结构

67、软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?(B)

A软件结构 B模块算法 C制定测试计划 D数据库设计

68、由事务型数据流图映射为软件结构的设计首先应设计一个(A ),它有两个功能,接收事务数据,另一个是根据事务类型调度相应的处理模块。

总控模块 B事务中心 C变换中心 D接收分支

69、软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是()

A.减少测试工作量

B.避免后期付出高代价

C.保证软件质量

D.缩短软件开发周期

70、软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于( C )

A.开发阶段

B.计划阶段

C.分析阶段

D.设计阶段

71、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为

(B )两种

A.数据流与事务流

B.变换流与事务流

C.信息流与控制流

D.变换流与数据流

72、( B )是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理后再沿输出通路变换成外部形式离开软件系统。

A.数据流

B.变换流

C.事务流

D.数据结构

73、数据流图中,下列哪一种数据流的流向是不可能发生的?( B )

A.从加工流向加工

B.从数据存储流向外部实体

C.从加工流向外部实体

D.从外部实体流向加工

74、确定每一个模块使用的数据结构属于软件设计的哪一个阶段?(D)

A总体设计 B需求分析 C编程调试 D详细设计

75.概要设计的结果是提供一份__ A __。

A.模块说明书 B。框图 C 程序 D 数据结构

76、需求分析是由分析员了解用户的要求,认真细致地调研。分析,最终应建立目标系统的逻辑模型并写出(B)。

77、分析员是____。

A.用户中系统的直接使用者B.用户和软件人员的中间人

C.软件的编程人员 D。用户和软件人员的领导

78、在软件开发中,有利于发挥集体智慧的一种做法是____。

A.设计评审B.模块化C.主程序员制D。进度控制

79、在开发软件时,____可用来提高程序员的工作效率。

A.程序开发环境 B.操作系统的作业管理功能

C.编译程序的优化功能 D。并行运算的大型计算机

80、软件测试中设计测试实例(test case)主要由输入数据和____两部

分组成。

A.测试规则 B.测试计划

C.预期输出结果 D.以往测试记录分析

81、结构化程序设计主要强调程序的____。

A.效率 B.速度 C.可读性 D.大小

82、开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。

A.软件投机 B.软件危机 C.软件工程 D.软件产生

83、成功的测试是指______。

A.运行测试实例后未发现错误项 B.发现程序的错误

C.证明程序正确 D.改正程序的错误

84、在结构化程序设计思想提出以前,在程序设计中曾强调程序的

____。现在,与程序的____相比,人们更重视程序的____。

85、____是以发现错误为目的的,而____是以定位,分析和改正错误为目的的。

A.测试 B.排错(调试) C.维护 D.开发

86、请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。

A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析

87、软件的____设计又称为总体设计,其主要任务是建立软件系统的总体结构。

A.概要 B.抽象 C.逻辑 D.规划

88、结构化分析SA是软件开发需求分析阶段所使用的方法,____不是SA所使用的工具。

A.DFD图 B.PAD图 C.结构化英语 D.判定表89、结构化分析方法以数据流图、____和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。

A.DFD图 B.PAD图 C.IPO图 D.数据字典

90、在软件研究过程中,CASE是____。

A.指计算机辅助系统工程 B.CAD和CAM技术的发展动力

C.正在实验室用的工具D.指计算机辅助软件工程44.软件工程中,只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为____测试。

A.白盒法 B.灰盒法 C.黑盒法 D.综合法

91、软件的可维护性是指____。

A.软件的可理解程度,程序修改的难易程度

B.软件文档修改的难易程度

C.程序修改的难易程度

D.使用维护工具进行维护的难易程度

92、决定软件可维护性的主要因素可概括为____。

A.可测试性、可理解性、可修改性B.一致性、结构性、自我描述性

C.可计测性、可访问性、可通讯性 D.可扩充性、简洁性、结构性

93、OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组_____连接来表示的。

A、消息

B、记录

C、数据

D、

属性

94、下面所列的性质中,_____不属于面向对象程序设计的特性。

A、继承性

B、重用性

C、封装性

D、可视化

95、系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在______阶段进行的。

A、需求分析

B、总体设计

C、详细设计

D、编

码阶段

96、在面向对象软件方法中,“类”是_______。

A、具有同类数据的对象的集合

B、具有相同操作的

对象的集合

C、具有同类数据的对象的定义

D、具有同类数据和相

同操作的对象的定义

二、填空题

1、在结构化分析中,_____________用于详细地定义数据流图中

的成分。(数据字典)

2、耦合性和内聚性是衡量_________________的两个定性的标

准。(模块独立性)

3、提高程序的可理解、可修改、可测试的程度,就意味着增强

软件件的___________。(可维护性)

4、从数据流图导出初始模块结构图,主要是通过_____________

两项技术。(变换和事务)

5、结构化程序设计是一种程序设计技术,它采用

________________的设计方法和顺序、选择、循环三种基本

控制结构构造常态程序。(自顶向下、逐步求精)

6、结构化分析方法中,数据流图的四种基本成分为:加工、源

点或终点__________。(数据流和文件)

7、从模块内外的联系来看,结构化设计的要求是

____________________。(模块内联系大、模块间联系小)

8、在需求分析中,可从有关问题的简述中提取组成数据流图的

基本成分。通常问题简述中的动词短语将成为数据流图中的

_______________成分。(加工)或处理

9、如果两模块间的通信信息是若干个参数,而每个参数是单一

的数据项,则称这种耦合性为_____________耦合。(数据)10、如果按用户要求增加新功能或个性已有的功能而进行的维护工作,称为________________。(完善性维护)

11、在系统设计时,当数据流图中数据的流动路径几乎是线性

时,应采用______________策略设计系统结构图。(变换中

心)

12、由底向上渐增式是在测试层次结构的大型软件时常用的一种

方法。用由底向上渐增式方法对软件进行测试时,需要为每

个模块准备一个__________________,它的作用是调用被测

的模块。(驱动模块)

13、现有一个计算类型的程序,它的输入只有一个Y,其范围是—

50≤Y≤50。现采用黑盒法进行测试,设计了一组测试用例:—100,100,0。设计这组测试用例的方法是

___________________。(等价类划分法)

14、现有一种软件开发方法,它将软件开发过程分成以下阶段:

需求分析、原型开发和评价、系统设计和系统实现。这种软

件开发方法称为____________________ 。(原型法)

15、如果某个程序的输入数据的可能值划分为n个合理等价类、m

个不合理等价类,这些等价类均为数轴上的一个有限敬意范

围,则采用边缘值测试方法至少需要_________个测试用例。

(2(m+n))

16、模块内部的算法设计在结构化方法的___________________阶

段进行。(详细设计)

17、在数据流图中,用以表示软件系统之外的人员、设备等外部

实体的基本成分(元素)称为___________________。(外部项)

18、一个模块直接用另一个模块内部的代码和数据的模块间接的

耦合方式称为______________耦合。(内容)

19、 _____________测试解决的主要问题是模块间接口和连接的测

试。(集成)

20、一般来说,在管理软件中,软件生存周期各个阶段的工作量

以________________阶段所占的比例最大。(维护)

21、定性度量模块独立性的两个标准是内聚性和

__________________。(耦合性)

22、改正性维护中,根据文档是提供的测试用例,重新对修改部分进行的测试称为_______测试。(回归)

23、在模块结构图中,直接调用某一模块的其他模块数称为该模块的________________。(扇入数)

24、在__________________测试中,主要测试详细设计和编码实现阶段中的错误。(单元)

25、软件能被理解、被修改、被测试的易难程度称为

_____________性。(可维护)

26、选择足够的测算数据,使得判定中的每个条件获得各种可能的值的测试用例产生的方法称为___________________覆盖。

(条件)

27、如果一个软件系统完成从卡片机上读入一叠卡片,检查卡片的信息是否合理,然后对旧文件进行修改,产生一个修改过

的新文件,并被修改的记录打印成一份报告。对此系统的数

据流图,应采用_________________设计策略,导出模块结

构。(变换流)

28、若模块内的各处理元素都在同一时间间隔内执行完成,这种模块内元素间的联系称为__________________内聚。(时

间)

29、软件危机的事实使人们意识到:计算机要推广使用,其关键在于_____________技术的革新。(软件开发)

30、所谓“用户要求”是指软件系统必须满足的______________ 和限制。(所有性质)

31、软件工程技术中,控制复杂性的两个基本手段“分解”和____________。(抽象)

32、 Jzckcon法的设计原则是:使程序结构同_________________ 相对应。(数据结构)

33、编程的目标是编写出逻辑上正确又易于_______________的程序。(阅读或理解)

34、检验是软件开发过程中不可缺少的部分,检验的目的在于

_______。(发现错误并及时改正)

35、在联合测试时,采用先独立测试每一模块,然后再连到一起

运行,这种方式称为_______联调。(非渐增式)

36、面向对象的开发,最大的优点是帮助分析者、设计者及用户

清楚地表述 ________,便于互相进行交流通讯。(抽象概

念)

37、程序评价和测试系统PET的主要功能是支持对FORTRAN程序采

用白盒法测试,可以监视测试的______________ 。(实际覆

盖程度)

三、名词解释

1、软件

2、软件工程

3、数据字典

4、模块化

5、类:

6、软件危机

7、软件维护

8、继承

9、投资回收期 10、结构化分析方法

11、软件的生命周期12、投资回收期13、结构化分析方法14、模块15、宽度

16、事务流 17、耦合 18、事件 19、函数重载 20、存根模块

21、变换流 22、内聚 23、扇出 24、多态性 25、驱动模块

四、简答题

1、软件生命周期分为哪三个时期?每一时期所完成的基本任务是什么?

2、简述需求分析阶段的具体任务有哪些?

3、什么是结构化程序设计?结构化程序设计采用几种控制结构?

4、程序设计语言的特点?

5、软件测试的基本任务是什么?测试与调试的区别是什么?

6、管理复审与技术审查的任务是什么?

7、可行性研究的步骤?

8、从哪些方面验证软件需求的正确性?

9、对象的特点?

10、用面向对象方法开发软件时,通常需要建立哪三种形式的模型?

11、什么是模块的作用域?什么是模块的控制域?

12、简述两种不同集成测试策略的比较?

13、什么是类?类与对象间是什么关系?

14、面向对象方法特征有哪些?

15、可行性研究的目的?应该从哪些方面研究目标系统的可行性?

16、什么是软件工程?构成软件工程的要素是什么?

17、简述软件测试的步骤?

18、对象有哪几种定义?

19、类—&—对象间的关系可以概括为哪三种?

20、简述渐增模型的特点?

21、总体设计的过程如何?

22、有几种效益的分析方法?

23、面向对象方法的主要优点有哪些?

五、论述题

1、假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件

应该列出下述数据:零件编号,零件名称,定货数据,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。画出上述定货系统的数据流图?

2、根据统计,软件维护工作量占软件整个生存周期工作量的

10%~70%,这个比例随着时间的退役还在增加,为什么软件维

护需要这么大的工作量?

3、某仓库的业务工作流程如下:职工填写领料单,主任审查签名,职工拿单领料,管理员审查单是否有签名,填写是否正确,不正确的退回,正确则给料并修改库存清单,产生定货报表,当某零件的数量低于临界值时,登记信息,下班和前为采购部门采购订单。请画出数据流图表示。

4、计算机技术已不再是单一学科的发展,它是许多相关学科的融合和渗透。举例说明你所熟悉的这方面的技术、方法和应用。

5、某商店派出采购员分赴全国十大城市采购100类畅销产品,共有10

张“采购单”,每张“采购单”中列出这100类产品的采购量,要求汇总成一张总的“进货表”,并计算每类产品的平均价格?(用结构图表示)6、为什么说软件测试是软件开发中不可缺少的重要的环节,但不是软件质量保证的“安全网”?

7、画出下列伪码N—S图。

START

IF p1 THEN

WHILE q DO f

END DO

ELSE IF p2 g

END IF

WHILE p3 DO h

END DO

END IF

STOP

8、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务?151

9、将下列PAD图转换成N—S图。

10、影响软件维护工作的因素有哪些?并举例说明?

复习题参考答案

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

一、填空题 1.程序设计的三种基本结构是、、(顺序、条件、循环),它们的共同点是一个 入口和一个出口。 2.程序的三种基本控制结构的共同特点是。(单入口单出口) 3.用结构化语言来描述加工逻辑的外层结构时,基本结构有________(顺序结构、选择结构、循环结构) 4.软件的实现阶段主要包括(编码)阶段和(测试)阶段。 5.计算机程序及其说明程序的各种文档称为。(软件) 6.软件是、和(程序、数据、相关文档)的完整集合。 7.软件工程管理的具体内容包括对开发人员、组织机构、用户和______(文档资料)等方面的管理。 8.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(软件文 档)的编制是很重要的。 9.软件工程方法学有3大要素、工具、。(方法、过程) 10.需求分析是确定系统(必须做什么),其最终成果是(需求分析规格说明书)。 11.在需求分析中,开发人员要从用户那里解决的之重要的问题是。(软件应当做什么) 12.软件开发活动的顺序是_________。(问题定义、可行性研究、需求分析、设计、编码和测试) 13.软件需求分析的任务包括_________。(问题分析、信息域分析、确定程序结构) 14.最早提出软件系统维护问题的阶段是_________。(需求分析) 15.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做______(软件危机)。 16.“软件危机”是指________ 。(软件开发和维护中出现的一系列问题) 17.快速原型模型是用户和设计人员之间的一种交互过程,适用于(需求不确定性高)的系统。 18.快速原型是利用原型辅助软件开发的一种新思想,它是在研究(需求阶段)的方法和技术中产 生的。 19.瀑布模型是以文档为驱动,适用于(软件需求明确)的系统。 20.瀑布模型本质上是一种________ 模型。(线性顺序) 21._______(喷泉模型)是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的软件开发 方法。 22.瀑布模型的主要特点是_________。(将软件生命周期个阶段依线性顺序连接、用文档驱动的模型) 23.增量模型根据增量方式和形式的不同,分为_____(渐增式增量模型)和原型模型。 24.从目前情况来看,增量模型存在的主要问题是(缺乏丰富而强有力的软件工具和开发环境) 25.可行性研究的目的是______。(确定系统是否值得开发) 26.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 _________。(8%) 27.可行性研究从技术可行性、经济可行性、________、_________(社会因素、软件开发风险分析)四方 面进行分析。 28.数据字典是用来定义_________中的各个成份的具体含义的。(数据流程图) 29.结构化程序设计的一种基本方法是_________。(逐步求精法) 30.结构化分析方法式一种面向(数据流)的开发方法。 31.结构化程序设计,主要强调的是______。(程序的可理解性)

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

软件工程考试试题(含答案) 软件工程考试试题(含答案) 1. 简答题 1.1 请简述软件生命周期模型,包括传统瀑布模型和敏捷开发模型。 传统瀑布模型: 软件生命周期模型的一种经典模型,包含需求分析、系统设计、 编码、测试和运维等阶段,每个阶段完成后才能进入下一个阶段。 优点: - 易于理解和使用; - 需求固定,有利于计划和控制; 缺点: - 需求变更困难; - 风险高,需求出错难以弥补; - 开发周期长,无法满足紧迫的需求。 敏捷开发模型: 一种适应快速变化需求的软件开发模型,主要包括用户故事编写、迭代开发、持续集成和自动化测试等实践。 优点:

- 高度适应变化; - 可以提供早期可用软件; - 强调团队合作和沟通; 缺点: - 需要高度的客户参与度; - 需要经验丰富的开发团队; - 不适用于大型项目。 1.2 什么是需求工程?请简述需求工程的过程和方法。 需求工程: 需求工程是软件开发过程中用来获取、分析、定义和验证系统需 求的过程。它的目标是建立对用户需求的准确和完整的理解。 需求工程的过程: 1. 需求获取:通过与用户、利益相关者沟通和交流获取用户需求。 2. 需求分析:对需求进行分析、整理,形成需求的详细描述。 3. 需求定义:将需求进行文档化,包括功能需求、非功能需求等。 4. 需求验证:通过原型、模型或评审等方式验证需求的正确性和 完整性。 需求工程的方法:

- 面谈法:与用户、利益相关者进行面对面的交谈,获取需求信息。 - 观察法:观察用户的工作环境和行为,了解其需要的功能和约束 条件。 - 文献研究法:通过研究现有的相关文档来获取需求信息。 - 原型法:通过创建原型,让用户提供反馈并进一步明确需求。 2. 算法设计题 有一组整数,编写一个算法将这组整数按照从小到大的顺序进行排序。 算法设计: 1. 将整数数组按照从小到大的顺序进行排序。 2. 使用冒泡排序算法: - 比较相邻的两个数,如果前一个数大于后一个数,则交换它们 的位置。 - 重复上述操作,直到没有任何交换发生,即数组已经按照从小 到大的顺序排列好。 算法实现: ```python def bubble_sort(nums): n = len(nums)

软件工程复习题及参考答案

软件工程课程复习资料 一、单项选择题: 1.下面哪些UML图描述系统行为 A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 A.UML 是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5.根据程序流程图划分的模块通常是 A.信息内聚的模块 B.过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为 A.m-1 B.m C.m+1 7.按ISO9000-3的说明,下列属软件配置项的是 A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8.软件测试的目的是 A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是 A.软件体系结构 B.模块细节 C.软件性能 10.软件项目开发计划的内容有 A.数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的是 A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价 A.软件过程能力 B.组织能力 C.学习能力 13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 A.完善性维护 B.改正性维护 C.适应性维护 14.对项目软件而言,软件功能需求信息主要由谁提供 A.软件用户 B.软件开发人员 C.软件项目管理人员 15.IDEF0 图反映不出 A.系统做什么 B.系统功能由谁做 C.系统如何做 16.原型模型是一种什么开发过程模型 A.自顶向上 B.由外至内 C.增量式 17.系统流程图描述 A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型是 A.瀑布模型 B.RAD 模型 C.原型模型 20.UML 图中描述系统结构的是 A.组件图 B.顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法 A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的是 A.可靠性 B.可用性 C.可行性 23.系统分析员在需求分析最后负责编写 A.用户手册 B.概要设计说明书 C.可行性研究报告 24.为了提高软件的可靠性、可维护性等而对软件的修改称为 A.改正性维护 B.适应性维护 C.预防性维护 25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构 A.与问题结构对应 B.与问题结构独立 C.与用户界面对应 26.单元测试的计划应该在什么阶段完成 A.需求分析 B.概要设计 C.详细设计

软件工程复习题及答案

软件工程复习题及答案 1. 软件工程的三要素是()。 A. 技术、方法和工具 B. 方法、对象和类 C. 方法、工具和过程(正确答案) D. 过程、模型、方法 2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。 A. 软件工程材料(正确答案) B. 软件工程目标 C. 软件工程原理 D. 软件工程过程 3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A. 软件生命周期 B. 软件测试 C. 软件工程(正确答案) D. 软件过程 4. 下列说法中正确的是()。 A. 20世纪50年代提出了软件工程的概念 B. 20世纪60年代提出了软件工程概念(正确答案) C. 20世纪70年代出现了客户机/服务器技术 D. 20世纪80年代软件工程学科达到成熟 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. 程序设计

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

软件工程复习题(带答案) 软件工程复习题 一、单选题 1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D ) A产生危机 B质量保证 C开发效率 D生产工程化 3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究 的结论主要相关于( A ) A软件系统目标 B软件的性能 C软件的功能 D软件的质量 4、软件需求分析一般应确定的是用户对软件的( D ) A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试 计划的制订应始于软件开发的哪个阶段? ( D ) A.需求分析 B.软件设计 C.程序编码 D.软件计划 6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B ) A.原型化方法

B.结构化方法 C.面向对象方法. D.功能分解法 7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A ) A.软件模型 B.软件功能 C.软件结构 D.软件加工 8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不 属于开发技术的范畴?(D) A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依 据,而且也影响软件的() A.可理解性 B.可维护性 C.可扩展性 D.可靠性 10、从( )语言开始,软件摆脱了对硬件的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( ) A.实体

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除D风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类D确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 &功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能B模块的接口 C.数据的名称和用途D模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有(C)。 A.只有结构化语言.B有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(B)维护。 A.正确性B适应性 C完善性D预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D•变换、数据存储、加工和数据流

《软件工程》复习题及答案

软件工程复习题 第一部分(第1~6章) 一、选择题: 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.下列有关软件工程的标准,属于国际标准的是(C ) A.GB B.ANSI 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.《计算机软件保护条例》

软件工程复习题及答案

一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将 正确答案填涂在答题卡上) 1.软件质量因素不包括。 A.正确性 B.高性能 C.可测试性 D.可理解性 2.软件可行性研究实质上是要进行一次需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 3.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 4.可行性分析中,系统流程图用于描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 5.结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 6.检查软件产品是否符合需求定义的过程称为。 A.确认测试 B.集成测试 C.系统测试 D.单元测试 7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 8.通信内聚是指。 A.把需要同时执行的动作组合在一起形成的模块 B.各处理使用相同的输入数据或者产生相同的输出数据 C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D.模块内所有元素共同完成一个功能,缺一不可 9.一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 10.下述四个能力成熟度等级,级别最高的是。 A.已定义级 B.优化级 C.可重复级 D.已管理级 11.结构化程序设计,主要强调的是。 A.程序的执行效率 B.模块大小 C.程序的可理解性 D.模块关系 12.软件调试技术包括。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干 (B)。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种):项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。

软件工程 复习题含答案

1. 构成软件项目的最终产品有哪些? 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 2.可行性研究目的? 确定在问题定义中所提出的问题是否值得去解,在限制条件下,问题能否解决。 3.可行性研究包括哪几方面的内容? (1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足; (2)经济可行性:经济效益是否超出开发成本; (3)操作可行性:系统操作在用户内部行得通吗? (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。 4.需求分析的描述工具有哪些? 有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等。 5. 需求分析的基本任务是什么? 准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。 6.软件需求规格说明书由哪些部分组成? 组成包括:

(1) 引言:编写目的、背景说明、术语定义及参考资料等。 (2) 概述主要功能、约束条件或特殊需求。 (3) 数据流图与数据字典。 (4) 用户接口、硬件接口及软件接口。 (5) 性能需求、属性等。 (6) 其它需求,如数据库、操作及故障处理等。 7.系统流程图与数据流程图有什么区别? 系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。 系统流程图从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况。数据流程图从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的工作状况。 8.数据字典包括哪些内容?它的作用是什么? 数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。对用户来讲,数据字典为他们提供了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较容易修改已建立的系统逻辑模型。 9. 软件工程的目标 是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维

软件工程复习习题(含答案)

一、选择题 1.在软件危机中表现出来的软件质量差的问题,其原因是___没有软件质量标准____。 2.在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___健壮性__。 3.在下列测试技术中,___逻辑覆盖___不属于黑盒测试技术。 4.___封装___是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 5.软件测试时为了___发现错误_____而执行程序的过程。 6.在软件系统中,一个模块应具有什么样的功能,这是由___需求分析__决定的。 7.面向对象分析是对系统进行___需求分析_____的一种方法。 8.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___可维护性____。 9.模块内聚度越高,说明模块内各成分彼此结合的程序越____紧密__。 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_维护阶段__。11.常用的面向对象的软件过程模型是__喷泉模型_____。生命周期模型 A.瀑布模型(规范化,阶段性取得前进) B.喷泉模型(面向对象,开发活动间没明显边界,无缝过渡) C.原型模型(快速,线性顺序,不带反馈环) D.增量模型(产品分解为一系列增量构件,开发中逐步加入) E.螺旋模型(瀑布&快速原型结合,每阶段加风险评估) 12.面向对象的分析阶段建立的系统模型不包括____数据模型____。 有对象模型、动态模型、功能模型 13.提高软件的可维护性可采用很多措施,下列哪个不在措施之列?提供没有错误的程序。 措施:建立质量保证制度、改进程序文档质量、明确软件质量标准 14.计算机系统可以划分为软件系统和硬件系统,软件是一种逻辑产品。 15. 可行性分析研究的主要目的是项目是否值得开发 16.在下列四种模块的耦合性中,信息隐蔽性能最好的是(C数据耦合) A.控制耦合 B.内容耦合 C. 数据耦合 D. 特征耦合 17.需求分析是回答系统必须(D做什么)的问题。 A. 为谁做 B.怎么做 C.何时做 D.做什么 18.在UML中,类是用(A矩形框)表示的 A 矩形框 B 椭圆 C 箭头 D 菱形框 19.编码阶段是位于哪个阶段之后A A. 详细设计 B. 可行性研究 C. 总体设计 D. 需求分析 20.在数据流图中,圆圈符号表示的是B A. 数据源点或终点 B.数据处理 C. 数据存储 D. 数据流 21.内聚是衡量模块内部聚合能力的量度。内聚越高,说明模块内各成分彼此联系的程度C A.越松散B.彼此相等C.越紧密D.没有联系 22.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(D) A、维护时期 B、开发时期 C、运行时期 D、计划时期 23.软件维护有四种,下面哪一个不是的B A. 完善性维护 B. 测试性维护 C. 预防性维护 D. 适应性维护 24.结构化程序设计采用的三种基本控制结构是(A) A.顺序、选择、重复 B.选择、循环、重复 C.顺序、分支、选择 D.输入、变换、输出 25.软件测试的目的是(B) A. 为了表明程序没有错误 B.为了发现程序中的错误 C. 为了说明程序能正确地执行 D.为了评价程序的质量 26.在UML的用例图中,人形符号表示的是C A 关联 B 用例C角色 D 系统 27.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D) A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑 28.下面哪些测试属于黑盒测试(C)。 A、路径测试 B、循环测试 C、等价类划分 D、条件判断 29.(A)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

软件工程复习题及答案

软件工程复习题及答案 选择题 1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 2.软件维护产生的副作用,是指( C ) A.开发时的错误 B.隐含的错误 C.因修改软件而带来的错误 D.运行时误操作 3.软件详细设计的主要任务是确定每个模块的( A ) A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 4.为了提高模块的独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 5.软件是一种( C ) A.程序 B.数据 C.逻辑产品 D.物理产品 6.下列那个模型不是面向对象的分析中建立的模型( B ) A.对象模型 B.瀑布模型 C.动态模型

D.功能模型 7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 A.集成测试 B.恢复测试 C.验收测试 D.单元测试 8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 9.程序的三种基本控制结构是( B ) A.过程、子过程和分过程 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.软件生存周期中时间最长的是( D )阶段 A.总体设计 B.需求分析 C.软件测试 D.软件维护 11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要 的。 A.需求说明 B.概要设计 C.软件文档 D.测试计划 12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共60题,每题1分,共60分) 1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、正确性 C、完整性 D、可靠性 正确答案:D 2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ). A、可移植性 B、可理解性 C、可重用性 D、可修改性 正确答案:A 3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。 A、容错性 B、检测性 C、可操作性 D、安全性 正确答案:C 4、下列属于维护阶段的文档是( ) A、软件问题报告 B、用户操作手册 C、软件测试分析报告 D、软件规格说明 正确答案:B 5、快速原型模型的主要特点之一是( ) A、及早提供工作软件 B、开发完毕才见到产品 C、及早提供全部完整的软件产品 D、开发完毕后才见到工作软件 正确答案:C

6、可维护性通常包括( )。 A、可用性和可理解性 B、可修改性、数据独立性和数据一致性 C、可理解性、可修改性和可测试性 D、可测试性和稳定性 正确答案:C 7、软件的可修改性支持软件的( )。 A、可互操作性 B、可维护性 C、可追踪性 D、有效性 正确答案:B 8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A、数据通信 B、数据定义 C、数据维护 D、数据库设计 正确答案:B 9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。 A、可追踪性 B、可理解性 C、可互操作性 D、可维护性 正确答案:C 10、可维护性的特性中相互促进的是( ) A、效率和可移植性 B、可理解性和可测试性 C、效率和结构好 D、效率和可修改性 正确答案:B 11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

软件工程复习题答案

. 选择题 1.软件工程研究的主要内容有(ABCD) 2. A.软件开发方法、技术B.软件开发工具及环境 3. C.软件管理技术 D.软件规范(国际规范) 4.目前典型的软件开发模型有(ABCD): 5. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型 6.包含风险分析的软件工程模型是(C): 7. A.瀑布模型 B.增量模型C.螺旋模型D.喷泉模型 &软件危机的主要表现是(BD) 9. A.软件成本太高 B.软件产品的质量低劣 10. C.软件开发人员明显不足D.软件生产率低下 11.以下属于非功能需求的有(ABC) 12. A.机构需求B.产品需求C.外部需求D.领域需求 13.需求分析的作用是(ABCD) 14. A.定义软件的范围及必须满足的约束 15. B.确定软件的功能和性能及与其他系统成分的接I I 16. C.建立数据模型、功能模型和行为模型 17. D.最终提供需求规格说明,并用于作为评估软件质量的依据 18.需求工程的基本活动包括(ABCD) 19. A.获取需求B.需求分析与建模 C.确认需求D.进化需求 20.需求获取之所以困难,其主要原因有(ABCD) 21. A.缺乏领域知识 B.存在默认的知识 22. C.存在多个知识源 D.客户可能的偏见 23.常用的需求分析方法有(BCD) 24. A.功能分析方法 B.结构化分析方法 25. C.信息建模法 D.面向对彖的分析方法 26.数据词典中可包含的条目有(ABCD) 27. A.数据流B.数据项C.文件D.加工 28•属于分布式的软件体系结构有(B) 29. A.仓库模型B.客户/服务器模型C.分布式对象结构 D.中间件 30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A) 31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合 32. A. 12 345 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 1 33.对于块内部联系的类型,内聚性由弱到强的是(A) 34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件详细设计主要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 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、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不确定的

软件工程复习试题及答案

软件工程复习试题及答案 Revised by BETTY on December 25,2020

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为 N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 .数据流图有四种基本成分:源、终点,处理,存储,数据 流。 7 8SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。 2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇 点。 5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。 8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。 10.常用的测试方法有黑盒测试和白盒测试。

软件工程复习重点答案

软件工程复习重点 一、选择题 1、软件工程三要素是指( B )P8 A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 2、瀑布模型本质上是一种( A )。P23 A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。P79 A、数据流 B、数据流图 C、数据库 D、数据结构 4、概要设计的任务是设计系统的( B物理模型)P70 A、逻辑模型 B、物理模型 C、概念模型 D、程序流程图 5、描述软件结构的工具有( A模块结构图) A、模块结构图 B、PAD图 C、数据流程图 D、程序 6、进行需求分析可以使用多种工具,但( C )是不适用的。 A、数据流程图 B、判定表 C、PAD图(详细设计) D、数据字典 7、可行性研究要进行的需求分析和设计应该是( C )。 A、详细的 B、全面的 C、简化的、压缩的 D、彻底的 8、软件生命周期由( C )三个时期组成。 A、概要设计、详细设计和系统实现 B、可行性分析、系统设计和编码 C、定义、开发和运行维护 D、分析、设计和测试 9、以下( D )不是模块。对象是一个实体 A、过程 B、程序 C、函数 D、对象 10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。 A、设计阶段的概要设计 B、设计阶段的详细设计 C、编码阶段 D、测试阶段 11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78 A、扇入数 B、扇出数 C、宽度 D、作用域 12、下列工具哪一个是需求分析阶段常用工具?( D ) A、PAD B、PFD C、N-S D、DFD数据流程图 需求分析常用的是数据流程图和数据字典 13、为了提高测试的效率,应该( D) A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据库 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 14、成功的测试是指( B发现程序的错误) A、运行测试实例后未发现错误项 B、发现程序的错误 C、证明程序正确 D、改正程序的错误 15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。 A、白盒法 B、灰盒法 C、黑盒法 D、综合法 16、在物理设计阶段,根据处理的需要,进行物理存储安排,形成数据库的( A内模式) A、内模式 B、外模式 C、概念模式 D、物理模式

软件工程复习题目+答案

一、选择题 1、软件是一种(2)性工业产品。 (1)理论(2)知识(或逻辑)(3)消耗(4)体力 2、需求分析是在(2)进行的。 (1)用户(2)用户和分析人员之间 (3)开发人员内部(4)使用和维护人员之间 3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对 系统进行研究属于(2)的研究。 (1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性 4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是(4)。 (1)工作阶段的等待时间(2)生产原型的复杂性 (3)参与人员所需的工作站数(4)参与人员之间的沟通困难 5、需求分析阶段的研究对象是(1)。 (1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求 6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行(4)。 (1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查 7、系统分析员应当(4)。 (1)善于使用户接受自已的观点(2)善于使自已获得成就 (3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件 8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统(1)的过程。 (1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告 9、系统测试的目的是(4)。 (1)找出编码错误(2)找出数据错误 (3)要证明程序无错(4)发现软件错误 10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为(3)。 (1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚 11、对象是面向对象开发的基本成分,每个对象可用它的一组(3)和它可以执行的一组操作来定义。(1)服务(2)参数(3)属性(4)调用 12、最高程度也是最差的耦合是(2)。 (1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合 13、概要设计阶段产生的文档不包括(4)。 (1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告 14、汽车有一个发动机,汽车和发动机之间的关系是(2)。 (1)一般具体关系(2)整体部分关系(3)分类关系(4)is a 关系 15、覆盖准则最强的是(4)。 (1)语句覆盖(2)判定覆盖(3)条件覆盖(4)路径覆盖 16、下面对数据流图描述不正确的是(4)。 (1)是组织中信息运动的抽象(2)是系统模型的主要形式 (3)它与对系统的物理描述无关(4)所描述的内容是面向管理员的 17、在基本的数据加工中,决策树适合于表达(2)。 (1)决策或判断步骤较多的加工问题 (2)决策或判断条件较多,各条件又相互组合的问题 (3)非结构化决策问题 (4)半结构化决策问题

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