软件质量相关的几个概念如下:
·软件质量:软件质量是指软件产品满足用户使用要求的程度。
·软件质量管理:软件质量管理是指在软件质量方面指挥和控制组织的协调的活动。
·软件质量控制:软件质量控制是指对开发可用软件产品的过程的测量与监控。
根据以上定义,软件质量是指软件产品的一组固有特性满足用户使用要求的程度。为了使软件产品质量满足用户使用要求,必须实施软件质量管理。我们从软件质量管理的角度讨论过程控制,实际上是讨论软件生存期过程特别是软件开发过程的质量控制,只要这些过程在质量方面得到恰当的控制,所开发的软件产品的质量就能满足用户要求。
根据现代软件工程思想,软件质量控制的核心也在于过程控制。软件的质量特性是一组描述和评价软件产品质量的属性。根据ISO/IEC 25051:2014《软件工程 系统和软件质量要求与评价(SQuaRE)》和GB/T 25000.51—2016《系统与软件工程 系统与软件质量要求和评价》,软件质量可定义为8个特性和39个子特性。
软件的8个质量特性是:
·功能性:当软件在指定条件下使用时,软件产品满足规定需求和隐含需求功能的属性。
·性能效率:在规定条件下,软件产品可提供的性能水平、效率与其所用资源相关的属性。
·兼容性:软件产品本身与其他软件产品之间相互交换信息的能力。
·易用性:在指定条件下使用时,与用户使用软件所需努力程度有关的属性。
·可靠性:在规定的条件下、规定的时间区间内,软件实现其规定功能的能力。
·信息安全性:软件产品在保密性、完整性以及抵御外部侵入和窃取方面的能力。
·维护性:软件产品的模块化水平,以及可被修改、测试和维护的能力。
·可移植性:软件产品从一种环境转移到另一种环境的能力。
以上8个特性及其派生的子特性的关系可参见图2-2。
图2-2 软件的质量特性及其子特性