您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   模型库  
会员   
   
人工智能、机器学习 TensorFlow
6月30日-7月1日 直播
基于 UML 和EA进行分析设计
7月30-31日 北京+线上
图数据库与知识图谱
8月21日-22日 北京+线上
     
   
 
 订阅
ASPICE V4.0 - 需求特征 (Characteristics of requirements) – 01
 
作者:杨环宇
  91  次浏览      5 次
 2025-6-25 
 
编辑推荐:
本文主要介绍了INCOSE Guide for Writing Requirements中定义的需求特征相关内容。
文章来自于微信公众号仨人谈起,由火龙果软件Linda翻译推荐。

ASPICE V4.0包括的如下与需求(Requirements)相关的Process中,SYS.2, HWE.1, SWE.1的“BP 1 - Specify Requirements”中要求基于需求特征 (Characteristics of requirements),来定义Requirements Specification。

而ASPICE V3.1,并未有明确要求在定义需求时需要遵循需求特征。

ASPICE模型中推荐的,需求特征的参考标准有ISO IEEE 29148, ISO 26262-8,以及INCOSE Guide for Writing Requirements.

如下文章谈及的需求特征,借鉴了ISO IEEE 29148及ISO 26262-8,读者可以参考。

浅谈需求及需求特征

本文对INCOSE Guide for Writing Requirements中定义的需求特征 (Characteristics of requirements)进行解读。

需求特征的分类

伴随着项目进展,伴随着需求分析和设计活动,高层级的需求转化为底层级的需求,例如:

Stakeholder needs and requirements –> 转化为 –> System Requirements

System Requirements –> 转化为 –> Software Requirements

System Requirements –> 转化为 –> Hardware Requirements

分类1是指,与需求的形式转换相关的需求特征。

需求是所有相关方达成一致的“Agreement(协议或承诺)”,也是各方都需要遵守的“Obligation(义务)”。分类2是从这个方面来定义的需求特征。

C1 – 必要的(Necessary)

定义的所有需求,都是必要的。

不必要的需求,会消耗项目的资源、成本和时间,也可能会带来不必要的风险。

可以通过如下途径判断需求的必要性:

去除掉这个需求,产品仍然可以满足相关方的需要

这个需求,可以被其他需求实现或替代

这个需求,无法向上追溯(即: 无法追溯到源头)

需求工程师无法对这个需求,给出合理的理由

C2 – 合适的(Appropriate)

合适的(Appropriate),也可称为“implementation free”。是指需求的意图、需求的详细程度,需要与其所在的层次相匹配。

需求可以在各个层级上来定义,不同的层级,其主语是不一样的,所以需求的描述一定需要与其“主语”所在的层级相匹配。需求描述的主语,不能是其上一个层级的,也不能是其下一个层级的。

例:

BMS SW的Software Requirements,是描述的对“BMS SW”这个Software的要求。

“Sensor Handler模块需要读取从Driver模块采集到的数据,并对数据进行滤波和真实性检查的处理。” --> 这条需求描述的主语是”Sensor Handler模块”,是软件架构设计层级的,因此这条需求不是BMS SW的SW Requirements。

这个示例的需求描述,还存在哪些问题?违反了本文阐述的哪些规则?

C3 – 明确的(Unambiguous)

需求描述所表达的意图,是明确的,所有读者对其的理解是唯一的。

例如:

电池充电的场合,当电池充满时,BMS系统需要及时切断主正接触器。--> 不同的相关方,对“及时”的理解,会一致吗?

C4 – 完整的(Complete)

完整的需求描述,是无需进一步的说明,即可准确表达其意图并明确其验证成功的标准。

例如:

需求描述时,包括可能出现的各种场景(例如:正常,异常等)。

功能需求必须包括一个完整且可验证的性能特征。

接口需求必须关联到,这个接口是哪个实体,在与谁进行怎样的交互时使用的。

需求描述中用到的“术语”,必须有唯一的定义。

基于标准或法规的要求必须清楚地描述:系统需要做什么才能满足标准或法规的要求和意图。

C5 – 原子的(Singular)

需求需要是原子的,不可再分的。一个需求描述中,不能包括多个需求点。

这样做的目的,是为了更好的对需求进行管理,有利于不同层级间需求的追溯、有利于进行验证(Verification)和确认(Validation)。

C6 – 可实现的(Feasible)

需求在项目的约束条件内是可实现的,约束条件可包括例如:成本、进度、技术、法律、道德、安全等。

例如:

在某些国家,手机相机在拍照时是不能静音的,这不是技术上的不可实现,这是依据当地的法律和道德的不可实现。

C7 – 可验证/可确认的(Verifiable/Validatable)

验证(Verification)的含义,可参考如下文章:

谈ISO26262:2018软件部分的验证方法(1)

验证(Verification)和确认(Validation)概念的区分,会另外撰写文章进行说明。

所有的需要(needs)和需求(Requirements),都需要被验证及确认,以判断其被正确的实现,并符合预期。

这里借用如下图例,给读者以参考:

源自INCOSE Guide to Writing Requirements Figure 7: Needs and Requirements in the Context of Verification and Validation

C8 – 正确的(Correct)

需求的描述,必须是其所依据的上一个层级需求的准确和明确的表达。

“正确”意味着“没有错误”,例如:未包含不正确的信息、未遗漏信息、和未有模棱两可的措辞等。

例如:

System Requirements来自于Stakeholder Requirements,那么System Requirements的正确性是指:以Stakeholder Requirements为判定准则,System Requirements是否是对的。

C9 – 符合的(Conforming)

需求描述,需要符合其所需要遵循的指南或标准。

需求描述的标准,例如:

需求描述的Pattern:When <Condition clause>, the <Subject clause> shall <Action verb clause> <object clause>, <optional qualifying clause>

这样做的好处:

在一个组织里面,如果需求都是遵循统一的标准或指南,则需求会被更容易的定义、理解和Review。

有助于识别与完整的(C4)、明确的(C3)和可验证/可确认(C7)特征相关的错误。

   
91 次浏览       5
 
相关文章

如何成为一个《专家型需求分析师》
需求分析师的能力模型
基于模型的需求管理方法与工具
需求管理工具DOORS 的接口
使用Web+EA实现基于模型的需求管理
 
相关文档

需求分析与需求管理
需求分析具体要求全解
需求分析与验证
需求分析的核心线索
基于UML的需求分析方法
 
相关课程

需求分析与管理
从需求过渡到设计
业务建模与业务分析
产品需求分析与管理
需求分析最佳实践与沙盘演练

最新活动计划
人工智能.机器学习TensorFlow 6-30[直播]
基于 UML 和EA进行分析设计 7-30[北京]
软件架构设计方法、案例与实践 7-24[北京]
用户体验、易用性测试与评估 7-25[西安]
图数据库与知识图谱 8-23[北京]
需求分析师能力培养 8-28[北京]
 
 
最新文章
有/无人直升机协同攻击任务场景想定和需求分析
设计需求分析方法与过程
需求挖掘的十三种方法
需求调研篇---调研维度分析
需求捕获:深度剖析调查问卷
最新课程
产品需求分析与管理
从需求过渡到设计
需求分析与管理
需求分析最佳实践与沙盘演练
业务驱动的分析、设计与开发
更多...   
成功案例
某军工研究单位 产品需求分析与管理
亿阳信通 产品经理与产品管理
中交集团 需求分析与管理
北京 需求分析与管理
北京 需求分析与管理(基于产品)
更多...