1.需求的定义:软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的约束。
2.优秀需求的特性:(1)完整性(2)正确性(3)无歧义性(4)可行性(5)有优先级(6)必要性(7)可验证性
3.需求定义的要素:目标、范围、相关人员与用户、相关事实与假定。
4.软件需求的层次:业务需求、用户需求、功能需求。
(1)业务需求:业务需求代表了需求链最高的抽象,它为软件系统定义了项目视图和范围,反映了企业、组织对软件系统的高层次目标要求。
(2)用户需求:用户需求是指描述的是用户使用软件需要完成什么任务。怎么完成的需求。
(3)功能需求:功能需求需要对用户需求进行分析、提炼、整理,因为用户需求具有零散、存在矛盾的特点。
5.软件需求的分类:功能需求、非功能需求和设计约束
(1)功能需求:功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求
(2)非功能需求:作为功能需求补充的非功能需求,他描述了系统展现给用户的行为和执行的操作。
(3)设计约束:所谓设计约束是指开发人员在软件产品设计和构造上的限制,产品必须遵从的标准、规范和合约
7.需求管理就是一种获取、组织保持一致的过程。
8.需求工程是提供一种适当的机制,以了解用户想要什么、分析需求、评估可行性、协商合理的解决方案、无歧义地规约解决方案、
确认规约以及在开发过程中管理这些被确认的需求。
9.需求分析活动不再仅限于软件开发的最初阶段,他贯穿于系统开发的整个生命周期
10需求工程是一个闭环