Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO 25113 深入阐述了软件质量特性,扩展了 ISO 25010 中定义的质量模型,为每个质量属性提供了详细定义、子特性分解和测量指南。该标准是理解每个软件质量特性含义、特性之间的相互作用以及如何在实践中评估它们的权威参考。它解决了将高层质量模型应用于特定软件系统时产生的歧义,为每个特性和子特性提供清晰、可操作的定义,以及来自不同应用领域的实用示例。通过精确地定义质量特性,该标准使得质量需求能够以无歧义的方式进行规格说明和验证。
该标准将每个质量特性全面分解为子特性。例如,”可靠性”被分解为成熟度、可用性、容错性和可恢复性。每个子特性都获得了正式定义、一组相关度量指标以及解释指南。ISO 25113 还将每个子特性映射到典型的利益相关方关注点,实现了质量需求与利益相关方需求之间的可追溯性。这种分解非常有价值,因为它允许组织精确地指定质量需求——工程师不必声明”系统必须可靠”,而是可以为每个可靠性子特性指定定量目标:成熟度(平均故障时间)、可用性(正常运行时间百分比)、容错性(在组件故障时维持服务的能力)和可恢复性(故障后恢复服务的时间)。
功能适用性解决软件是否提供用户所需功能的问题,分解为功能完备性(所有必需功能是否存在?)、功能正确性(功能是否产生正确结果?)和功能适宜性(功能是否适合预期任务?)。可靠性涉及软件在规定条件下维持规定性能水平的能力。性能效率涉及软件的响应性和资源消耗。安全性包括机密性、完整性、不可否认性、可问责性和真实性。兼容性考虑软件与其他系统交换信息以及在共享环境中执行所需功能的能力。可维护性涵盖模块化、可重用性、可分析性、可修改性和可测试性。可移植性包括适应性、可安装性和可替换性。
| 质量特性 | 子特性 | 典型利益相关方关注点 |
|---|---|---|
| 功能适用性 | 功能完备性、正确性、适宜性 | 它能做我需要的吗? |
| 可靠性 | 成熟度、可用性、容错性、可恢复性 | 我在需要时它能用吗? |
| 性能效率 | 时间行为、资源利用率、容量 | 它够快吗? |
| 安全性 | 机密性、完整性、不可否认性、可问责性、真实性 | 我的数据安全吗? |
| 可维护性 | 模块化、可重用性、可分析性、可修改性、可测试性 | 我们能修复和改进它吗? |
| 可移植性 | 适应性、可安装性、可替换性 | 它能在我的环境中运行吗? |
ISO 25113 对实践工程师最有价值的贡献之一,是关于质量特性可测量性的详细指南。每个子特性都附有一个或多个候选度量指标,以及关于哪些度量指标最适合不同类型软件系统的指导。例如,嵌入式系统的”容错性”最好通过故障注入测试来测量,通过引入受控故障来验证系统是否保持正确运行。在企业应用中,容错性可以通过模拟基础设施故障的混沌工程实验来评估。在安全关键系统中,可以采用形式化验证方法来数学化地证明容错性质。
该标准还涉及质量特性优先级排序——这是资源有限的项目面临的关键问题。ISO 25113 建议使用基于风险的优先级排序方法,根据质量特性在特定应用环境中失效的后果来确定其权重。银行应用会优先考虑安全性和可靠性,因为安全漏洞或系统停机的后果非常严重。电子商务平台会优先考虑性能效率和可用性,因为响应慢或停机直接影响收入。医疗设备会将可靠性和安全性置于所有其他考虑之上。通过将质量优先级与业务风险对齐,组织确保其质量保证投资被导向提供最大价值的领域。
该标准还提供了处理质量特性相互作用和冲突的指南。例如,通过更强的身份验证提高安全性通常会因在用户工作流中增加步骤而降低可用性。ISO 25113 建议使用质量功能展开(QFD)或多准则决策分析(MCDA)等权衡分析方法,系统化地评估替代设计决策对完整质量需求集的满足情况。这些分析的结果应记录在质量权衡登记册中,捕捉每个决策的理由,并支持对权衡决策是否恰当进行追溯分析。