- 软件质量经济学
- (美)Capers Jones (法)Oliver Bonsignour
- 679字
- 2025-02-23 14:31:24
第3章 软件缺陷预防
3.1 引言
软件缺陷预防是最难讨论、度量、改进和证明其具有经济价值的质量主题,之所以这么难,是因为缺陷预防是减少潜在缺陷的非正面因素。因此,每种缺陷预防方法都必须有至少两个数据点:
1)没有使用缺陷预防方法的应用程序的结果;
2)使用了缺陷预防方法的应用程序的结果。
当然,两个数据点在统计上是不可靠的。这种困难的一个结果就是,需要度量和估算数百个应用程序来体现缺陷预防方法的可能效果。因为可能存在其他方法和因素或者同时使用了几种预防方法,缺陷预防方法的有效性有些不确定。20世纪70年代,IBM的第一个缺陷预防的研究包含了数百个应用程序,且历时超过3年。
IBM早期的完整质量度量建立了一个用于软件质量分析的关键度量元(metric):潜在缺陷。因为IBM的质量度量开始于需求的早期并贯穿了整个开发,且记录了客户发现的bug,所以IBM拥有一个完整的目录,记录了需求、设计、编码和文档中发现的缺陷,以及不良修复和二次缺陷。
在度量了数百个应用程序之后,IBM关于缺陷的历史数据可以被用来预测新应用程序中未来会出现的缺陷。在开发中发现的缺陷和用户发现的缺陷总和被称为应用程序的潜在缺陷。IBM在1973年开发的第一个软件成本估算工具可能是第一个预测软件潜在缺陷或在全部主要可交付成果中发现的缺陷总数的工具。
缺陷是软件质量的重要指示器,但不是唯一的指示器。正如我们在第2章中看到的,非功能缺陷的根源是应用程序的结构质量。缺陷是软件质量问题最容易看到的指示器,然而结构质量因素却隐藏于应用程序的设计和架构在源代码中的实现方式之中。在本章中,我们只关注缺陷,结构质量在本书其他章节有详细的介绍,如第2章、第4章、第6章和第7章。