期末软件工程资料整理

更新时间:2023-10-31 03:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.软件工程的基本原理?

答:基本原理包括3要素:方法,工具,过程;其中,方法是完成软件开发任务的技术方法回答怎样做的问题;工具是为运用方法提供自动半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,他是完成各任务的工作步骤。

2.RUP中有9个工作流,前6个为过程工作流,后3个为核心支持工作流程。

3.问答:P.32第2题

4.简述结构化范型和面向对象范型的要点,分析优缺点。

5.电话号码有几类:校内电话号码由4位数字组成,第1位不是0;校外电话分本市电

话和外地电话,拨校外电话需先拨0,本市电话则再接着拨8位数字(第1位不是0),外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 答案:

电话号码 = [ 校内电话号码 | 校外电话号码 ] 校内电话号码 = 非零数字 + 3位数字

校外电话号码 = [ 本市号码 | 外地号码 ] 本市号码 = 数字零 + 8位数字

外地号码 = 数字零 + 3位数字 + 8位数字

非零数字 = [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ] 数字零 = 0

3位数字 = 3{数字}3

8位数字 = 非零数字 + 7位数字 7位数字 = 7{数字}7

数字 = [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]

6.名词解释:第一范式,第二范式,第三范式

答:第一范式:每个属性都必须是原子值,仅仅是一个简单的值而不能含内部结构。

第二范式:满足第一范式条件,且每个关键字属性都由整个关键字决定。 第三范式:符合第二范式条件,每个关键字属性都仅由关键字决定,且一个费关键字属性不能仅仅是对另一个非关键字属性的进一步描述。

7. 储蓄系统:储户填写的存款单或取款单由业务员输入系统,是存款则系统记录存款人

姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

试用数据流图描绘下述系统的功能,并用实体-联系图描绘系统中的数据对象。 答案:

系统的数据流图如下图所示:

1

系统的实体-联系图如下图所示:

8.填空:对每个合理方案,分析员都应准备4分资料:1系统流程图2组成系统的物理元素清单3成本/效益分析4实现这个系统的进度计划。

9.名词解释:

耦合:耦合是对一个软件结构内不同模块之间互连程度的度量。 内聚:内聚标志一个模块内各个元素彼此结合的紧密程度,他是信息隐藏和局部化概念的自然扩展。

10.分析:较高较低耦合性,p.97

11.填空:设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。

12.由高到低功能内聚,顺序内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚

13.分析:深度,宽度,扇入,扇出P.100

14.分析:程序流程图优缺点?

答:1.不是逐步求精的好工具。2.流程图用箭头代表控制流,程序员不受约束可以随意转移控制。3.流程图不易表示数据结构。

15.分析盒图N-S图的特点?

答:1.功能域明确,可以从盒图一眼看出2.不能随意转移控制3.很容易确定局部和全程数据的作用域4很容易表现嵌套关系,也可以表示模块的层次结构。

16.PAD图的优缺点?

2

答:1设计出来的程序必然是结构化程序2程序结构清晰3易读易懂易记易修改4容易将PDA图转换成高级语言源程序5可表示程序逻辑也可描绘数据结构6支持自顶向下逐步求精方法使用。

17.名词解释:PAD图:问题分析图,用二维树形结构的图来表示程序的控制流,翻译成代码比较容易。

18.面向数据结构的设计方法:最终目标是对程序处理过程的描述,这种方法最适合在(详细设计)阶段使用。

19.软件测试目标?

答:1测试是为了发现程序中的错误而执行程序的过程2好的测试方案是极有可能发现迄今为止尚未发现的错误的测试方案3成功的测试是发现了至今尚未发现的错误的测试。

20.软件测试的准则? 答:1所有测试都应该追溯到用户需求2该在测试之前制定测试计划3把Pareto原理应用到软件测试中4从小规模测试开始逐步进行大规模测试5穷举测试是不可能的。6为达到效果应该由第三方从事测试工作。

21.单元测试概念:P153

22.名词解释:回归测试:回归测试是用于保证由于调试或其他原因引起的变化,不会导致非预期软件行为或额外错误的测试活动。

23.Alpha和Beta:Alpha测试由用户在开发者的场所进行,并在开发者的指导下进行。Beta测试由软件最终用户在一个或多个场所进行。

24.判断:满足条件覆盖一定满足判定覆盖,错。满足判定覆盖一定满足条件覆盖,错。

25.判断,经过黑盒测试正确则白盒测试一定正确,错。

26.划分出等价类以后,根据等价类测试方案主要使用两个步骤:1设计一个新的测试方案以尽可能多地覆盖尚未被覆盖的有(效等价类),重复这一步骤到所有有效等价类都被覆盖。2设计一个新的测试方案,使它覆盖一个而且只覆盖一个尚未被覆盖的无效等价类,重复步骤直到无效等价类都被覆盖为止。P173

27.平均无故障时间MTTF和平均维修时间MTTR的概念,计算。P180

28. 7-4、回答下列问题。

(1) 什么是模块测试和集成测试?它们各有什么特点?

(2) 假设有一个由1000行FORTRAN语句构成的程序(经编译后大约有5000条机器指令),估计在对它进行测试期间将发现多少个错误?为什么?

(3) 设计下列伪码程序的语句覆盖和路径覆盖测试用例。

START

3

INPUT(A,B,C) IF A>5 THEN X=10 ELSE X=1 END IF IF B>10 THEN Y=20 ELSE Y=2 END IF IF C>15 THEN Z=30 ELSE Z=3 END IF

PRINT(X,Y,Z) STOP

解答:

(1)见教材。

(2)经验表明,在类似的程序中,单位长度里的错误数ET/IT近似为常数。美国的一

些统计数字表明,通常:0.005<=ET/IT<=0.02,即在测试之前,每1000条指令中大约有5~20个错误。所以,在对1000行FORTRAN语句构成的程序进行测试期间将发现的错误的个数大约有25~100个。

(3)该伪码程序对应的程序流程图如下:

4

从上到下每个判定依次命名为a、b、c:

29. 对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了25个错误(第二个月改正了10个错误),MTTF=15h。要求:

(1) 根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试时间τ的关系曲线。在画这条曲线时做了什么假设?

(2) 为做到MTTF=100h,必须进行多长时间的集成测试?

(3)当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 解答:

(1)因为平均无故障时间MTTF与测试时间τ之间存在线性关系,即MTTF=a+bτ, 由于:10=a+b,15=a+2b, 得到:a=5,b=5

故:平均无故障时间MTTF与测试时间τ之间存在线性关系为:MTTF=5+5τ (2)为做到MTTF=100h,有方程:100=5+5τ,故τ=19 即必须进行19个月的集成测试。

(3)由于经验:平均无故障时间与单位长度程序中剩余的错误数成反比,故有: MTTF=10000/( K * (ET-EC(τ) ) )

由于:10=10000/( K * (ET-15) ),15 = 10000/( K * (ET-25) ) 得到:ET=45,K=33.33

当集成测试结束时,MTTF=100h,有:100 = 10000/( 33.33 * ( 45-EC(19) ) ) 故:EC(19)=42,即当集成测试结束时总共改正了42个错误,还有45-42=3个错误潜伏在程序中。

30.在测试一个长度为24000条指令的程序时,第一个月由甲、乙两名测试员各自独立测试这个程序。经一个月测试后,甲发现并改正20个错误,使MTTF达到10h。与此同时,乙发现24个错误,其中6个甲也发现了。以后由甲一个人继续测试这个程序。问: (1) 刚开始测试时程序中总共有多少个潜藏的错误?

(2) 为使MTTF达到60h,必须再改正多少个错误?还需用多长测试时间? (3) 画出MTTF与集成测试时间τ之间的函数关系曲线。 解答:

(1)本题中采用的是分别测试法,测试前程序中的错误总数:B0=B1*B2/bc=20*24/6=80

5

(2)由于经验:平均无故障时间与单位长度程序中剩余的错误数成反比,故有: MTTF=24000/( K * (ET-EC(τ) ) ) 由于:10=24000/( K * (80-20) ) 得到:K=40

为使MTTF达到60h,有:60 = 24000/( 40 * ( 80-EC(τ) ) )

故:EC(τ)=70,即总共需要改正70个错误,由于测试员甲和乙分别测试时,测试员甲已经更正了20个错误,以后由甲一个人继续测试这个程序,因此,还需要更正70-20=50个错误。

补充:【复旦大学2001年博士研究生入学考试试题】某模块的程序流程图如下。试分别根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等覆盖标准设计最少的测试用例。

$:从上到下给每个判定依次编号为a、b。

路径覆盖与判定覆盖或判定/条件覆盖一致。

6

本文来源:https://www.bwwdw.com/article/chh2.html

Top