软件质量是指 软件与明确和隐含定义的需求相一致的程度。具体来说,它包括软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准,以及所有专业开发的软件都应具有的隐含特征。
从管理角度出发,可以将影响软件质量的因素划分为三组,分别反映用户在使用软件产品时的三种不同倾向和观点:
产品运行:
包括正确性、健壮性、效率、完整性、可用性、风险(产品运行)。
产品修改:
涉及修改过程的便利性和成本效益。
产品转移:
包括软件在不同环境或平台上的适应性和可移植性。
此外,软件质量还可以从六个方面进行度量,包括功能性、可靠性、易用性、效率、维护性与可移植性。其中,功能性包括适合性、准确性、互用性、依从性、安全性;可靠性包括容错性、易恢复性、成熟性;易用性包括易学性、易理解性、易操作性;效率包括资源特性和时间特性;维护性包括可测试性、可修改性、稳定性和易分析性;可移植性包括适应性、易安装性、一致性和可替换性的六个特征及若干子特征。
综上所述,软件质量是一个多层次、多维度的概念,不仅涉及软件的功能和性能,还包括用户满意度、开发标准和软件的可维护性等方面。