您的当前位置:首页正文

软件工程复习题

2024-08-17 来源:好走旅游网
1.某航空公司规定,乘客可以免费托运重量不超过60kg的行李。当行李重量超过60kg时,对头等舱的国内乘客超重部分每公斤收费8元,对其他舱的国内乘客超重部分每公斤收费10元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法.

2.有程序段结构如下图,请设计该程序段的语句覆盖和路径覆盖测试用例

a b

F (A>1)∧(B=0) T c X=X/A d

F T (A>2)∧(X>1) e X=X+1 语句覆盖测试用例:令A=2,B=0,X=4作为测试数据,程序执行路径为acd 路径覆盖测试用例:1.令A=2,B=0,X=4作为测试数据,程序执行路径为ace

2.令A=3,B=0,X=3作为测试数据,程序执行路径为acd 3.令A=2,B=1,X=2作为测试数据,程序执行路径为abe 4.令A=1,B=1,X=1作为测试数据,程序执行路径为abd

3.下面给出一个求实函数方程F(x)在自变量区间 [a, b] 中的全部实根的算法。首先阅读此程序,然后将它改成N_S图,并计算该程序的McCabe复杂性度量。

4. 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。

1、软件生命期各阶段的任务是什么?

答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:软件重用可以显著地改善软件的质量和可靠性;软件重用可以极大地提高软件开发的效率;节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

3、提高可维护性的方法有哪些?

答:建立明确的软件质量目标和优先级、使用提高软件质量的技术和工具、进行明确的质量保证审查、选择可维护性的程序设计语言、改进程序的文档

4、简述软件测试的任务、目的与类型。

答:软件测试的目的有:软件测试是为了发现错误而执行程序的过程;一个好的测试用例能够发现至今尚未发现的错误;一个成功的测试是发现了至今尚未发现的错误。 类型:黑盒测试与白盒测试

5、简述软件工程目标和面临的主要问题。

答:软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高

面临的主要问题是:软件费用、软件可靠性、软件维护、软件生产率、软件重用 6、简述软件工程的七条基本原理。

答: 1)用分阶段的生存周期计划严格管理

2)坚持进行阶段评审 3)实行严格的产品控制 4)采用现代程序设计技术 5)结果应能清楚地审查

6)开发小组的人员应少而精

7)承认不断改进软件工程实践的必要性

7、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答:①自顶而下渐增测试

优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试

优点与缺点和自顶而下渐增测试相反。

8、简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 答:测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。

平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。

因篇幅问题不能全部显示,请点此查看更多更全内容