1、软件项目配置管理,RoadMap,前言,软件项目中是否遇到如下的问题 找不到某个文件的历史版本; 开发人员使用错误的版本修改程序 开发人员未经授权修改代码或文档; 人员流动,交接工作不彻底; 已修复的Bug在新版本中出现; 无法重新编译某个历史版本; 因协同开发中,或者异地开发,版本变更混乱导致整个项目失败; ,前言,软件项目进行中面临的一个主要问题是持续不断的变化 有效的项目管理能够控制变化,以最有效的手段应对变化,不断命中移动的目标。,本章要点,一、软件项目配置管理基本概念 配置管理 配置项 基线 SCCB 二、软件项目配置管理过程 三、案例分析,配置管理简述,记录软件产品的演化过程 确保
2、软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。 最终保证软件产品的完整性、一致性、追朔性、可控性,配置管理的作用,Who am I? Why am I here? Why am I who I am? Where do I belong?,配置管理的主要功能,版本管理 变更管理 其它,软件配置项: SCI software configration item,软件配置项是项目需定义其受控于软件配置管理的款项。每个项目的配置项也许会不同。,软件配置项举例,系统规格说明书 软件需求规格说明书 设计规格说明书 源代码 测试规格说明书,配置项的版本,需求规格V1.1,需求规格:,需求规格
3、V1.2,需求规格V1.3,配置项类,配置项实例,基线定义,基线提供了软件生存期中各个开发阶段的一个特定点, 一个(些)配置项形成并通过审核,即形成基线 基线标志开发过程一个阶段的结束和里程碑 基线修改需要按照正式的程序执行,软件开发各个阶段基线图示,系统工程,需求分析,软件设计,程序编写,测试,系统提交,系统规格说明,软件需求规格说明,软件设计说明,源代码,测试计划、过程、数据,可运行系统,SCCB (Software Configuration Control Board),配置控制委员会(SCCB) 评估变更 批准变更申请 在生存期内规范变更申请流程 对变更进行反馈 与项目管理层沟通,本
4、章要点,一、软件项目配置管理基本概念 二、软件项目配置管理过程 三、案例分析,基本活动,配置管理的基本过程,配置项标识、跟踪 配置管理环境建立 基线变更管理 基线审核 配置状态统计 配置管理计划,1、配置项标识、跟踪,将软件项目中需要进行控制的部分拆分成SCI 建立唯一的标识 建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致,,配置项的拆分例子,(某医疗网站)需求规格SCI 辅助功能.doc 性能.doc 产品目录.doc 医务管理.doc 医疗专业区.doc 首页.doc,配置项的标识,配置项被唯一的标识,配置项的标识约定举例,配置项的跟踪,案例
5、,2、配置管理环境建立、建立配置管理库,软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。,配置管理库实例,配置管理建库实例,受控操作,受控库,配置项的跟踪过程举例,配置库,3、基线变更管理过程,基线修改应受到控制,这种变化要经SCCB授权,按程序进行控制并记录基线修改的过程。,3、基线变更系统,变更请求,变更评估,变更批准/拒绝,变更实现,变更控制系统-举例,4、基线审核,配置管理活动审核 基线审核,5、配置状态统计,检查配置管理系统以及内容, 检测配置项变更历史,IEEE标准828-1998规定 用于计算配置状态的
6、最小数据集包括,被批准的配置项 配置项的所有请求的变化状态 配置项所有被批准的变更实现状态,评估一个配置系统状态,变更请求的数量 变更请求的历史报告 存储量的增长 配置管理系统以及SCCB在运作中发生异常的次数等等 配置统计报告例,配置管理规划,基线定义 版本控制 定义变更控制过程 变更委员会的管理 变更控制纪录,配置管理的工具,工具应具有的功能 版本管理 变更管理 问题追踪 建立管理 状态统计(查询和报告) 配置审核 访问控制和安全控制,常用配置管理的工具,ClearCase&ClearQuest PVCS Harvest CVS VSS,配置管理建议,制定规则:实现版本管理 小企业,小项目 制定规则和(版本管理)工具:实现部分配置管理 中小企业,中小项目 制定规则和(配置管理)工具:实现配置管理- 大企业,大项目 异地开发模式 配备专门的配置管理人员,本章要点,一、软件项目配置管理基本概念 二、软件项目配置管理过程 三、案例分析,案例分析,School项目案例说明: 配置管理,小结,配置管理的基本概念 配置项 基线 sccb 配置管理过程,,