软件工程自考复习资料-全 下载本文

12.

调试指确定错误的原因和位置,并改正错误的过程,也叫纠错。由编制该源程序的程序员完成。调试技术分为:简单调试、归纳法调试、演绎法调试、回溯法调试。 回溯法:主要从程序产生的错误的地方入手。

归纳法:从测试结果发现的线索(特殊)入手,分析它们间的联系,导出错误原因

假设,再证明或否定这个假设(一般)。步骤分为:收集有关数据、组织数据、提出假设、证明假设。

演绎法:先列出所有可能的错误原因的假设,再利用测试数据排除不适当的假设,

最后测试数据验证余下的假设确实是出错的原因。步骤分为:列出所有可能的错误原因假设、排除不适当假设、精化余下假设、证明余下假设。

13.

软件测试应遵循的原则:

(1)用例由输入数据和预期的输出数据两部分组成,便于对照检查。 (2)用例不仅选用合理的输入数据,还要选择不合理的输入数据。 (3)除了检查程序是否做了该做的事,还要检查程序是否做了不该做的事。 (4)应制定测试计划并严格执行,排除随意性。

41

(5)长期保留测试用例。

(6)对发现错误较多的程序段,进行更深入的测试。 (7)程序员避免测试自己设计的程序。

第六章 软件生存周期过程与管理

一、 软件生存周期和模型

1. 软件生存周期指一个软件从提出开发要求开始直到该软件报废为止的整个时期。国家

标准“计算机软件开发规范”将其划分为八个阶段:可行性研究与计划、需求分析、总体设计、详细设计、实现、综合测试、确认测试、使用与维护(跨越时间最长)。 其中,软件结构的设计是总体设计关键的一步,直接影响到下一阶段详细设计与编码的工作。建立软件结构后,还应为每个模块写一份处理说明和接口说明。

2. 划分软件生存周期的基本原则:各阶段任务应尽可能相对独立,同一阶段各项任务的

性质尽可能相同。

划分的重要性:便于开发大规模软件时不同人员分工合作,降低整个软件的开发难度

并使软件开发过程有条不紊地进行,提高软件的可靠性和可维护性,从而提高软件的生产率。

3. 过程管理也叫生存周期模型管理过程,指为软件生存周期过程的定义、控制和改进提

供一个过程,包含过程建立、过程评估和过程改进三个活动,强调过程规划、过程检测、过程执行及过程调整。

4. 软件开发中的过程类包括3个过程组:软件实现过程组、软件支持过程组和软件复用

42

过程组。其中软件支持过程组支持软件实现过程组,而软件复用过程组队软件实现过程组有提升能力。

5. 在ISO/IEC 12207-2008中一般通过过程意图、期望的结果以及为达到过程结果需要

执行的活动和任务来描述一个过程。

6. 验证是通过提供的客观证据,证实规约的需求是否得以满足;确认是通过提供的客观

证据,证实有关特定期望的使用或应用的需求是否得以满足。验证用于发现需求中的错误,是需求阶段的任务,确认则是测试阶段的任务。

7. 确认测试计划在需求分析阶段制定,确认测试阶段完成。综合测试计划在总体设计阶

段制定,综合测试阶段完成。

8. 软件生存周期模型(软件开发模型)是一个包括软件产品开发、运行和维护中有关过

程、活动和任务的框架。也是按软件生存周期,描述软件开发过程中各种活动如何执行的过程,借鉴在其他工程领域活动中所使用的方法把软件开发变成可视过程而采用的一种模型。主要分为瀑布模型、增量模型、原型模型、螺旋模型、形式变换模型、再利用组装模型、喷泉模型、基于知识的模型。

9. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种整体开

发模型,阶段活动有系统需求、软件需求、需求分析、设计、编码(占用人数最多)、测试、运行。它是最早提出、应用最广泛的模型。

软件开发结构化生命周期方法以瀑布模型为基础,将软件生命周期分为三大阶段:计

划阶段、开发阶段、运行阶段。

局限性:(1)本质是一种线性顺序模型,各阶段间存在严格顺序性和依赖性,强调预

先定义需求的重要性。(2)缺乏灵活性,不适合实际开发过程。(3)难以适应需求可变、模糊不定的软件系统开发。(4)用户和开发者难以沟通,用户

43

只有到开发结束才能看到整个软件系统。 测试和测试目标定义关系: 详细设计阶单元测试阶需求分析阶目标是其定义 指导 总体设计阶集成测试阶系统测试阶 10. 螺旋模型分为制定计划、风险分析、开发实施(基本和瀑布模型一致)、用户评估四个步骤。结合了瀑布模型和增量模型,吸收了软件工程“演化”的概念,适合大型软件的开发。 11. 喷泉模型是一种以用户需求为动力,以对象为驱动的模型,适合面向对象的开发方法。描述自顶向下,从抽象到具体顺序执行的阶段工作。 12. 基于知识的模型又叫智能模型,是把瀑布模型和专家系统结合在一起,利用专家系统来帮助软件人员进行开发工作。 13. 增量模型是以一系列的增量方式开发系统,是非整体的开发模型。增量方式包括: 增量开发:在项目开发周期内,以一定时间间隔开发部分工作软件。 增量提交:在项目开发周期内,以一定时间间隔增量方式向用户提交工作软件及相应文档。 14. 根据增量的方式和形式的不同,增量模型分为:渐增模型和原型模型。 44