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

软件工程复习题(2013复习题)

软件工程复习题

一、单选题

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

A模块高内聚B模块低耦合C模块独立性 D程序模块化

2、软件工程方法的提出目的应该是最终解决软件的什么问题?( 生产工程化)

3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于(软件系统目标)

4、软件需求分析应确定的是用户对软件的(功能需求和非功能需求)

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

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

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

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

8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具 C.软件工程环境 D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依

据,而且也影响软件的()A.可理解性 B.可维护性C.可扩展性D.可靠性

10、从( )语言开始,软件摆脱了对硬件的依赖。A.第一代B.第二代 C.第三代 D.第四代

11、结构化程序设计主要强调程序的(可读性)

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

13、软件开发的结构化分析方法,常用的描述软件功能需求的工具有(数据流图,数据字典)

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

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

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

17、在软件结构化设计中,好的软件结构设计应该力求做到(顶层扇出较高,中间扇出较少,底层模块高扇入)

18、在软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要是用于测试(软件外部功能)

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

20、软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,而在测试过程的多种环节中最基础的是(单元测试)

21、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于(软件系统目标)

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

A.信息处理

B.信息存储

C.外部实体

D.系统状态

23、PAD图是一种(详细设计)工具。

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

25、下面哪一项不是软件设计规格说明中模块的内容?( 外部文件结构)

26、需求分析的主要任务是(分析用户要求,将软件功能和性能描述为具体的规格说明书).

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

28、在数据字典中,(数据存储)给出了某个文件的定义,文件的义通常也是列出其记录的组成。

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

30、软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是(分析人员和用户)

31、数据字典是对数据定义信息的集合,它所定义的对象都包含于(数据流图)

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

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

34、分层数据流图是比较严格又易于理解的描述方式,顶层描绘了系统的(总貌).

35、为了提高测试的效率,应该(选择发现错误可能性大的数据作为测试数据)

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

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

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

C.软件的可维护性差

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

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

38、软件设计中,可应用于详细设计的工具有 (程序流程图、PAD图、N-S图和伪码).

39、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意(遵守结构化设计原则)

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

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

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

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

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

A.需求说明书

B.设计说明书

C.源程序

D.项目开发设计

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

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

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

48、结构图中,带有注释的小箭头表示(调用)

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

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

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

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

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

50、软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?(B)A软件结构B模块算法 C制定测试计划D数据库设计

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

52、软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是(避免后期付出高代价)

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

54、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为(变换流与事务流)两种

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

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

A.从加工流向加工

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

C.从加工流向外部实体

D.从外部实体流向加工

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

58.概要设计的结果是提供一份模块说明书。

59.需求分析是由分析员了解用户的要求,认真细致地调研。分析,最终应建立目标系统的逻

辑模型并写出(需求规格说明书)

60变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于变换型。

61PAD(Problem Analysis Diagram)图是一种详细设计工具。

12.分析员是B。 A.用户中系统的直接使用者B.用户和软件人员的中间人

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

13.在软件开发中,有利于发挥集体智慧的一种做法是A。

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

14.在开发软件时,A可用来提高程序员的工作效率。

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

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

15.软件测试中设计测试实例(test case)主要由输入数据和C两部分组成。

A.测试规则B.测试计划C.预期输出结果D.以往测试记录分析

16.结构化程序设计主要强调程序的C。可读性

18.成功的测试是指B。A.运行测试实例后未发现错误项B.发现程序的错误C.证明程序正确D.改正程序的错误

19.系统开发的需求分析阶段的重要工作之一是数据定义

20.文档是软件开发人员.维护人员.用户以及计算机之间的B, 软件开发人员在各个阶段以文档作为前段工作成果的E和后段工作的F。

A.接口

B.桥梁

C.科学

D.继续

E.体现

F.基础

23.软件测试中,白箱方法是通过分析程序的____来设计测试实例的方法,除了测试程序外,还适用于对____阶段的软件文档进行测试。黑箱方法是根据程序的____来设计测试实例的方法,除了测试程序外,它适用于____阶段的软件文档进行测试。

1、3A.应用范围B.内部逻辑C.功能D.输入数据

2、4A.编码B.软件详细设计C.软件概要设计D.需求分析

24.(1)在软件生命期周期中,E_阶段所需工作量最大,约占70%;2)结构化分析方法产生的系统说明书由一套B,一本数据字典和一组小说明及补充材料组成;3)软件的A一般由两次故障平均间隔时间和故障平均恢复时间来度量;4)采用D且编写程序,可提高程序的可移植性;5)仅依据规格说明书描述的程序功能来设计测试实例的方法称为C_。

1.A.分析B.设计C 编码D 测试 E 维护

2.A.因果B。分层数据流图C PAD图 D 程序流程图

3.A.可维护性 B可靠性 C效率 D互理解性

4.A.机器语言 B宏指令 C汇编语言 D高级语言

5.A.白箱法 B表态分析法 C黑箱法 D人工分析法

25.A是以发现错误为目的的,而_B是以定位,分析和改正错误为目的的。

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

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

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

31.结构化分析SA是软件开发需求分析阶段所使用的方法,B_不是SA所使用的工具。A.DFD图B.PAD图C.结构化英语D.判定表

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

40.在软件研究过程中,CASE是D。A.指计算机辅助系统工程B.CAD和CAM技术的发展动力 C.正在实验室用的工具D.指计算机辅助软件工程

41.软件(结构)设计阶段(概要设计)的文档是D。

A.系统模型说明书B.程序流程图 C.系统功能说明书D.模块结构图和说明书43.逆向工程在软件工程中主要用于(分析)阶段。

44.软件工程中,只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为黑盒法测试。

48.软件的可维护性是指软件的可理解程度,程序修改的难易程度

51.数据流图的小说明中描述的最基本部分是B。

A.激发条件B.加工逻辑C.优先级D.执行频率

52.系统的健壮性是指(在有干扰或输入数据不合理等意外情况下,系统仍能进行适当地工作). 53.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是用较少的投资获得高质量的软件

54.不适于作为数据流图处理(加工)框名称的是B。

A.人工校核工资数据B.工资支票数据 C.打印工资支票D.计算职工工资

56.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为D。

A.数据耦合B.混合耦合C.公共耦合D.控制耦合

57.适应性维护的含义是A所进行的维护。

A.为使软件在改变了的环境下仍能使用

B.为改正在开发时期产生、测试阶段没有发现、运行时出现的错误

C.为改善系统性能、扩充功能 D.为软件的正常执行

58.采用白盒法测试模块(程序),应根据A。

A.内部逻辑结构B.算法复杂度C.外部功能特性D.支撑环境59.下列关于软件工程方面的叙述中,正确的说法是A。

A.软件的质量标准中,某些因素是不可兼得的

B.数据字典包括数据流、文件、模块调用关系等三种条目 C.测试过程即调试

D.白盒法测试用例中,满足条件覆盖的一定满足判定覆盖

60.程序编写(实现)阶段完成的文档有D。

A.详细设计说明书B.详细设计说明书、用户手册

C.模块开发宗卷、操作手册D.用户手册、操作手册

61.软件总体结构的内容应在B文档中阐明。B

A.软件需求规格说明书B.概要设计规格说明书

C.详细设计规格说明书D.数据要求规格说明书

62.使用结构化分析方法时,采用的基本手段是A。

A.分解和抽象 B.分解和综合 C.归纳与推导D.试探与回溯

63.决定软件可维护性的主要因素可概括为可测试性、可理解性、可修改性

64.要减少两个模块之间的耦合,则必须模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量. 65.软件开发中系统分析阶段产生的文档是系统说明书66.初始化模块和结束模块从块内联系看,被称为C模块。

A.过程内聚B.功能内聚C.时间内聚D.逻辑内聚67.结构化设计方法采用变换分析和事务分析技术实现从数据流图导出初始化结构图

68.在软件测试中,确认(验收)测试主要用于发现B阶段的错误。

A.软件计划B.需求分析C.软件设计D.编码

69.结构化系统分析主要是通过处理功能分解进行分析的。

A.算法分解B.控制结构分解C.数据结构分解D.处理功能分解70.结构化设计方法是面向数据流的设计方法。

72.划分软件生存周期的阶段时所应遵循的基本原则是(阶段的任务尽可能相对独立). 73.OOA模型规定了一组对象如何协同才能完成软件系统所指定的工作。这种协同在模型中是以表明对象通信方式的一组(消息)来表示的。

74.用黑盒法设计测试用例时采用的方法包括(因果图法)

75.软件维护过程中,(修改代码或数据后未作测试 )引起维护副作用。

77.下面所列的性质中,D不属于面向对象程序设计的特性。

A、继承性

B、重用性

C、封装性

D、可视化

79.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在B阶段进行的。A、需求分析 B、总体设计 C、详细设计 D、编码阶段

80.结构化设计方法采用变换分析和事务分析技术实现(从数据流图导出初始结构图) 81.设一模块内部的处理动作为:成分A的输出是成分B的输入,则该模块的聚合性称为(顺序内聚 )

82.某个模块的作用域是指(受该模块内的判定所影响的所有模块)

83.在软件测试中,确认(验收)测试主要用于发现C阶段的错误。

A、软件计划 C、需求分析

B、软件设计 D、编码

84.如果按用户要求增加新功能或修改已有的功能而进行的维护工作,称为(完善性维护) 85.软件维护阶段是软件生存周期中持续时间最长的阶段,它从(软件交付使用 )起。91.下面C不属于结构化设计需解决的问题范围。

A、确定系统应由哪些系统和模块组成

B、模块什么方式联结,接口如何

C、如何编写结构程序

D、如何以恰当方式表达系统的软件结构93.下列耦合度表示中,最弱的耦合形式是(数据耦合)

94.在结构化系统分析中,判定表和判定树常用于表达数据流图中的A。

A、加工

B、数据流

C、数据存储

D、外部项

95.用由底向上渐增式方式对软件进行测试时,需要为每个模块准备一个C_ ,它的作用是调用被测的模块。 A、主模块 B、桩模块 C、驱动模块 D、输入模块

96.全局数据结构的错误通常在C中检查。

A、单元测试

B、有效性测试

C、集成(系统)测试

D、确认测试97.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现从输入的角度考虑设计了一组测试用例:—100,100,0。设计这组测试用例的方法是(等价类划分法) 98.为软件系统今后改进和发展打好基础而进行的维护工作称为(预防性维护)

99.下列系统设计工具中,(数据流图)于详细设计工具。

100.软件生存周期中,运行期的主要任务B。

A、软件开发

B、软件维护

C、版本更换

D、功能扩充

101.系统开发的需求分析阶段的重要工作之一是A。

A、数据定义

B、数据库设计

C、数据维护

D、数据结构实现

102.经调查,系统分析员给出有问题的初略陈述,其中部分描述如下:某商场的采购部门要求每天开出定购清单,交采购员;仓库管理员将此要还应输入系统,经库存业务(进贷或出贷)处理后输出。从这段描述可知该部分数据流图中的外部项为:A

A、采购员、仓库管理员

B、定购清单、库存业务

C、库存业务

D、定购清单、采购员

103.下列叙述中,(作为编码阶段的描述工具)于数据字典的作用。

104.一个模块直接控制(调用)的下层模块的数目称为模块的(扇出数 )

105.模块内部的算法设计在结构化方法的C阶段进行。

A、系统分析

B、概要设计

C、详细设计 D 编码(实现)

106.在面向对象软件方法中,“类”是(具有同类数据和相同操作的对象的定义)

108.下列所述的测试原则中,错误的是_D

A、应设计非法输入的测试用例

B、测试用例要给出测试的预期结果

C、因维护修改程序后需回归测试

D、开发小组与测试小组合并

110、某应用系统为今后的发展将单用户系统改为多用户系统,并形成新的应用软件,由此进行的维护工作称为(预防性维护和适应性维护)

111.可维护性是软件的重要质量标准。下列(提高程序效率)与提高可维护性无关。

113.需求分析说明书不能作为A。

A、可行性研究的依据

B、用户和开发人员之间的合同

C、系统概要设计的依据

D、软件验收测试的依据

114.在自顶向下设计分层数据流图时,设计顶层数据流图主要分析(源、汇、(终)点和输入、输出数据流)

115.模块结构图是要软件工程的B 阶段中有采用的描述工具。

A、需求分析

B、概要设计

C、详细设计

D、编码(实现)

116.如果A,则称该模块具有功能内聚。

A、模块包括单一功能 B.模块包括若干功能,但所有功能相互紧密相关

C、每个模块有单入口、单出口

D、模块中每个处理成分对应一个功能,它们紧密结合

117.变换型数据流图通常是A形态。A.线性B、层次 C、网状 D、无规则

118.结构化设计采用模块化方法的主要出发点是降低复杂度

120.如果一个排序程序所设定的测试用例为

(1)表空(2)表中只有一个元素

(3)表中均有相同的关键字值(4)元素已排序

则此测试方法称为错误推测法

134.银行计算机储蓄管理信息系统中,根据客户提出的要求(如存款、取款、查询、挂失、咨询等)进行相应的业务处理的该层数据流图是事务型。

135.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于通信内聚。137.面向对象设计时,对象信息的隐藏主要是通过对象的封装性实现的。

138.在有集成(组装)测试的叙述中,A是正确的。

A、测试底层模块时不需要桩模块 B.驱动模块的作用是模拟被调模块

B、自顶向下测试方法易于设计测试结果

C、自底向上测试方法有有利于提前预计测试结果

156.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边缘值分析法设计测试用例,应选D。

A、a=3,b=4,c=5

B、a=1,b=2,c=4

C、上述A、B 项目都应选上

D、a=1,b=2,c=3

二、填空题

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、Jzckcon法的设计原则是:使程序结构同(数据结构)相对应。

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

的程序。

33、检验是软件开发过程中不可缺少的部分,检验的目的在于(发现错误并及时改正).

34、在联合测试时,采用先独立测试每一模块,然后再连到一起运行,这种方式称为(非

渐增式)联调。

35、面向对象的开发,最大的优点是帮助分析者、设计者及用户清楚地表述(抽象概

念),便于互相进行交流通讯。

36、程序评价和测试系统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、程序设计语言的特点?

答:1、名字说明2、类型说明3、初始化4、程序对象的局部性5、程序模块 6、循环控制结构 7、分支控制结构 8、异常处理9、独立编译

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

答:任务是在软件投入生产性运行之前,尽可能多地发现软件中的错误。与测试的区别:测试是为了发现软件中的错误,而调试是诊断并改正错误。

6、管理复审与技术审查的任务是什么?管理复审:复查各个阶段的经费、开销、成本以及进度,投资回收期前景的展望。技术审查:对每个阶段进行严格的审查,从而保证了各个阶段技术的正确性,防上错误的积累和复审。

7、可行性研究的步骤?答:1) 复查系统规模和目标。2) 研究目前正在使用的系统。3)导出新系统的高层逻辑模型。4)重新定义问题。5)导出和评价供选择的解法。6)推荐行动方针。7)草拟开发计划。8)书写文档提交审查

8、从哪些方面验证软件需求的正确性?答:(1)一致性,即所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。2)完整性,需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。3)现实性,指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。4)有效性,必须证明需求是正确有效的,确实能解决用户面对的问题。

9、对象的特点?答:(1)以数据为中心。(2)对象是主动的。(3)实现了数据封装。(4)本质上具有并行性。(5)模块独立性好。

10、用面向对象方法开发软件时,通常需要建立哪三种形式的模型?答:(1)描述系统数据结构的对象模型。(2)描述系统控制结构的动态模型。(3)描述系统功能的功能模型。

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

答:模块的作用域定义为受该模块内一个判定影响的所有模块的集合。模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。

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

答:自顶向下测试方法优点是不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。自顶向下测试方法的主要缺点是需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。自底向上测试言法的优缺点与自顶向下测试方法的优缺点刚好相反。

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

答:类是对具有相同数据和相同操作的一组相似对象的定义。类是对具有相同属性和行为的一个或多个对象的描述,而对象是某个特定类所描述的一个具体对象。

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

答:(1)客观世界是由各种对象组成的。(2)所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。(3)按照子类与父类的关系,把若干个对象类组成一个层次结构的

系统。(4)对象彼此之间仅能通过传递消息互相联系。

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

答:用最小的代价在尽可能短的时间内确定问题是否能够解决。1)技术可行性2)经济可行性3)操作可行性4)法律可行性

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

答:软件工程:是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。要素是:方法、工具、过程。

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

答:1)模块测试(2)子系统测试(3)系统测试(4)验收测试(5)平行运行

18、对象有哪几种定义?

答:(1)对象是具有相同状态的一组操作的集合。(2)对象是对属性值和操作的封装。(3)对象::= ID:是对象的标识或名字 MS是对象中的操作集合 DS:是对象的数据结构 MI :是对象受理的消息名集合

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

答:1、归纳关系:它反映了一个类与若干个互不相容的子类之间的分类关系。2、组合关系:它反映了对象之间的构成关系。3、关联关系:反映对象之间相互依赖、相互作用的关系。20、简述渐增模型的特点?

答:(1)在整个开发过程中需求都可能有变化。(2)对应用领域不熟悉。(3)高风险项目(4)用户完全参与到整个开发过程中。(5)使用面向对象语言或第四代语言。

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

答:(1)设想供选择的方案。(2)选取合理的方案。(3)推荐最佳方案。(4)功能分解。(5)设计软件结构。(6)数据库设计。(7)制定测试计划(8)书写文档(9)审查和复审

22、有几种效益的分析方法?1)货币的时间价值2)投资回收期3)纯收入4)投资回收率

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

答1.与人类习惯的思维方法一致。2.稳定性好。3.可重用性好。4.可维护性好。

五、论述题

1、根据统计,软件维护工作量占软件整个生存周期工作量的10%~70%,这个比例随着时间的退役还在增加,为什么软件维护需要这么大的工作量?

答: 1)在任何大型程序的使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。我们把诊断和改正错误的过程称为改正性维护。2)计算机科学技术领域的各

个方面都在迅速进步,经常推出新的操作系统或旧的系统的修改版本,时常增加或修改外部设备和其他系统部件;另一方面,应用软件的使用寿命却很容易超过十年,远远长于最初开发这个软件时的运行环境的寿命。因此为了和变化了的环境适当的配合就需要进行修改软件的活动。3)在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。为了满足这类要求需要进行完善性维护。4)当为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件。

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

3、计算机技术已不再是单一学科的发展,它是许多相关学科的融合和渗透。举例说明你所熟悉的这方面的技术、方法和应用。答:本题能举三个以上例子就得满分。(1)系统软件,操作系统、网络软件,和种语言的编译程序等。(2)实时软件,实时监控功能领域。(3)嵌入式软件,航空航天系统,指挥控制系统等(4)科学和工程计算软件,弹道计算,地震数据处理,数据值天气预报等(5)人工智能软件等。

5、某商店派出采购员分赴全国十大城市采购100类畅销产品,共有10张“采购单”,每张“采购单”中列出这100类产品的采购量,要求汇总成一张总的“进货表”,并计算每类产品的平均价格?(用结构图表示)

6、为什么说软件测试是软件开发中不可缺少的重要的环节,但不是软件质量保证的“安全网”?答:(1)软件的可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。它上随着运行时间的增加,运行时遇到的程序故障的概率也是增加的,所以可靠性是减少的。2)测试可以暴露程序中的错误,因此是保证软件可靠性的重要手段;但是,测试只能证明程序中有错误,并不能证明程序中没有错误。因此,对于保证软件可靠性来说,测试是一种不完善的技术。3)一旦研究出实用的正确性证明程序,软件可靠性将更有保证,测试工作量将大大减少,但是,即使有了正确性证明程序,软件测试也仍然是需要的,因为程序正确性只能证明程序功能是正确的,并不能证明程序的动态特征是符合要求的。所以测试不是软件质量的安全网。

8、测试的具体任务是什么?为什么说调试是软件开发过程中最艰巨的任务?答:1)测试的任务是尽可能多地暴露程序中的错误。但是,发现错误的最终目的还是为了改正错误。软件工程的根本目标是以较低成本开发出高质量的完全符合用户要求的软件,因此,在成功的测试之后,还必须进一步诊断和改正程序中的错误,这就是调试的任务。2)调试过程由两个步骤组在,首先,确定错误的准确位置,也就是找出是哪个模块或哪些接口引起的错误;然后,仔细研究这段代码以确定问题原因,并设计改正错误。其中第一步所需的工作量大约占调试总工作量的95%。3)调试是软件开发过程中最艰巨的脑力劳动。调试开始时,软件工程师仅仅面对着错误的征兆,然而在问题的外部现象和内在原因之间往往并没有明显的联系,在组成程序的数据以万计的元素中,每一个都有可能是错误的根源。所以调试的工作量是十分艰巨的。

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

10、影响软件维护工作的因素有哪些?并举例说明?答:影响维护的因素有1)可理解性,软

件可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。模块化、详细的设计文档、结构化设计、源代码内部的文档和良好的高级程序设计语言等,都对改进软悠扬的可理解性有重要贡献。2)可测试性,诊断和测试的难易程度主要取决于软件容易理解的程度。良好的文档对诊断和测试是至关重要的。此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。3)可修改性,软件的设计原理、规则、模块的耦合、内聚、局部化、控制域与作用域等都影响软件的可修改性。

1.为什么要进行软件测试? 软件测试的主要手段有哪几种?

解:?对一个软件系统,尤其是规模大、复杂性高的大型软件系统,虽经过了分析、设计和编程阶段但仍会存在错误。为了保证软件系统的质量,就要对软件系统进行检验和测试。?软件测试手段有三类:动态检查、静态检查和正确性证明。

2.为什么要进行软件评审? 怎样有效地进行软件评审?

解:?进行软件评审主要是人工阅读文档或程序,从而发现其中的错误,这对软件的成功是绝对必要的。?评审组长在评审会举行前1至2周将评审材料(文档或程序)发给评审员,要求各人仔细阅读,评审员阅毕应给评审组长一个书面通知证实已读过所有材料。

3. 软件测试的基本原则是什么?

解:测试阶段应注意的一些基本原则:1)测试用例应该由以下两部分组成:输入数据。·预期的输出结果。2) 不仅要选用合理的输入数据作为测试用例,还应选用不合理的输入数据作为测试用例。3)除了检查程序是否做了它应做的工作之外,还应检查程序是否还做了它不应做的事情。4)应该长期保留所有的测试用例,直至这个程序系统被废弃不用为止。

4.采用白盒法进行测试时,测试用例覆盖路径的种类有哪几种?它们相互之间是什么关系? 解:?采用白盒法进行测试时,测试用例覆盖路径的种类有: 语句覆盖。 判定覆盖。 条件覆盖。 判定/条件覆盖。 条件组合覆盖。?它们相互之间的关系: “语句覆盖”是很不充分的一种标准。 “判定覆盖”比“语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。 “条件覆盖”比“判定覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点。 满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。

5.采用黑盒法进行测试时,怎样设计测试用例? 解:采用黑盒法进行测试时,它不关心程序内部的逻辑,而只是根据程序的功能说明来设计测试用例。

7.联合测试的模块集成方式有哪几种?系统测试包括哪些方面? 解:?联合测试的模块集成方式有两种:渐增式和非渐增式。?系统测试包括功能测试、容量测试、紧张度测试、使用性测试、安全性测试、性能测试、可靠性测试、恢复测试、文档测试、工序测试。

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