一、填空题(每空格1分,共30分)
1、软件生存周期模型主要有 、 、 、 、 、 和变换模型等。
2、快速原型的使用策略有 和 。
3、可行性研究主要从 、 、 ,管理可行性等四个方面考虑。
4、成本--效益分析可用 、 、 等指标进行度量。
5、抽象化包括 、 。
6、黑盒技术测试用例的方法有
7、软件维护包含 、 、 和 等内容。
8、模块的内聚包含功能内聚、巧合内聚 、 、 、 、
。
9、软件集成测试的方法主要有两种,它们是 、 。
二、名词解释 (每小题4分,共24分)
1、数据流图
2、IPO图
4、公共耦合
5、时间内聚
6、黑盒测试法
三、简答题(每小题7分,共21分)
1、软件工程的目标和内容是什么?
2、总体设计过程包括几个步骤?
3、试述"变换分析"设计步骤。
四、问答题(共11分)
试述软件测试的目的是什么?软件测试中,应注意哪些原则?
五、应用题(共15分)
1、请用判定表画出以下问题的行为逻辑。(4分)
人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
2、某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。(7分)
3、在数据A(1)~A(10)中求最大数和次大数,已知PDL语言描述,使用PAD图描述算法。
PDL语言描述:(4分)
GET(a[1],a[2],...a[10])
max=a[1];
max2=a[2];
FOR i=2 TO 10
IF a[i]>max
max2=max;
max=a[i];
ELSE
max2=a[i];
END FOR
PUT(max,max2)
END
答案
一、填空题(每空格1分,共30分)
1、瀑布模型,增量模型,喷泉模型,螺旋模型,基于知识的模型。
2、废弃策略,追加策略。
3、技术可行性,经济可行性,法律可行性。
4、投资回收率,投资回收期,纯收入。
5、过程的抽象 、数据抽象。
7、校正性维护,适应性维护,完善性维护,预防性维护。
8、通信内聚 ,过程内聚,时间内聚,逻辑内聚,信息内聚。
9、渐增式测试,非渐增式测试。
二、名词解释 (每小题4分,共24分)
1、数据流图(DFD):以图形的方式描述数据在系统中流动和处理的逻辑过程。只反映系统必须完成的逻辑功能,是一种功能模型。
2、IPO图是输入、处理、输出图的简称,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。
4、若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
5、时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。
6、黑盒测试法把被测试对象看成是一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
三、简答题(每小题7分,共21分)
1、目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。
2、1. 设想供选择的方案;2. 选取合理的方案;3. 推荐最佳方案;4. 功能分解;5. 设计软件结构;6. 设计数据库;7. 制定测试计划;8. 书写文档;9. 审查和复审
3、试述"变换分析"设计步骤。
变换分析设计步骤:
⑴ 确定变换中心,逻辑输入和输出。
⑵ 设计软件结构的顶层和第一层--变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)
第一层至少有三种功能模块:输入﹑输出和变换模块。
⑶ 设计中﹑下层模块,对第一层的模块自顶向下分解。
输入模块由两部分组成:接收数据﹑转换成调用模块所需信息。
输出模块由两部分组成:将数据转换成下属模块所需的形式﹑发送数据。
变换模块:对每个基本加工建立一功能模块 。
⑷ 设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。
输出部分求精:每个物理输出设置专门模块,其它也可适当合并。
变换部分求精:根据设计准则,对模块适当合并。
四、问答题(共11分)
软件测试的目的是为了发现软件的错误。
软件测试中应注意的原则有:
(1)测试用例应由输入数据和预期的输出数据两部分组成。这样便 于对照检查,做到有的放矢。
(2)测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。
(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。
(4)应制定测试计划并严格执行,排除随意性。
(5)长期保留测试用例。
(6)对发现错误较多的程序段,应进行更深入的测试。
(7)程序员应避免测试自己的程序。测试是一种"挑剔性"的行为,心理状态是测试自己程序的障碍。
五、应用题(共15分)
1、(4分)
2、(7分)
划分等价类:(3分)设计测试用例:(4分)
3、(4分)