软件和系统工程标准系列
Reddish
摘要
本文深入探讨了需求工程的流程,目的是将利益相关者的需求转化为具体的系统要求。文章依据ISO/IEC 15288和ISO/IEC 12207标准,涵盖了需求的定义、分析及架构设计等关键步骤,确保需求的完整性和可追溯性,从而为有效的系统开发提供支持。
本文基于IEEE-29148《系统与软件工程——生命周期过程——需求工程》标准的第六章内容进行整理和解读,并对原文进行了适当的润色与调整。文章整体结构分为五个部分,具体内容如下:
需求工程流程概述
利益相关者需求定义流程
需求分析流程
需求工程活动
需求管理
本文将重点介绍第一部分:需求工程流程概述。
需求工程流程概述
在项目实施过程中,应严格遵循ISO/IEC 15288:2008 (IEEE Std 15288-2008) 和ISO/IEC 12207:2008 (IEEE Std 12207-2008)标准所定义的需求工程流程。这些标准涵盖了系统生命周期和软件生命周期的全过程,为需求工程的开展提供了必要的框架与指导。
具体来说,项目是否遵循ISO/IEC 15288和ISO/IEC 12207这两项标准,取决于以下几个关键流程的实施:
利益相关者需求定义流程(ISO/IEC 15288:2008(IEEE Std 15288-2008),第6.4.1条款,或ISO/IEC 12207:2008(IEEE Std 12207-2008),第6.4.1条款)
需求分析流程(ISO/IEC 15288:2008(IEEE Std 15288-2008),第6.4.2条款,或ISO/IEC 12207:2008(IEEE Std 12207-2008),第6.4.2条款)
软件需求分析流程(ISO/IEC 12207:2008(IEEE Std 12207-2008),第7.1.2条款)
这三项流程构成了需求工程的核心,分别针对需求的提出、分析与定义提供了详细的指导。在实际应用中,这些流程产生的一组基本需求会进入架构设计阶段,在该阶段,需求会被进一步分解、分配并追溯到具体的系统组件。架构设计流程还包含需求分配,触发需求流程的递归与迭代应用,从而确保每一个系统元素都能满足最初定义的需求。
需求工程的关键流程
在需求工程的实施过程中,核心流程包括利益相关者需求定义与需求分析两个环节。这些流程的执行结果是形成一系列基础需求,这些需求随后进入架构设计流程,在这一阶段,需求会被分配到各个系统组件,并进行相应的分解和细化。架构设计不仅涉及对需求的分配,还包括对需求的追溯性管理,这一过程是根据ISO/IEC TR 24748-1《系统和软件工程生命周期管理 第1部分:生命周期管理指南》中的项目生命周期模型进行定义的。通过这一模型,需求分析流程得以不断迭代,以确保系统设计始终能够满足最初的需求目标。
除了这些核心流程之外,系统工程和软件工程还存在许多其他技术和项目管理流程,虽然这些流程与需求工程密切相关,但它们在细节上有所不同。例如,系统工程活动与软件工程活动之间就有着明显的区别。在本国际标准中,条款的标题通常与ISO/IEC 15288中的系统工程流程相一致,这有助于在需求工程的实践中形成系统化的工作流程。
需求工程中的活动与任务
附件C对标准中的各个流程之间的关系进行了详细梳理,并将其与ISO/IEC 15288和ISO/IEC 12207的相关条款进行了对照。表C-1和C-2列出了需求工程中涉及的两个主要技术流程及其对应的活动,而表C-3则列出了与需求工程相关的其他技术活动。这些内容为需求工程的实施提供了系统性的支持,帮助项目团队更好地理解和管理需求工程中的各个环节。
本文的后续部分将继续对需求工程的其他方面进行详细阐述,涵盖利益相关者需求定义、需求分析流程、需求工程活动以及需求管理等重要内容。
同步发布:
《软件需求探索》