期末软件工程资料整理

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

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.储蓄系统:储户填写的存款单或取款单由业务员输入系统,是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

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

答案:

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

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

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图的优缺点?

答: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

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)该伪码程序对应的程序流程图如下:

相关文档
最新文档