软件质量经济学
上QQ阅读APP看书,第一时间看更新

3.1.4 缺陷预防、模式、认证的可重用材料

非正式的软件重用自从软件行业起步以来就很常见。程序员和软件工程师会使用他们自己过去的应用程序中的代码或者借用同事的代码。

然而,可重用材料的潜在价值包括的远远不止源代码。可以重用需求、架构、设计、代码、测试用例、用户文档的片段、数据以及网站的一部分。

但是多种工件(artifact)的非正式重用是潜在的冒险,因为所有这些被重用的材料可能含有bug和潜伏的缺陷。为使软件重用作为缺陷预防方法发挥出它全部的潜能,被重用的材料需要被认证以达到接近零缺陷的水平。

可重用材料的认证过程可以包括对文档、代码、测试材料的正式审查,全部代码的静态分析,全部代码的正式测试,以及对真实应用程序12个月的试验使用。认证需要由独立的小组来实施,例如软件质量保证(SQA)组及其管理链。如果可能,非营利的认证组织对于行业来说是非常有用的。

截至2011年,正式认证的可重用材料是非常少的。因此,表3-4中有一部分是假设的。但是该表是以IBM等公司的经验观察为基础的,这些公司使用了复杂的质量控制并且保存了详细的bug和缺陷记录。

在一个可重用软件材料的正式认证方案中,总体上每个功能点可能会花费150美元。而认证的可重用材料可以使开发中每个功能点节省750美元,并且维护和支持的成本每个功能点每五年周期内能节省1250美元,也就是说,应用程序每个功能点可节省2000美元。

如果将其他因素也考虑进来,如减少打官司的几率,加快学习曲线,减少故障和业务中断等,那么在开发加上15年使用的典型应用程序生命周期中,认证的可重用材料可能使每个功能点最多节省10000美元。