文档介绍:第8章 软件质量保证
软件质量
质量运动
软件质量保证
软件评审
正式技术评审
SQA的形式化方法
统计软件质量保证
软件可靠性
软件的错误防范
ISO90证的目标是为管理层提供为获知产品质量信息所需的数据,从而获得产品质量是否符合预定目标的认识和信心。当然如果质量保证所提供的数据发现了问题,则管理层负责解决这一问题并为解决质量问题分配所需的资源。
整理课件
质量的成本 Cost of Quality
质量成本包括所有由质量工作或者进行与质量有关的活动所导致的成本。质量成本研究的开展能够为当前质量成本设定基线,标识降低质量成本的机会,并提供一种规范化的比较基础。规范化的基础几乎全都以“元”(钱)计算。一旦我们将质量成本以“元”为单位进行了规范化,我们就拥有了必要的数据以评估能够在何处改进现有过程。而且,还可以进一步评估那些基于“元”的项在改变时所产生的影响。
整理课件
质量成本可以被划分为与预防、鉴定及失败相关的成本。“预防成本”包括:
* 质量计划
* 正式技术复审
* 测试设备
* 培训
整理课件
“鉴定成本”包括为深入了解“首次通过”各个过程时产品的状态而开展的那些活动。鉴定成本的例子如下:
* 过程内和过程间审查
* 设备校准和维护
* 测试
整理课件
“失败成本”是指如果在将产品交付给客户之前已经消除了缺陷时就不会存在的成本。失败成本可以进一步划分为内部失败成本和外部失败成本。“内部失败成本”是指在产品交付之前发现错误而引发的成本。内部失败成本包括: 
* 返工
* 修复
* 失败模式分析
整理课件
“外部失败成本”是指与产品交付给客户之后所发现的缺陷相关的成本。外部失败成本的例子如下:
* 解决客户的抱怨
* 退换产品
* 求助电话支持
* 保修工作
整理课件
正如我们所预料的,发现和修改一个缺陷的相对成本将随着我们从预防到检测、到从内部失败及到外部失败的成本而急剧增加。根据Boehm所收集的数据,阐述了这一现象。
整理课件
整理课件
ADVICE:测试是必要的,但是,它也是一种非常昂贵的发现错误的方式。在过程的早期花时间发现错误,你可能能够大量地减少测试和调试成本。
整理课件
质量运动 The Quality Movement
质量运动始于本世纪40年代W. Edwards Deming的开创性工作,第一次真正的实验则是在日本进行的。以Deming的想法为基础,日本人开发了一种系统化的方法来从根本上消除造成产品缺陷的原因。从70年代到80代,他们的工作被移植到西方,有时被称作“全面质量管理(TQM)”。
尽管不同公司和不同作者那里的术语略有不同,但通常采用的都是4个步骤的过程,该过程构成了任何一个好的TQM项目的基础。
整理课件
第一步是指一个连续的过程改进系统。目标是开发一个可见的、可重复的和可度量的过程(在这里是指软件过程)。
第二步将检查影响过程的无形因素,并对这些因素对过程的影响进行优化。
例如,软件过程可能受到高层职员流动的影响,而这本身又是由公司内部不断重组而引起的。因此一个稳定的公司组织可能会对软件质量的提高有很大的帮助。可以帮助管理者对公司重组方式提出建议。
整理课件
第三步:关注产品的用户(这里的产品是指软件)。通过检查用户使用产品的方式,对产品本身及产品的生产过程进行改进。
最后一个步骤将管理者的注意力从当前的产品上拓宽。通过观察产品在市场上的用途,寻找产品在相关领域中的发展机会。
整理课件
软件质量保证 Software Quality Assurance
软件质量的定义:
对显式声明的功能和性能需求、显式文档化的开发标准、以及专业人员开发的软件所应具有的所有隐含特征的符合。
整理课件
上述定义强调了以下三个重要方面:
1. 软件需求是进行“质量”测量的基础。与需求不符就是质量不高。
2. 指定的标准定义了一组指导软件开发的准则。如果不能遵照这些准则,就极有可能导致质量不高。
3. 通常有一组“隐含需求”是不被提及的(如对易维护性的需求)。如果软件符合了显式的需求却没有满足隐含需求,软件质量仍然值得怀疑。
整理课件
SQA活动
软件质量保证由各种任务构成,这些任务分别与两种不同的参与者相关――做技术工作的软件工程师和负责质量保证的计划、监督、记录、分析及报告工作的SQA小组。
软件工程师通过采用可靠的技术方法和措施、进行正式的技术复审、执行计划周密的软件测试