需求的定义
1. 解决用户问题或达到用户目标所需的条件或能力。
2. 为遵循合同、标准、规格或其他要求的正式文档,系统必须满足或拥有的条件或能力。
3. 按文档化表现1和2中的条件或能力,就是SRS
强调做什么而不是如何做
* 软件需求要基线化,要管理起来,否则需求的实现是盲目的,不受控的
* 软件需求的实现要跟踪、要记录、要标示
* 要测量软件需求
* 要验证软件需求
软件需求工程包括需求开发和需求管理
需求开发:
* 需求获取
* 需求分析
* 需求定义
* 需求验证
需求管理:
* 需求分配
* 需求评审
* 需求基线
* 需求跟踪
* 变更控制
需求工程和需求管理的关系
* 需求工程包含需求管理
* 需求管理侧重于需求工程中的管理活动
* 需求管理是CMM二级的第一个KPA
软件需求变更流程
需求的生命:开始→分配→评审→基线化→设计→实现→测试→验收→结束
需求跟踪矩阵的作用
* 确保需求被实现
* 确保需求被验证
* 了解需求变更影响的范围
软件需求跟踪输入
* 原始的——工作任务书
* 中间产品——需求说明书、概要设计、详细设计、代码、单元测试、集成测试和系统测试文档
* 变更请求——已经基线化的要求、设计文档、代码等的变更要求PM