ISO 25089:2025 — 软件质量需求规范

在敏捷与AI赋能系统中定义和管理软件质量需求的最佳实践

ISO 25089:2025 为规范软件质量需求提供了全面框架,特别关注敏捷和迭代开发环境中的质量需求工程过程。作为 SQuaRE 2503n 需求部分的最新成员,它整合并扩展了先前分布在多个 SQuaRE 文件中的指南,形成了一个统一的、面向实践者的标准。它满足了从嵌入式系统到云原生应用等领域对严谨质量需求规范日益增长的需求。

ISO 25089:2025 是需要编写带有可度量质量准则的高质量软件需求规范(SRS)的组织的首选标准。它设计为与 ISO 25010(质量模型)、ISO 25003(需求工程过程)和 ISO 25086-1(测量过程)配合使用。

理解 ISO 25089 及其质量需求规范框架

ISO 25089:2025 引入了结构化的质量需求规范(QRS)框架,扩展了传统的软件需求规范(SRS)方法。该框架定义了三个规范层级:质量需求概览(系统级质量目标和约束)、详细质量需求(每个质量特性的可度量质量准则)和质量需求可追溯性(质量需求、设计决策、验证方法和风险评估之间的链接)。

2025 版特别强调包含人工智能和机器学习组件的系统的质量需求。它引入了针对 AI 特定质量属性(如可解释性、公平性、鲁棒性和数据质量)的新型需求类别。这种前瞻性范围使 ISO 25089:2025 成为首批以结构化、可度量方式处理 AI 软件质量需求的国际标准之一。

质量需求类别 描述 需求示例 验证方法
功能质量 功能行为的准确性和正确性 推荐相关性精确度 >= 0.85 使用真实数据的 A/B 测试
性能质量 响应时间、吞吐量、资源利用率 在 10K RPS 下 p99 延迟 < 200ms 使用分布式代理的负载测试
AI 可解释性 解释模型决策的能力 所有预测均可获得 SHAP 或 LIME 解释 可解释性覆盖率审计
公平性 跨人口群体的无偏差性 所有群体的人口统计均等比率在 [0.8, 1.25] 范围内 分层评估的偏差审计
数据质量 训练数据的完整性、一致性和准确性 训练数据集的标签准确率 >= 0.99 统计抽样和人工验证
韧性 部分故障下的优雅降级 10 节点集群中 3 节点故障时系统保持 50% 吞吐量 混沌工程实验

质量需求规范中的工程设计洞见

ISO 25089:2025 的一项关键工程贡献是质量需求模式目录。该标准提供了按质量特性和应用领域组织的可重用需求模式。每个模式包含一个结构化模板,带有上下文特定参数、测量阈值和验证条件的占位符。例如,Web 服务的性能质量模式将包含用于指定延迟百分位数、吞吐量和并发限制的模板,以及针对不同服务层级(关键、标准、尽力而为)的适当阈值值的指南。

使用 ISO 25089 的质量需求模式可以将编写全面质量需求规范所需的时间减少 40-50%,同时提高规范完整性并减少歧义。这些模式确保关键质量维度不会被忽视。

标准还引入了需求验证成熟度模型,根据可验证性对质量需求进行分类。级别 0 的需求是不可验证的陈述(例如”系统应易于使用”)。级别 1 的需求有定义的度量但没有阈值。级别 2 的需求有度量和阈值但没有指定验证方法。级别 3 的需求完全指定了度量、阈值和验证方法。ISO 25089 规定规范中所有质量需求必须至少达到级别 2,关键需求应达到级别 3。

另一个重要的设计洞见是需求冲突解决框架。质量需求经常发生冲突——例如,要求加密的安全需求可能与要求低延迟的性能需求相冲突。ISO 25089 提供结构化的冲突解决过程,包括:(1)通过自动化或手动分析识别冲突需求;(2)使用可度量属性量化权衡;(3)利用经验性权衡数据促进利益相关方协商;(4)在需求规范中记录解决理由。

实际实施:使用 ISO 25089 编写质量需求

在实践中实施 ISO 25089 涉及采用其规范模板并将其集成到需求管理工作流中。组织应创建或配置需求管理工具(如 Jira、Jama、IBM DOORS),使用符合 ISO 25089 的模板来强制执行标准的结构:唯一标识符、质量特性映射、使用条件、必需水平、期望水平、验证方法和优先级。每个需求还应包含一个理由字段,解释为何选择特定阈值,追溯到利益相关方需求或法规要求。

标准还建议在开发生命周期的定义检查点进行质量需求评审。这些评审评估规范的完整性(是否涉及所有相关质量特性?)、可验证性(每个需求是否可以被客观测试?)、一致性(是否存在冲突需求?)和可追溯性(每个需求是否链接到利益相关方需求或法规要求?)。ISO 25089 为每种评审类型提供了详细的评审检查表和验收准则。

质量需求规范中的一个常见陷阱是”一切皆关键”的谬误,即所有质量需求都被分配最高优先级。这使得优先级排序失去意义,并导致资源在过多相互竞争的质量目标之间分散。ISO 25089 建议不超过 20% 的质量需求被归类为关键,强制进行明确的权衡决策,并确保真正关键的需求获得充分的关注和资源。
问题1:ISO 25089 与 ISO 25003 有何不同?
A:ISO 25003 聚焦于质量需求工程的过程(如何做),而 ISO 25089 聚焦于规范工件(做什么)。ISO 25089 提供用于编写需求文档本身的模板、模式和质量准则,而 ISO 25003 描述用于引导和验证这些需求的过程。
问题2:ISO 25089 是否适用于 AI/ML 系统?
A:适用。2025 版包括针对 AI 质量属性(如可解释性、公平性、模型鲁棒性和训练数据质量)的特定指南和需求模板。这使其成为首批明确处理 AI 软件质量需求的 SQuaRE 标准之一。
问题3:有哪些工具支持 ISO 25089?
A:大多数现代需求管理工具(Jira 配合适配器、Jama、DOORS Next Generation)都可以配置自定义字段和模板来实现 ISO 25089 的规范结构。一些供应商提供预构建的 ISO 25000 模板包。
问题4:如何处理冲突的质量需求?
A:ISO 25089 提供了结构化的冲突解决过程:通过自动化分析识别冲突,使用可度量属性量化权衡,促进数据驱动的利益相关方协商,并记录解决理由。标准中包含了权衡分析表。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注