加载中......
输入验证码,即可复制
微信扫码下载好向圈APP, 登陆后即可进入消息页面查看验证码
只需要3秒时间
本文谈需求、需求特征、并基于需求特征来谈ASPICE中的相关要求。

浅谈需求/需求特征,及ASPICE中的相关要求-1.jpg

01

(1)需求相关术语的定义


    需求(Requirement)


需求是用来表达”需要”及与其相关的”制约”和”条件”的陈述。需求总是与某一个系统、软件或服务、其它关注项等相关。

Statement which translates or expresses a need and its associated [constraints] and [conditions]. A requirement always relates to a system, software or service, or other item of interest.


    制约(Constraints)


外部对系统内部的设计或实现、或用于开发或修改系统的过程施加的限制。

externally imposed limitation on the system, its design, or implementation or on the process used to develop or modify a system.

例如:对于BMS系统来说,在定义BMS系统需求时,在系统需求层面要求BMS系统需要采用某种特定型号的”采集芯片”、采用某种特定的软件架构框架(如:AUTOSAR)等。

    条件(Condition)


对某个需求规定的可测量的定性或定量属性,用以说明需求在特定的情况或事件下才是适用的。

measurable qualitative or quantitative attribute that is stipulated for a requirement and that indicates a circumstance or event under which a requirement applies.



02

(2)单个需求需要满足的特征(Characteristic)


    必要性(Necessary)


需求定义了一个基本的能力、特性、约束和/或质量因素。

The requirement defines an essential capability, characteristic, constraint and/or quality factor.

    恰当的,不限制实现方式(Appropriate, implementation free)


需求的具体意图和详细程度应适合于其所处的抽象级别(如:系统层面需求、软件层面需求)。但应避免对架构或设计的不必要约束,同时尽可能允许实现的独立性。

The specific intent and amount of detail of the requirement is appropriate to the level of the entity to which it refers (level of abstraction appropriate to the level of entity). This includes avoidng unnecessary constraints on the architecture or design while allowing implementation independence to the extent possible.



例如:BMS系统通过软件中的”X组件采集电芯电压信号。

    明确的(Unambiguous)


表达的需求需要只能以一种方式来解释。需求描述需要简单,易于理解。

The requirement is stated in such a way so that it can be interpreted in only one way. The requirement is stated simply and is easy to understand.

例如:充电时,当电芯电压过压时,BMS系统需要及时切断主正接触器。

    完整的(Complete)


需要充分描述所必需的能力、特性、约束或质量因素,而不需要其它信息。

The requirement sufficiently describes the necessary capability, characteristic, constraint or quality factor to meet the entity need without needing other information to understand the requirement.

例如:BMS系统需周期性(10ms)采集电芯电压信号。(采集精度?Range?)

    可理解的(Comprehensible)


需求的描述需要保证需求的相关方能理解需求的含义和内容。

A requirement is comprehensible if the stakeholders and the consumers of that requirement understand its meaning.



例如:BMS系统需对采集到的电芯电压信号进行”&*&^%$#!@#$”处理。

谁能理解” &*&^%$#!@#$”的含义呢?

浅谈需求/需求特征,及ASPICE中的相关要求-3.jpg

    原子的(Singular or atomic)


某一条需求应只说明单一的能力、特性、约束或质量因素。

The requirement states a single capability, characteristic, constraint or quality factor.

例如:BMS系统需周期性(10ms)采集电芯电压信号,并做过压保护判断。

这个需求里面包括了"电芯电压采集"和"过压保护判断"两个需求,不满足原子性要求。

    内部一致性(Internal consistent)


需求内部包含的内容不包含矛盾的内容。

A requirement is internally consistent if it contains no contradictions within itself.



例如:电源电压大于5vBMS系统需切断主正接触器;电源电压大于6vBMS系统需闭合主正接触器。

电源电压7v的时候,是该切断接触器还是该闭合接触器呢?

浅谈需求/需求特征,及ASPICE中的相关要求-4.jpg

    可实现的(Feasible, achievable)


需求需要能在系统的约束(如成本、进度、技术)下实现,且其风险是可接受的。技术约束:需求可以在技术上实现,不需要重大的技术改进。

The requirement can be realized within system constraints (e.g., cost, schedule, technical) with acceptable risk. Technical constraint: A requirement can be accomplished technically, it does not require major technology advances.

    可验证的(Verifiable)


需求描述语句的结构和措辞,应该使得实现后的需求在适当层次上能被证明(验证)该需求有被实现。

The requirement is structured and worded such that its realization can be proven (verified) to the customer’s satisfaction at the level the requirements exists.

    正确的(Correct)


需求在不同层次间进行转化时,其转化后的需求描述是正确的。

The requirement is an accurate representation of the entity need from which it was transformed.

例如:

硬件安全需求”或”软件安全需求”是来自于”技术安全需求”。再将”技术安全需求”转化为”软件安全需求” & “硬件安全需求”时,其转化是正确的。

    符合的(Conforming)


需求需要符合适用的政府、汽车行业的产品标准、规范和接口等要求。

The stated requirement conforms to applicable government, automotive industry and product standards, specifications and interfaces for which compliance is required.



03

(3)需求集合需要满足的特征(Characteristic)

一个一个需求放在一起就形成了需求集合。例如:软件需求规约(Software Requirements Specification)就是所有单个的软件需求形成的需求集合。

    完整的(Complete)


需求集合需要充分描述其所必需的能力、特性、约束或质量因素,而无需进一步信息。此外,需求集合中不包含任何待定义(TBD)、待指定(TBS)或待解决(TBR)的描述。

The set of requirements stands alone such that it sufficiently describes the necessary capabilities, characteristics, constraints or quality factors to meet entity needs without needing further information. In addition, the set does not contain any To Be Defined (TBD), To Be Specified (TBS), or To Be Resolved (TBR) clauses.

    一致的(Consistent)


需求集合包含的单个需求,与集合中的其它需求的内容之间不冲突或不重叠,所使用的单位和测量系统都是同质的。需求集合中使用的术语是一致的。

The set of requirements contains individual requirements that are unique, do not conflict with or overlap with other requirements in the set, and the units and measurement systems are homogeneous. The terminology used within the set of requirements is consistent, i.e. the same term is used throughout the set to mean the same thing.

    可实现的(Feasible)


需求集合中的所有需求都可以在约束(如成本、进度、技术)内以可接受的风险来实现。可实现性也包括“可承受”。

The complete set of requirements can be realized within entity constraints (e.g.,cost, schedule, technical) with acceptable risk. Feasible includes the conceptof ‘affordable’.

    可理解的(Comprehensible)


需求集合中的所有需求的内容描述,都应明确其期望及其与所属系统的关系。

The set of requirements is written such that it is clear as to what is expected by the entity and its relation to the system of which it is a part.



04

(4)参考需求特征(Characteristic),理解ASPICE SWE.1/SYS.2中的要求



① Application Parameter

SYS.2/SWE.1 BP1: Application parameter influencing functions and capabilities are part of the system/software requirements.

Application parameter,是指”标定数据”,如果存在某些影响到系统/软件需求的标定数据,则应在系统/软件需求中,明确标定数据的要求。

例如:当电芯温度大于”最高允许充电电压”(可标定,范围: 4v ~ 8v)时,BMS系统需要在”规定时间”(可标定,范围:1ms ~ 10ms)内,切断主正接触器。

Application parameter是车载嵌入式软件的一个常用技术,对Application parameter的明确要求,能提高需求的Comprehensible, Unambiguous, complete等方面的质量。

② 需求分析

SYS.2/SWE.1 BP3: Analyze system/software requirements.

Analyze the specified system/ software requirements including their interdependencies to ensure correctness, technical feasibility and verifiability, and to support risk identification. Analyze the impact on cost, schedule and the technical impact.

此处是对需求的correctness, technical feasibility, verifiability, risk, impact on cost, schedule等的要求。

③ 运行环境的影响分析

SYS.2 BP4: Analyze the impact on the operating environment

Identify the interfaces between the specified system and other elements of the operating environment. Analyze the impact that the system requirements will have on these interfaces and the operating environment.

SWE.1 BP4: Analyze the impact on the operating environment

Analyze the impact that the software requirements will have on interfaces of system elements and the operating environment.

与Software/System交互的其它系统、或系统元素(如: 硬件),构成了Software/System的Operating environment。

这个Operating environment,可以认为是”Fixed”。

在这个”Fixed”的Operating Environment下, Software/System的需求是Feasible的吗?

浅谈需求/需求特征,及ASPICE中的相关要求-7.jpg

车载软件/系统,从来都不是孤立的。

对Operating environment影响分析的明确要求,能提高需求的Feasibility方面的考虑。



④ 验证准则

SYS.2/SWE.1 BP5: Develop verification criteria.

Develop the verification criteria for each system/software requirement that define the qualitative and quantitative measures for the verification of a requirement.

Verification Criteria(验证准则)与需求描述共同为后续的验证(主要是测试)活动提供输入,用来指导后续的验证活动:在什么条件/制约下、采用何种验证方法、如何判断验证通过等信息。

Verification Criteria的明确要求,能提高需求的Verifiability方面的考虑。

⑤ 双向追溯性

SYS.2.BP6: Establish bidirectional traceability

Establish bidirectional traceability between stakeholder requirements and system requirements.

SWE.1.BP6: Establish bidirectional traceability

Establish bidirectional traceability between system requirements and software requirements.

Establish bidirectional traceability between the system architecture and software requirements.

bidirectional traceability(双向追溯性),是为了确保在如下两种场景下,没有需求的遗漏或增加:

(1) 将“相关方需求”转化为“系统需求”

(2) 将“系统需求 & 系统架构设计”转化为“软件需求”

bidirectional traceability的要求,能提高软件需求集合(系统需求集合)的Complete方面的考虑。




⑥ 一致性

SYS.2.BP7: Ensure consistency

Ensure consistency between stakeholder requirements and system requirements.

SWE.1.BP7: Ensure consistency

Ensure consistency between system requirements and software requirements. Ensure consistency between thesystem architecture and software requirements.



Consistency(一致性),是为了确保在如下两种场景下,需求内容是正确的

(1) 将“相关方需求”转化为“系统需求”

(2) 将“系统需求 & 系统架构设计”转化为“软件需求”

Consistency的要求,能提高软件/系统需求的Correct方面的考虑。
程序员圈
21078 查看 0 0 反对

说说我的看法高级模式

您需要登录后才可以回帖 登录|立即注册

还没人评论此主题哦

相关阅读