概述
软件质量指的是软件系统或软件产品满足规定或需求的能力的特征与特性。
在了解软件质量管理前需要知道软件特性包含哪些方面,对于软件质量的特性目前有多个不同的模型描述,下面介绍比较常见的一个。
ISO/IEC 9126软件质量模型
这个模型由3层组成,第一层是质量特性,第二层是质量子特性,第三层为度量指标,它对应国家标准(GB/T 16260.1)。其模型包含的特性如下,其中"——"后的内容为度量指标:
- 功能性(Functionality)
- 适应性(Suitability)——对规定任务能否提供一组适应任务的功能的能力。
- 准确性(Accurateness)——是否能够得到正确或相符的结果的能力。
- 互用性(Interoperability)——与其他规定的系统进行交互的能力。
- 依从性(Compliance)——软件是否符合相关标准、法律法规等的能力。
- 安全性(Security)——是否能避免对程序及数据非法访问或意外访问的能力。
- 可靠性(Reliability)
- 成熟性(Maturity)——由故障引起软件失效的频率。
- 容错性(Fault tolerance)——在出现错误后维持规定的运行的能力。
- 易恢复性(Recoverability)——在故障发生后恢复至正常状态的能力。
- 易使用性(Usability)
- 易理解性(Understandability)——用户为理解软件逻辑及应用所要付出的努力。
- 易学性(Learnability)——用户为了学习软件使用所要付出的努力。
- 易操作性(Operability)——用户对软件进行操作和控制所要付出的努力。
- 效率(Efficiency)
- 时间特性(Time behavior)——响应和处理及软件执行功能时的所需耗费的时间(吞吐量)。
- 资源特性(Resource behavior)——响应和处理及软件执行功能时所需耗费的资源及持续时间。
- 可维护性(Maintainability)
- 易分析性(Analyzability)——为诊断缺陷或失效时所需付出的努力。
- 易改变性(Changeability)——为对软件进行修改、排错等所需付出的努力。
- 稳定性(Stability)——对软件进行修改后造成风险或无法预期结果的频率。
- 易测试性(Testability)——为确认软件修改是否有效所需付出的努力。
- 可移植性(Portability)
- 适应性(Adaptability)——软件转移到不同环境时所需付出的努力。
- 易安装性(Installability)——在指定环境下安装软件所需付出的努力。
- 一致性(Conformance)——软件是否符合可移植性的约定。
- 易替换性(Replaceability)——软件在该环境中替代指定软件的能力。
其中,前三者又被称为内部质量,后三者称为外部质量。第一层质量特性的含义如下表:
特性 | 说明 |
---|---|
功能性 | 当软件在指定条件下使用时,软件产品提供明确的和隐含要求的功能的能力 |
可靠性 | 在指定条件下使用时,软件产品维持规定的性能水平的能力 |
可使用性 | 在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力 |
效率 | 在指定条件下使用时,相对于所用资源的数量,软件产品可提供适当性能的能力 |
可维护性 | 软件产品纠错、改进功能或适应环境、需求和功能规格说明的变化可被修改的能力 |
可移植性 | 软件产品从一种环境迁移到另外一种环境的能力 |