文档介绍:软件工程
电子教案
王树林
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
The software engineering approach described in this book works toward a single goal: to produce high –quality software. What is software quality?
Quality Concept
就象没有两片雪花是相同的一样, 所有的工程和制造产品都会表现出差异。这是自然界的规律。软件也一样。
差异控制是质量控制的核心。
质量控制是为了保证每一件工作产品都满足对它的需求而应用于整个开发周期中的一系列审查、复审和测试。度量和反馈相结合。
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
质量控制视为整个开发过程的一部分。
所有的工作产品都具有定义好的和可度量的规约。
质量保证
质量保证由管理层的审计和报告功能构成。质量保证的目标是为管理层提供产品质量信息。发现质量不符合预定目标,则由管理层负责解决这一问题。
质量的成本
质量成本包括所有由质量或者进行与质量
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
有关的活动所导致的成本。预先设定成本基线,标识降低成本的机会。
质量成本可以被划分为与预防、鉴定及失败相关的成本。
预防成本:质量计划、正式技术复审、测试设备、培训等。
鉴定成本:过程内和过程间审查、设备校准和维护、测试等。
失败成本:包括内部失败成本和外部失败成本。
内部失败成本:产品交付用户以前发现错误而引发的成本。包括返工、修复、失败模式分析。
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
外部失败成本:产品交付用户以后发现错误而引发的成本。包括解决用户的抱怨、退换产品、求助电话支持和保修工作。
改正一个错误的相对成本
需求分析
设计
编码
开发测试
1倍
3--6倍
10倍
15--40倍
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
质量运动
全面质量管理。
软件质量保证
生产高质量的软件是一个十分重要的目标。
1)软件需求是进行质量度量的基础,与需求不符就是质量不高。
2)指定的标准定义了一组指导软件开发的准则,就极有可能导致质量不高。
3)通常有一组隐含需求是不被提及的(如易维护性需求)。如果软件符合了明确的需求却没有满足隐含需求,软件质量仍然值得怀疑。
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
背景
软件质量保证的定义是为了保证软件质量而必需的有计划的和系统化的行动模式。
在计算机发展的早期,质量保证曾经只由程序员承担。而今天,则由软件工程师、项目管理者、客户、销售人员和SQA小组的成员。SQA小组充当客户在公司内部的代表。SQA小组的成员必须以客户的观点看待软件。
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
SQA活动
软件质量保证:
软件工程师:做技术工作。正式技术复审、执行计划周密的软件测试
SQA小组:计划、监督、记录、分析及报告工作。辅助软件工程小组得到高质量的最终产品。
参与开发该项目的软件过程描述。
CHAPTER 8 SOFTWARE QUALITY ASSURANCE
复审各项软件工程活动,对其是否符合定义好的软件过程进行核实。
审计指定的软件工作产品,对其是否符合定义好的软件过程中的响应部分进行核实。
确保软件工作及工作产品中的偏差已被记录在案,并根据预定规程进行处理。
记录所有不符合的部分,并报告给高级管理者。