搜档网
当前位置:搜档网 › 软件工程复习题及答案

软件工程复习题及答案

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

软件工程复习题(一)

一、选择题

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、不确定的

18、可行性分析就是在系统开发的早期所做的一项重要的论证工作,它就是决定该系统就是否开发的决策依据,因此必须给出什么样的回答。( )

A、确定

B、行或不行

C、正确

D、无二义

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

A、程序的规模

B、程序的效率

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

D、程序易读性

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

A、结合

B、隐藏

C、封装

D、抽象

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

A、初始化的软件结构图

B、优化后的软件结构图

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

D、程序编码

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

A、软件的特点

B、质量

C、软件产品

D、功能

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

A、正确性

B、移植性

C、可靠性

D、完整性

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

A、需求说明

B、概要说明

C、软件文档

D、测试计划

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

A、软件容错

B、系统软件

C、测试软件

D、恢复测试

二、填空

1、软件可维护性度量的七个质量特性就是可理解性、可测试性、可修改性、可靠性、( )、可使用性与效率。

2、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、( )

3、为了便于对照检查,测试用例应由输入数据与( )预期的两部分组成。

4、若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=( )

5、规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有( )的软件。

三、简答题

1、简述软件测试的任务、目的与类型。

2、简述软件工程目标与面临的主要问题。

3、简述软件开发过程、每个里程碑的提交物。

4、简述软件工程的七条基本原理。

四、论述题

1、试论面向对象方法较之结构化方法的先进性。

2、试述软件开发工具对软件开发的影响。

3、试论文档在软件开发过程中的重要性。

五、应用设计题

1、一个软件公司有许多部门,分为开发部门与管理部门两种。每个开发部门开发多个软件产品。每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理、工作人员与开发人员。开发部门有经理与开发人员,管理部门有经理与工作人员。每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。每位经理可主持多个开发项目。请建立该软件公司的对象模型。

软件工程导论复习题(一)

答案

1、可移植性

2、判断树

3、输出结果

4、F/(1+(n*i))

5、容错功能

三、简答题

1、答:软件测试就是一个为了寻找软件错误而运行程序的过程。目的就就是为了发现软件中的错误。一个好的测试用例就是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试就是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试与黑盒测试两大类。

2、答:软件工程的目标就就是建造高质量的软件。但就是目前的软件开发面临着许多问题:(1)对软件开发成本与进度的估计常常很不准确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。(4)软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。(7)软件成本在计算机系统总成本中所占的比例逐年上升。

3、答:软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、性能与接口。系统需求与软件需求均需文档化,并与用户一起复审。并提交需求分析报告。(3)设计,包括概要设计与详细设计,软件设计就是一个多步骤的过程,主要就是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计。设计过程将需求转换为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它就是软件配置的重要组成部分,经复审后提交相应的概要设计与详细设计报告。(4)编码,把设计转化为机器可执行的程序。提交源程序清单。(5)测试,提交测试报告。(6)维护,提交维护报告。

4、答:(1)用分阶段的生命的生命周期计划严格管理;

(2)坚持进行阶段评审;

(3)实行严格的产品控制;

(4)采用现代程序设计技术;

(5)结果应能清楚地审查;

(6)开发小组的人员应该少而精;

(7)承认不断改进软件工程实践的必要性。

四、论述题

1、答:(1)面向对象方法更符合人的思维方式,更容易抓住问题的主干。

(2)所开发出的软件更符合“高内聚、松耦合”的原则。所设计出的类模块独立性更强。

(3)更适合于开发大型的软件,更适合于快速原型法开发方法。使软件生产率大大提高。

(4)使用面向对象技术开发出的软件的可测试性与可维护性都较强。

(5)面向对象方法与技术能够贯彻软件开发的全过程。从分析、设计、编码到测试维护,采用面向对象的方法不存在语义断层,使人的思维连续,减少各阶段之间所采用方法的不向融性。

(6)使得软件的可重用性大幅度提高。

2、答:软件开发工具应用于软件开发可以大幅度地提高软件生产率,提高软件质量。方便软件管理,便于软件重用,减少低级重复劳动,支持快速原型设计,便于用户与开发人员的交流。降低大型复杂软件的开发难度。

3、答:论述要点:

在软件的生产过程中,总就是伴随着大量的信息要记录、要使用。因此,软件文档在软件产品的开发过程中起着举足轻重的作用。(1)提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中,管理人员可把这些记录下来的材料作为检查软件开发进度与开发质量的依据,实现对软件开发的工程管理。(2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误与不一致性,便于及时纠正。(3)作为软件开发人员在一定阶段的工作成果与结束标志。(4)记录开发过程中的有关信息,便于协调以后的软件、开发、使用与维护。(5)提供对软件的运行、维护与培训的有关信息,便于开发人员之间的协作、交流与了解,使软件开发活动更科学、更有成效。便于潜在用户了解软件的功能、性能等各项指标。

五、应用设计题

解:一个软件公司许多部门,分为开发部门与管理部门两种,每个开发部门开发多个软件产品。每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员与开发人员每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。每位经理可主持多个开发项目。建立该软件公司的对象模型。

相关主题