Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 25021 是 SQuaRE(系统和软件质量需求与评估)系列标准中的基础性标准,归属于 ISO/IEC 2502n 质量度量分体系。该标准的核心目标是定义质量度量元素(Quality Measure Elements,QME)的概念,并提供一个严谨的规范框架。QME 被定义为以目标实体的属性及其量化测量方法表示的度量,可选地包含数学函数变换。本质上,QME 是构建所有更高级质量度量(QM)的原子级基础构件。
该标准取代了早期的 ISO/IEC TR 25021:2007 技术报告,并作为传统 ISO/IEC 9126 系列与现代 SQuaRE 框架之间的关键桥梁。通过标准化 QME,ISO/IEC 25021 确保质量度量在不同项目、组织和领域之间保持一致、可重复且可比较。这在医疗器械、汽车安全(ISO 26262)和航空电子(DO-178C)等受监管行业中尤其有价值,因为这些行业需要可追溯且可辩护的质量指标。
标准定义了一套完整的 QME 规范表格格式,包含 14 个信息项,分为四个逻辑组。这种结构化方法确保每个 QME 都被完整且无歧义地记录。
第一组涵盖 QME 标识:唯一名称(通常以”数量”开头)、目标实体(被测量的对象,如源代码、设计文档或系统行为)以及目标与待量化属性。例如,QME”代码故障数量”以程序源代码为目标实体,量化属性”故障”。
第二组也是最实质的组定义了如何测量 QME。它包括测量方法(如何收集数据并转换为数值)、子属性列表(如适用)、输入来源、计量单位、数值分配规则和量表类型(名义、顺序、间隔或比率)。标准要求从实践者视角(文本形式)和理论视角(数学表达式)两个层面描述数值规则,确保实用性和形式严谨性兼得。
| 信息项 | 描述 | 示例(故障计数) |
|---|---|---|
| QME 名称 | 唯一标识 | 代码故障数量 |
| 目标实体 | 被表征的对象 | 程序源代码 |
| 待量化属性 | 被测量的具体属性 | 故障——错误的步骤、过程或数据定义 |
| 测量方法 | 数据收集与赋值方式 | 代码审查、修订源码差异分析 |
| 计量单位 | 结果使用的尺度单位 | 代码行数 |
| 量表类型 | 数学量表类别 | 比率 |
| 生命周期过程 | 测量适用的阶段 | 软件构建、实施 |
最后一组涉及实践管理:QME 的使用上下文(支持哪些质量特性)、适用的软件生命周期过程以及任何测量约束。例如,代码故障数量可能因代码是新建还是复用而有显著差异,调查方法(审查 vs. 检查 vs. 自动化分析)也会产生不同的结果。记录这些约束对于正确解读度量结果至关重要。
对于实施 ISO/IEC 25021 的工程团队,从该标准框架中可以提炼出几个实用的工程洞察。
同一个 QME 可以被跨不同质量特性的多个质量度量使用。例如,”故障数量”作为可靠性度量(故障密度)、成熟度度量(故障检测率)和维护性度量(故障移除率)的组成元素。这种复用确保了一致性:当一个 QME 定义在整个组织内标准化后,所有派生质量度量都继承这种一致性。实践建议是建立组织级 QME 仓库,类似于代码库,其中经过批准和验证的 QME 被编目供跨项目复用。
每个 QME 应显式映射到实际进行测量的软件生命周期过程。这防止了常见的陷阱——指定在预期阶段无法收集的度量。例如,QME”代码故障数量”在构建阶段(编码和单元测试)通过代码审查或单元测试实际可测量,但在需求分析阶段只能估计。这种生命周期意识对于测量计划和资源分配的规划至关重要。
标准将量表类型分为名义、顺序、间隔和比率四类。这不仅是理论上的细分,还具有实际影响:比率量表(如代码行数、缺陷计数)允许乘法和除法运算,从而可以计算有意义的派生度量如密度或率值。顺序量表(如严重性评级:严重、主要、次要)仅允许排序和比较。工程师必须为每个 QME 选择合适的量表类型,并在计算派生质量度量时尊重其数学属性。一个常见错误是将顺序满意度评级视为间隔数据并计算均值,这可能导致误导性结论。