需求工程概论
软件需求:利益相关方对目标软件系统在功能质量等方面的期望,以及对目标软件系统在运行环境、资源消耗等方面的要求或约束。(利益相关方一般包括 :投资软件项目并希望利用目标软件获取商业利益的客户、直接使用目标软件开展业务工作的用户)
需求需要:
-
精确化:需求正确的反映利益相关方的期望和约束,需求的表述无歧义,并且可以通过客观的手段予以验证
-
一致化:各项需求之间无逻辑冲突
-
完全化:不遗漏中药的软件需求条目
利益相关方的期望和要求一般包括:
- 功能需求(功能性需求):利益相关方要求目标软件系统应该具有的功能
- 质量需求(非功能性需求):利益相关方对目标软件系统的质量要求
- 约束需求(非功能性需求):利益相关方对目标软件系统在项目预算、完成时间、技术选型、必须遵循的标准与规范等方面提出的要求、以及由语气的开发、运行环境的特征而导致的针对目标软件系统的约束。
软件需求的质量要素:
- 正确性:
- 真实性:每个需求项能够真实的反映利益相关方的需求
- 一致性:需求项内部、需求项之间没有逻辑冲突
- 精确性:需求项的表述不会引起二义或者多义理解
- 无冗余:每项需求在软件需求模型中能够仅出现一次,多项需求之间不存在语义重叠
-
完全性:所有需求项构成的全级完整的覆盖所有必须在目标软件产品中实现的利益相关方的需求,尤其不能遗