INCOSE 需求编写指南2024-10-17 系统工程1. 为什么需要文本化需求自然语言并不是表达需求的完美的方式。要明确、准确、避开歧义这很难。然而,它仍然是目前唯一的能够涵盖各种所需概念的通用表达方式,。可以替代书面表达需求的方式包括:•具有完善语言定义的图形建模方法,如 SysML。•模板结构的表格格式收集和描述需求,如汤姆·吉尔的 P 语言(Tom Gilb’s Planguage,Gilb,T.,2024)。这些其他的方法也不完善:模型尚未能覆盖概念所需要的围,表格的呈现格式,追溯和管理也都存在问题。事实是,假如仅仅是为了补充其他的表达方式,则仍然需要文本化需求。文本的优点是:•对可以表达的概念没有任何限制。• 句子和语法结构提供了一种可以追踪有意义的元素的方法。本指南仅指文本化需求的表达。2.需求条目的特点2.1 C1 – 必要性 每一条需求都是必须的。基本原理:假如去掉这条需求仍能够满足问题,那么这条需求就不是必须的假如需求条目所要表达的意图已经在其他需求条目中描述了,那么这条需求就不是必须的假如不能找到为什么需要这条需求的原因,那么这条需求也不是必须的每一条需求都会有相应的成本;不必要的需求可能导致没有价值的额外工作,增加成本与不必要的风险策略:没有什么本质的特征可以表明需必须的。每一条需求都需要根据利益相关者真实的期望不断地进行调整。在需求的最高层级,这一特点仅被用来在评审每一条需求时,针对相应的需要、目标、目的以与驱动者、约束、概念以与系统围的场景定义进行确认。假如顶层需求不能在上述围被追踪到,那么这条需求就不是必须的。在较低的层级,需求的必要性表现为可以追述到更高层级的需求。需求从一层到另一层的可追溯性能够支持每一条独立需求覆盖的充分性与必要性原理。这一原理也可以帮助表达需求的必要性与需求条目的意图。2.2 C2 – 与实现无关 仅描述需要,而不是需求如何被满足。基本原理:假如在需求中描述如何实现至少有以下不良影响:错过考虑其他更好的实现方式的机会;不能解决真正的问题.假如在本层级没有很好地沟通需要什么(“What”),那就不能正确地将需求往下一层分配策略:只捕获那些在任何方案中都必须正确满足的功能、特征与约束。一个很有用的提问——“需求用于什么目的”?假如是在需求中描述了实现的话,那这个问题的答案就是真正的需求。假如是有效的需求,只是层级比较低。那就需要确定合适的层级以与在本层级描述需求。也就是说需求要跟...