第1章 软件质量管理体系概述

质量是指“产品具备满足明确或隐含需求能力的所有特性的总和”,一提到如何提高软件的质量,很多软件从业人员想到的就是加强软件测试的力度、增派软件测试的人手,但事实上这种做法的效果并不理想,主要原因是没有理解软件质量管理的内涵。软件的缺陷早已在软件研发的过程中生成,软件测试只是一种弥补软件质量缺陷的手段,在项目结束日期确定的情况下对软件产品进行“无穷尽”的测试是不具备条件的,何况“无穷尽”的测试也是不科学、不现实的。

软件质量管理是一套复杂的系统工程,软件质量的好坏就好比木桶盛水的多少,木桶所盛的水越多,软件产品的质量就越好。如图1-1所示,木桶所盛水的多少却是取决于木桶中最短的那块木板的高度。

图1-1 木桶理论

那么软件质量管理系统是由哪些“木板”组成的呢?以CMMI和软件工程理论为依据,它们分别是:

· 讲述软件检查方式的验证管理(VER)和讲述软件预防手段的同行评审(Peer Review)

· 讲述软件信任机制的确认管理(VAL)

· 讲述软件审计体系的质量保证(PPQA)

· 作为软件管理基石的配置管理(CM)

· 讲述软件客观洞察力的度量管理(MA)

· 讲述软件预警措施的风险管理(RSKM)

· 讲述软件统筹规划的项目集成管理(IPM)

· 讲述软件详细策划的项目计划(PP)

· 讲述软件监控手段的项目监控(PMC)

· 讲述软件需求工程的需求开发(RD)和需求管理(ReqM)

· 软件群体决策机制的决策分析(DAR)

· 讲述软件构建机制的产品集成(PI)

· 项目供应商管理(SAM)

· 项目的技术解决方案(TS)

· 讲述软件持续改进的组织过程的焦点(OPF)、组织过程的定义(OPD)和组织培训(OT)