“可变性”并非该标准中的质量特性,属于干扰项;正确对应的是“可移植性
D. 可变性 ✅
ISO/IEC 9126软件质量模型定义的六大质量特性为:
- 功能性(Functionality)
- 可靠性(Reliability)
- 易用性(Usability)
- 效率(Efficiency)
- 维护性(Maintainability)
- 可移植性(Portability)
“可变性”并非该标准中的质量特性,属于干扰项;正确对应的是“可移植性”。
ISO/IEC 9126 中,“维护性”(Maintainability)包含以下5个子特性:
- 易分析性(Analyzability):软件可被诊断缺陷或失效原因,或识别待修改部分的难易程度。
- 易改变性(Changeability):软件在满足需求变更或技术演进时,实施修改的难易程度(含修改、验证、发布等全过程)。
- 稳定性(Stability):软件在变更时避免意外影响(即副作用)的能力(强调修改的安全性与可控性)。
- 易测试性(Testability):软件被测试以确认修改是否正确且未引入新缺陷的难易程度。
- 可维护性依从性(Maintainability compliance):软件遵循相关维护性标准、约定或规则(如编码规范、注释要求、配置管理流程等)的程度。
✅ 注:该分类出自 ISO/IEC 9126-1:2001 标准原文;后续标准 ISO/IEC 25010(2011)将“维护性”重构为“可修改性”(Modifiability),并整合了部分子特性,但9126中明确采用上述五项。
ISO/IEC 25010(2011年发布,取代ISO/IEC 9126)对质量模型进行了重构与扩展。其中,“可修改性”(Modifiability)是25010中功能性质量模型下的一个一级特性(属于“产品可靠性”大类?❌更正:实际归属为产品可维护性(Maintainability)的核心子特性——但需注意:25010中已将“Maintainability”升格为一级质量特性,并将其细分为多个子特性,而“Modifiability”正是其首要且最核心的子特性),而非独立一级特性。此处需严谨澄清:
✅ 正确结构(ISO/IEC 25010:2011):
- 一级质量特性:可维护性(Maintainability)
下设5个子特性:- 可修改性(Modifiability)—— 替代并融合了9126中“易改变性”和“稳定性”;
- 易分析性(Analyzability)—— 基本保留;
- 易测试性(Testability)—— 基本保留;
- 可维护性依从性(Maintainability compliance)—— 保留,但名称简化为“compliance”;
- 可重用性(Reusability)—— ✅ 新增子特性(9126中未单独列出,仅隐含于设计原则中)。
🔍 异同对比:
| 维度 | ISO/IEC 9126(2001) | ISO/IEC 25010(2011) | 说明 |
|---|---|---|---|
| 顶层结构 | 6大特性(含“维护性”) | 8大特性(含“可维护性”) | 25010新增“安全性和兼容性”,拆分原“效率”为“性能效率”等 |
| 维护性定位 | 一级特性(Maintainability) | 一级特性(Maintainability) | 名称一致,地位相同 |
| 子特性数量 | 5项(易分析性、易改变性、稳定性、易测试性、依从性) | 5项(可修改性、易分析性、易测试性、依从性、可重用性) | 关键变化:合并“易改变性+稳定性”→“可修改性”;新增“可重用性” |
| 可修改性内涵 | ❌ 无此术语 | ✅ 指软件能被有效、安全、高效地修改的能力,涵盖变更实施、影响控制、回归验证等全过程 | 更强调变更的整体效能与风险控制,语义更凝练、工程导向更强 |
| 演进逻辑 | 侧重静态属性与过程能力 | 更强调动态适应性、架构韧性与可持续演进 | 体现DevOps、微服务、持续交付等现代实践需求 |
📌 总结:
- 相同点:均以支持软件长期演化为目标;核心子特性(如分析性、测试性、依从性)一脉相承;都服务于降低维护成本、提升响应速度。
- 不同点:25010通过合并冗余维度(易改变性+稳定性 → 可修改性)、新增关键维度(可重用性)、强化架构视角,使模型更精炼、更具现代工程指导价值;同时术语更统一(如统一用“compliance”替代“maintainability compliance”)。
