软件需求有两个视角:一是表达软件产品或项目的需要与约束,这些需要与约束参与解决现实问题;二是为产品和实施该产品的项目开发并维护需求的活动。需求若缺失、被误解或不正确,又没有及早发现,会顺着设计、编码和测试决策逐级放大返工。指南指出两类常见问题:利益相关方的需求及其必要细节没有传达给软件工程师;需求的表述允许多种解释,其中只有一种正确。[1]
需求活动在指南中按获取、分析、规格说明、确认和管理展开。规格说明的形式包括非结构化自然语言、结构化自然语言、基于验收准则的说明和基于模型的说明。[1]
该知识域在指南中的一级主题为:
- 软件需求基础
- 需求获取
- 需求分析
- 需求规格说明
- 需求确认
- 需求管理活动
- 实践考虑
- 软件需求工具
指南附录收录的需求工程标准包括 ISO/IEC/IEEE 29148:2018,生存周期信息项标准包括 ISO/IEC/IEEE 15289:2019。[1]