软件工程复习题与答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、填空题

1.为了支持软件人员开发和维护活动而使用的软件一般是指___软件工具_____。

3.在软件结构的设计中,各个模块之间要力求降低耦合性,提高__聚性_____。

5.数据流图(DFD)一般可分为变换型和__事务性_____两类。

6.软件维护的容包括校正性维护、适应性维护、__完善性维护__和预防性维护。

7.软件的生产经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程时代___。8.渐增模型是瀑布模型的变种,分为两类:增量构造模型和__演化提交模型__。

9.状态图反映了_事件与状态____的关系。

10.软件项目管理过程一个关键的活动是__制定项目计划__,它是软件开发工作的第一步。11.组成软件的两个部分是:____程序和文档________。

14.变换型数据流图是由输入、__变换(或处理)_____和输出三部分组成的。15.Jackson方法是一种面向___数据结构_____的开发方法。

16.结构化语言是介于___自然语言_____和形式语言之间的一种半形式语言。

17.软件产品在交付使用之前一般要经过___单元测试___、集成测试、确认测试和系统测试。18.不采用软件工程的方法开发软件,软件只有程序而无文档,从而导致维护工作困难,这是一种__结构化______的维护。

19.子类自动共享父类数据结构和方法的机制是___继承性_____,这是类之间的一种关系。21.软件生产的发展经历了三个阶段,分别是程序设计时代、程序系统时代和___软件工程____时代。

22.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和__技术可行性____。

23.HIPO图的H图用于描述软件的层次关系,矩形框表示一个模块,矩形框之间的直线表示模块之间的____调用_____关系。

24.数据流图描绘数据在系统中___流动和处理___的过程。

25.为了便于对照检查,测试用例应由输入数据和预期的___输出结果(输出数据)____两部分组成。

26.软件详细设计阶段常采用的工具有图、表和____语言_______。

28.实现容错技术的主要手段是__冗余_____。

29.软件开发环境的目标是提高软件开发的生产率和__降低软件的费用__。

32.软件工程管理中的控制包括进度控制、人员控制、经费控制和_____质量控制______。33.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和_演化型原型34.软件复杂性主要表现在程序的复杂性。程序的复杂性主要指___模块___程序的复杂性。35.白盒法中,__基本路径测试_______首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。

36.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是__PAD图。37.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是__控制耦合______。

38.结构化分析是面向__数据流_____进行需求分析的方法。

41.开发软件工具的主要目的是为了提高软件生产率和_改善软件的质量__。

42.确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动称为__软件质量管理。

44.在软件测试的所有覆盖方法中发现错误能力最弱的覆盖是_语句覆盖_____。

45.黑盒测试又被称为数据驱动测试或_基于规格说明的测试__。

46.PDL具有严格的关键字外层语法,用于定义__控制结构____、数据结构和模块接口。47.如果一个模块可调用n个模块,其中直接的下属模块的个数是m个(m<=n),那么该模块的扇出数是___n_____个。

48.在概要设计阶段,形成软件结构并经过优化改进后,还应为每个模块写一份处理说明和提供一份__接口说明____。

49.描述加工逻辑的三种工具是结构化语言、判定表、__判定树_____。

三、名词解释题

1.软件开发方法

软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

2.耦合性

用于衡量不同模块彼此间互相依赖(连接)的紧密程度。

4.软件质量保证

是指在软件开发过程中,为了保证产品满足指定标准而进行的各种活动。

5.确认测试

确认组装完毕的程序是否满足软件需求规格说明书(SRS)的要求。

6.软件生存周期

一个软件从提出开发要求直到该软件报废为止的整个时期。

7.需求分析

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

8.程序设计风格

程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等。

11.软件开发方法

用早就定义好的技术集合和符号表示习惯来组织软件生产的过程。

主要有:结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法

13.完善性维护

增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动。

15.软件工具

软件工具一般是指为了支持软件人员开发和维护活动而使用的软件。

16.软件开发环境

指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。

18.黑盒测试法

把被测试对象看成一个黑盒子,测试人员完全不考虑程序的部结构和处理过程。

20.瀑布模型

将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。

21.软件可靠性

在规定的环境下和时间里软件按要求的功能执行的概率。

23.白盒测试法

把测试对象看作一个打开的盒子,测试人员须了解程序的部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

25.模块化

模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的

子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。

四、简答题

2.什么是模块化?软件结构设计的优化准则是什么?

答:模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。

模块设计的准则:

(1) 改进软件结构, 提高模块独立性。

(2) 模块大小要适中。

(3) 软件结构图的深度、宽度、扇入和扇出要适当。

(4) 尽量降低模块接口的复杂程度。

(5) 设计单入口、单出口的模块。

(6) 模块的作用域应在控制域之。

3.简述详细设计的基本任务。

答:(1)为每个模块确定采用的算法;(2)确定每一模块使用的数据结构;(3)确定模块接口的细节;(4)过

程设计说明书;(5)设计每一模块的测试用例。

7.简述结构化程序设计方法的基本要点。

答:(1)采用自顶向下,逐步求精的程序设计方法 (2)使用三种基本控制结构构造程序,分别是顺序,选择和循环 (3)采用主程序员组的组织形式 (4)采用单入口单出口的模块形式。

11.就程序设计语言的工程特性而言,对程序编码有哪些要求?

答:(1)可移植性;(2)开发工具的可利用性;(3)软件的可重用性;(4)可维护性。

12.简述提高软件可维护性的方法。

答:(1)建立明确的软件质量目标。(2)利用先进的软件开发技术和工具。(3)建立明确的质量保证工作。(4)选择可维护的程序设计语言。(5)改进程序文档。

15.软件测试要经过哪些步骤?简述这些测试的基本任务。

答:(1)单元测试、集成测试、确认测试、系统测试。

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

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

(4)确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求。

相关文档
最新文档