《安全关键软件开发与审定:DO-178C标准实践指南》:
6.1 引言
软件需求是DO—178C符合性和安全关键软件开发的基础。一个项目的成功和失败依赖于需求的质量。正如NancyLeveson写到的:
“涉及软件的绝大多数事故可以追溯到需求缺陷。更具体而言,所规约的和实现的软件行为的不完整性——就是说,关于被控系统的运行或者对计算机要求的运行的不完整或错误假设,以及未处理的被控系统状态和环境条件。尽管编码错误经常引起最多注意,但是它们对可靠性和其他质量的影响比对安全性的影响更大些。”
需求引导项目。作者经历或见证过的最混乱的项目是从糟糕的需求开始,并从那里开始失败。反之,作者见到的最好的项目是那些努力将需求做正确的项目。第2章中在讨论系统需求时,详细阐述了有效需求的一些基本要点。因此,如果你最近没阅读或复习过2.2节,建议这佯做一下。本章建立在2.2节概念的基础上,这里的重点是软件需求而不是系统需求。
本章讨论的许多问题也适用于系统需求,可以算是对第2章材料的补充。系统需求与软件需求之间的界限经常十分模糊。一般而言,软件需求是对经过确认的系统需求的精化,被软件设计者用来设计和实现软件。同时,软件需求标识出软件做什么,而不是系统做什么。在编写软件需求时,可能发现系统需求中的错误、不足、遗漏,这些应该编档在问题报告中,并由系统组解决。
本章说明良好需求的重要性,以及如何编写、验证和管理需求。此外,本章在最后讨沦原型和可追踪性这两个与需求开发紧密相关的话题。
6.2 定义需求
美国电气和电子工程师协会(IEEE)定义“需求”如下:
1)用户需要用于解决一个问题或达到一个目标的一个条件或能力。
2)一个系统或系统部件为了满足一个合同、标准、规格说明,或其他正式施加的文件,必须达到或具有的一个条件或能力。
……
展开