历年软件工程复习题与答案 联系客服

发布时间 : 星期日 文章历年软件工程复习题与答案更新完毕开始阅读518811836aec0975f46527d3240c844769eaa0b0

(4)评价原型;在运行基础上,根据原型目标,考核原型的特性,分析原型效果是否满足用户需求,提出修改意见。

(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改并明确用户

需求,再重新构造原型。

9.简述软件工程研究的内容和它所面临的主要问题。 答:内容:①软件开发技术②软件开发管理

面临的主要问题:①软件费用②软件可靠性③软件维护④软件生产率⑤软件重用 10.说明需求分析的定义,并简述需求分析的基本任务。

答:(1)定义:需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求成熟转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

(2)基本任务:要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。 11.就程序设计语言的工程特性而言,对程序编码有哪些要求?

答:(1)可移植性;(2)开发工具的可利用性;(3)软件的可重用性;(4)可维护性。 12.简述提高软件可维护性的方法。

答:(1)建立明确的软件质量目标。(2)利用先进的软件开发技术和工具。(3)建立明确的质量保证工作。

(4)选择可维护的程序设计语言。(5)改进程序文档。 13.说明面向对象的要素以及这些要素的具体含义。

答:(1)抽象:抽象是指强调实体的本质。内在的属性,忽略一些无关紧要的属性。

(2)封装性(信息隐蔽):封装性是指所有软件部件内部都有明确的范围以及清楚的外部边界。 (3)共享性:面向对象技术在不同级别上促进了共享。 14.增量构造模型有什么特点?

答:增量构造模型是部分阶段进行增量开发,即在该模型中,需求分析阶段和设计阶段与瀑布模型一样,按瀑布模型方式进行开发,

而编码和测试阶段不采用瀑布模型方式,而采用增量方式开发,即针对部分功能进行编码,进行测试,将这分功能提交用户,然后再对另一部分功能编码,测试提交用户,直至把全部功能按这种方式开发完毕,在这种模型中,用户可以及早看到部分软件功能,及早发现问题,以便在其他软件功能开发时及时解决。 15.软件测试要经过哪些步骤?简述这些测试的基本任务。 答:(1)单元测试,集成测试,确认测试,系统测试。

(2)单元测试:对源程序中的每个程序单元进行测试,检查各模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

集成测试:检查与设计相关的软件结构的有关问题。

确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。 系统测试:把已确认的软件与其他系统元素结合在一起进行测试。

16.简述需求分析方法应遵循的基本原则。

答:(1)必须能够表达和理解问题的数据域和功能域。 (2)可以把一个负责问题按功能进行分解并可逐层细化。 (3)建模。 17.模块间的耦合性包括哪些类型?

答: (1)无直接耦合 (2)数据耦合 (3)标记耦合 (4)控制耦合 (5)公共耦合 (6)内容耦合。 18.软件维护的困难性表现在哪几个方面?

答:(1) 一般来讲,维护人员对开发人员写的程序及文档,理解都比较困难,对维护工作不会喜欢;

13

(2) 维护持续时间都很长,在开发人员不在现场的轻快下,维护软件通常是很困难的;

(3) 绝大多数软件在设计时对将来的软件修改都没有考虑或考虑不多,尤其未能在设计中强调并认真 解决好模块的独立性,使软件的修改既困难又易发生差错。 19.增量模型和瀑布模型的本质区别是什么?

答:瀑布模型:开发模型呈线性,所以当开发成果未经过测试时,用户无法看到软件的效果。

增量模型:增量模型是一种非整体开发的模型。

增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件。 20.画数据流图应注意哪些事项?

答:(1)命名:不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。 (2)画数据流而不是控制流。 数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。 (3)一般不画物质流。 (4)每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果 。 (5)编号: 某个加工分解成加一张数据流图时,上层图为父图下层图为子图。子图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。 (6)父图与子图的平衡:子图的输入输出数据流同父图相应加工的输入输出数据流必须一致 (7)局部数据存储:当某数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。 (8)注意数据流图的易理解性。 21.软件生存周期有哪几个活动?其中需求分析阶段的主要任务是什么?

答:(1) 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。 包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

(2)需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:

A:问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。

B:分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。

C:编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。

14

五、应用题

1.某个程序的伪码如下(前面的标号只用于标明语句顺序,不参与程序运行): 1:START 2:IF L1 THEN

3:S1

4:DO WHILE L2

5:S2

6:IF L3 THEN

7:S3

ELSE 8: S4

9:END IF

10:END DO

EISE

11:S5 12:END IF 13:STOP

(1)试将其转换成PAD图(5分) (2)计算程序的环路复杂性(5分) 答:(1)

(2)

该程序的环路复杂度为4

15

2.某服装贸易公司的销售子系统功能如下:

(1)公司提供多种类别服装,所有类别的服装通过各个地区的分公司进行销售;

(2)公司接收分公司的订单,检验订单,若有库存就供货,则修改库存,给仓库开备货单,并且将订单留底;若库存不足,则进行缺货登记。

(3)根据缺货记录将缺货通知单发给采购部,以便采购。

(4)根据采购部门的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单 进行供货处理。

试采用SA方法画出该公司销售管理系统的分层DFD(画出顶层、0层、1层图)。 答:顶层结构图:

0层: 1层:

3.根据下列对某种人寿保险问题的描述画出决策表。

某保险公司的一种人寿保险的参保类型划分原则如下:

(1)如果年龄不满25岁,男性适用保险类型A,女性适用保险类型B。

(2)如果年龄满25岁但不满50岁,已婚男性适用保险类型A,未婚男性适用保险类型B,已婚女性适用保险类型B,未婚女性

适用保险类型C。

(3)年龄在50岁以上者,已婚女性适用保险类型B,其余适用保险类型C。 答:

16