编写汽车软件需求时,应遵循以下原则和步骤:
干净利落
软件需求应只包含必要的信息,避免冗余和解释性的内容。
使用简洁明了的语言,确保需求内容清晰、有序。例如,使用“shall”、“set to”等定义性词汇,避免使用模糊的词汇如“和”、“或”、“如果”等。
完整性
需求应包含所有关键要素,如功能、性能、设计限制和接口。
明确指定外部输入数据的类别及其对有效和无效输入值的响应。
可行性
需求应在系统及其使用环境的已知能力和限制范围内实现,不需要以过高的成本或其他突出损失来实现。
可验证性
每一条需求都应是可验证的,定义明确,避免使用模糊的词汇如“经常会出现”、“性能良好”等。
不含糊性
每条需求应只有一种解释,应有明确定义的术语表,避免使用“和”、“或”、“如果”、“但是”等承接词。
一致性
需求内部应无冲突,与上级文档一致,使用的术语要统一。
正确性
需求描述应针对产品,与相关文档进行比对,如上级规范、项目文档及相关标准。
可理解性
需求应易于理解,确保创建者和使用者都能明确理解需求内容。
可修改性
需求应易于修改,以便在项目过程中根据新的信息或变更进行调整。
具体性
每条需求应具体到可以组成某个功能的最基本单元,不能再继续分解。
可测试性
每条软件需求都必须具备可测试性,意味着有明确的输入输出。
示例
```
需求编号:ACC-Req 002
需求标题:ACC Active State 设置
需求描述:
- 当满足以下条件之一时,信号 ACC Active State 应被设置为 SUPPRESSED:
- 安全车辆速度小于 30 kph。
- 安全车辆速度大于 120 kph。
需求验证:
- 通过模拟不同速度条件下的车辆行为来验证该需求。
术语定义:
- ACC Active State:指自动巡航控制系统的激活状态。
- SUPPRESSED:指系统抑制 ACC 信号的状态。
- Safe Vehicle Speed:指车辆当前的安全行驶速度。
```
通过遵循上述原则和步骤,可以编写出清晰、准确、可验证的汽车软件需求文档。