1、第八章 软件项目需求与变更管理一、软件项目需求管理二、软件项目任务分解三、软件需求的变更控制四、案例分析 需求原因导致项目失败占45%8.1 软件项目需求管理 需求开发:包括对软件项目需求的获取、分析、规格说明及验证等。 需求管理:就是控制和维持需求的事先约定,保证项目开发过程的一致性,使客户得到他们最终想要的产品。 软件需求是需求开发和需求管理的桥梁。 8.1.1 软件需求定义 需求的概念:来源于用户调查,即客户的需要;来源于某个特定行业的一些抽象的提炼。它需要考虑用户自身的特性和要求,并参照行业规范进行业务分析的结果。 需求分析的概念:指软件分析人员通过研究用户在软件问题上的需求意愿,分析
2、出软件系统的功能、性能、数据等方面应该达到的目标,从而获得软件需求规格定义的过程。 1.用户需求 软件的功能、操作方式、界面风格、报表格式、业务范围、工作流程等; 特点: 2.系统需求 功能需求 非功能需求 数据需求 3. 需求规格说明书 (1)引言 (2)任务描述 (3)功能规定 (4)运行环境的规定需求规格说明书的要求: 清晰 完整 一致 可测试 8.1.2 需求管理包括需求的组织、跟踪、审查、确认、变更和验证。 1. 需求管理复杂性分析 需求的描述问题 需求完备程度问题 需求开发的工期问题 需求的细致程度问题 需求变化的问题 2. 需求管理的基本原则 需求管理的内容包括(1)变更管理;(
3、2)分优先级;(3)分类; 原则:需求变更的影响需要管理,无论变化程度如何,只要需求变化了就必须进行评估。 3. 需求管理的方法 确定需求变更控制过程 进行需求变更影响分析 建立需求基准版本和控制版本文档 维护需求变更的历史记录 跟踪每项需求的状态 衡量需求稳定性 8.1.3 需求管理过程 1. 定义需求 2. 需求确认 3. 建立需求状态 4. 需求评审 5. 需求承诺 6. 需求跟踪 7. 需求变更控制二、软件项目任务分解 WBS:(Work Breakdow Structure) 8.2.1 工作分解结构 分解方法: 基于成果或功能的分解方法; 基于流程的分解方法; 表示方法 图表形式
4、清单形式 8.2.2 任务分解的过程 1.分解步骤 确认并分解项目的主要组成要素; 确定分解标准 确认分解的粒度 确定项目交付成果 验证分解正确性 2.分解的标准 统一标准 3.分解结果的检验 检验分解的正确性 合理性 是否重复 是否可以适当估算?任务分配 4.任务分解注意事项 5.责任分解及成本分解8.3 软件需求的变更控制 8.3.1 需求变更原因分析 范围还没有圈定就开始细化 没有良好的软件结构适应变化 用户改变需求 8.3.2 管理变更请求 控制需求渐变的策略 需求一定与投入有显然联系 需求变更一定经过出资方认可 小的需求变更也要经过正规的需求管理流程 精确的需求与范围定义并不会阻止需求的变更 变更控制过程 项目启动阶段的变更预防 项目实施阶段的变更控制 项目首尾阶段的总结控制 8.3.3 需求变更处理流程案例分析 案例A 风华电子CIMS需求开发历程