概述
软件项目质量管理,是贯穿整个软件生命周期的重要工作,是软件项目顺利实施并成功完成的可靠保证。随着软件开发技术的发展和信息技术的广泛应用,软件项目质量管理越来越受到重视。实现软件项目质量管理与国际标准接轨,加强软件管理、改善软件开发过程、提高软件质量,已成为软件行业面临的巨大难题。
通过软件质量控制,提高软件产品的生产可靠性、降低软件产品的开发成本。高质量的软件离不开有效的管理和控制。质量和成本,是衡量项目成功与否的两个关键因素,通过质量
控制也能降低项目成本。Donald Reifer 给出软件质量控制的定义:软件质量控制是一系列验证活动,在一系列的控制活动中采取有效措施,在软件开发过程的各个监测点上,评估开发出来的阶段性产品是否符合技术规范。
全面质量控制过程,就是质量计划的制定和组织实现过程。由休哈特( Walter A. Shewhart) 提出构想,经过著名质量管理专家戴明( Edwards Deming) 的深化和发展,总结出管理学的通用模型,称戴明环,在很多资料上也称为 PDCA 循环。
质量控制要素
软件项目质量控制的三大要素是产品、过程和资源,需要不断进行调整和检查。三大要素表述如下:
产品( Production) 。一个过程的输出产品,不会比输入产品的质量更高,如果输入产品有缺陷,会在后续产品中放大,并影响最终产品质量。
软件产品中的各个部件和模块,必须达到预定的质量要求,特别需要保证各模块共用的 API 和基础类库的质量,否则各个模块集成以后的缺陷会成倍放大,并且难以定位,修复成本也会大大增加。
过程( Process) 。软件项目过程分为两类。一类是技术过程,包括需求分析、架构设计、编码实现等;另一类是管理过程,包括技术评审、配置管理、软件测试等。技术过程进行质量设计并构造产品,同时会引入缺陷,因此技术过程直接决定了软件质量特性; 管理过程对质量过程进行检查和验证,发现问题并进行纠正,间接地决定了最终产品质量。因此,技术过程和管理过程都对软件质量有重要影响。
资源( Resource) 。软件项目中的资源包括:人、时间、设备和资金等,资源的数量和质量都影响软件产品质量。软件是智力高度集中的产品,人是决定性因素,软件开发人员的知识、经验、能力、态度,都会对产品质量产生直接影响。在大多数情况下,项目的时间和资金都是有限的,构成了制约软件质量的关键因素。而设备和环境不足也会直接导致软件质量低下 。