ISO/IEC/IEEE 29148:2018(E)
这份标准是系统和软件工程领域,特别是需求工程方面,一份至关重要且具有全球权威性的文件。
一、 概论
ISO/IEC/IEEE 29148:2018 标准的全称是 《系统和软件工程 — 生命周期过程 — 需求工程》。
这份标准替代了之前的 ISO/IEC 29148:2011 和 IEEE Std 830-1998,整合并统一了国际标准化组织(ISO)、国际电工委员会(IEC)和电气与电子工程师学会(IEEE)在需求工程方面的最佳实践。
1. 核心定位:该标准为需求工程相关的活动和过程提供了统一的框架和指导。它定义了从需求获取、分析、规格说明、验证到管理的整个需求生命周期中所需遵循的过程、活动和产出物。
2. 主要目标:
建立通用语言: 为全球的系统与软件开发团队、需求分析师和项目经理提供一套通用的术语和概念。
提供最佳实践: 定义了一套被广泛认可的需求工程良好实践,帮助组织提高需求相关的质量。
确保需求质量: 通过明确的要求,指导如何编写出高质量的需求(即正确的、无歧义的、可验证的、一致的等)。
支持生命周期过程: 与 ISO/IEC/IEEE 15288(系统生命周期过程)和 ISO/IEC/IEEE 12207(软件生命周期过程)等其他核心标准紧密对齐,确保需求工程能有效地集成到整个项目生命周期中。
二、 核心内容总结
该标准主要涵盖了以下几个关键方面:
1. 需求工程过程模型标准描述了一个结构化的需求工程过程,通常包括以下阶段:
需求获取: 从利益相关方、文档、市场分析等来源收集和发现需求。
需求分析: 分析需求以发现冲突、歧义、遗漏,并将其细化、分解和推导。
需求规格说明: 将分析后的需求以结构化的文档形式(如软件需求规格说明)记录下来。这是标准的核心产出之一。
需求验证: 确认需求文档是否正确地反映了利益相关方的意图,并且需求本身是高质量的、可测试的。
需求管理: 在整个项目生命周期中管理需求的变更、跟踪需求状态以及维护需求的可追溯性。
2. 需求类型标准明确区分了不同层次的需求,这对于复杂系统和软件开发至关重要:
利益相关方需求: 从用户、客户或其他利益相关方角度描述的高层级需求,通常用自然语言表述。
系统需求: 更详细地规定了系统必须做什么以及必须具备何种特性,作为系统设计的依据。它可以进一步细分为:
功能需求: 系统必须执行的功能或行为。
非功能需求: 系统必须满足的质量特性,如性能、安全性、可靠性、可用性等。
接口需求: 系统与外部环境或其他系统交互的需求。
3. 需求的质量特性标准强调了编写“好”需求的重要性,并定义了一套衡量需求质量的特性。一个良好的需求应该是:
必要的
无歧义的
完整的
一致的
正确的
可行的
可验证的
可修改的
可追溯的
4. 关键产出物模板标准提供了两个非常重要的文档内容模板,这是其实用价值的核心体现:
利益相关方需求规格说明
系统/软件需求规格说明这些模板为组织编写规范、统一的需求文档提供了结构化的指导。
三、 重要性与应用价值
提升项目成功率: 通过规范需求实践,显著减少因需求不明确、错误或遗漏导致的项目返工、延期和超支。
改善沟通: 为开发团队、测试团队、客户和项目经理之间提供了清晰、无歧义的沟通基础。
保障产品质量: 高质量的需求是构建高质量系统和软件的根本前提。
支持合规性与认证: 在航空、医疗、汽车等安全关键领域,遵循此类国际标准通常是合规性要求和行业认证的基础。
促进工具互操作性: 为需求管理工具的设计和选型提供了概念基础。
结论
ISO/IEC/IEEE 29148:2018 不仅仅是一份关于如何写需求文档的指南,它是一份全面的需求工程框架标准。它系统性地定义了从需求诞生到最终实现和验证的完整生命周期过程。对于任何从事系统或软件开发、尤其是涉及复杂项目和高可靠性要求的组织和个人而言,理解并应用该标准的原则,是提升工程能力、确保项目质量和降低风险的关键一步。







评论