chapter_120软件项目管理北京邮电大学软件学院韩万江chapter_121RoadMap配置管理跟踪控制项目结束项目执行控制项目计划项目初始chapter_122前言软件项目中是否遇到如下的问题找不到某个文件的历史版本;开发人员使用错误的版本修改程序开发人员未经授权修改代码或文档;人员流动,交接工作不彻底;已修复的Bug在新版本中出现;无法重新编译某个历史版本;因协同开发中,或者异地开发,版本变更混乱导致整个项目失败;……chapter_123前言软件项目进行中面临的一个主要问题是持续不断的变化有效的项目管理能够控制变化,以最有效的手段应对变化,不断命中移动的目标。chapter_124软件项目管理第12章软件项目配置管理chapter_125本章要点一、软件项目配置管理基本概念配置管理配置项基线SCCB二、软件项目配置管理过程三、案例分析chapter_126配置管理简述记录软件产品的演化过程确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。最终保证软件产品的完整性、一致性、追朔性、可控性chapter_127配置管理的作用•WhoamI?•WhyamIhere?•WhyamIwhoIam?•WheredoIbelong?chapter_128配置管理的主要功能版本管理变更管理其它chapter_129软件配置项:SCIsoftwareconfigrationitem软件配置项是项目需定义其受控于软件配置管理的款项。每个项目的配置项也许会不同。chapter_1210软件配置项举例系统规格说明书软件需求规格说明书设计规格说明书源代码测试规格说明书chapter_1211配置项的版本需求规格V1.1需求规格:需求规格V1.2需求规格V1.3配置项类配置项实例chapter_1212基线定义基线提供了软件生存期中各个开发阶段的一个特定点,一个(些)配置项形成并通过审核,即形成基线基线标志开发过程一个阶段的结束和里程碑基线修改需要按照正式的程序执行chapter_1213软件开发各个阶段基线图示系统工程需求分析软件设计程序编写测试系统提交系统规格说明软件需求规格说明软件设计说明源代码测试计划、过程、数据可运行系统chapter_1214SCCB(SoftwareConfigurationControlBoard)配置控制委员会(SCCB)评估变更批准变更申请在生存期内规范变更申请流程对变更进行反馈与项目管理层沟通chapter_1215本章要点一、软件项目配置管理基本概念二、软件项目配置管理过程三、案例分析chapter_1216基本活动配置标识配置审计状态统计变更控制chapter_1217配置管理的基本过程1.配置项标识、跟踪2.配置管理环境建立3.基线变更管理4.基线审核5.配置状态统计6.配置管理计划chapter_12181、配置项标识、跟踪将软件项目中需要进行控制的部分拆分成SCI建立唯一的标识建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致,chapter_1219配置项的拆分例子(某医疗网站)需求规格SCI1.辅助功能.doc2.性能.doc3.产品目录.doc4.医务管理.doc5.医疗专业区.doc6.首页.docchapter_1220配置项的标识配置项被唯一的标识chapter_1221配置项的标识约定举例QTD-School–RM–SRS-v1.0公司:3个字符项目:最长10个字符类型:最长5个字符编号:最长8位数字版本号:Vm.nchapter_1222配置项的跟踪案例chapter_12232、配置管理环境建立建立配置管理库软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。chapter_1224配置管理库实例配置管理建库实例chapter_1225受控操作评审/验证新版本变更控制流程CheckinCheckout受控库chapter_1226配置项的跟踪过程举例chapter_1227配置库12RELEASE1.0345671234RELEASE1.11234PATCH#2121PATCH#1RELEASE2.0MAINBRANCHWINDOWSNTBRANCHMAINTENANCEBRANCHBUG_1BRANCHBUG_2BRANCHchapter_1228基线修改应受到控制,这种变化要经SCCB授权,按程序进行控制并记录基线修改的过程。3、基线变更管理过程chapter_12293、基线变更系统配置控制变更请求变更评估变更批准/拒绝变更实现chapter_1230变更请求表9-1:项目变更申请项目名称变更申请人提交时间变更题目紧急程度变更具体内容变更影响分析变更确认处理结果签字chapter_1231变更评估变更评估软件变更分类技术影响分析接口影响分析进度影响分析预算影响分析图9-11:变更请求的评估chapter_1232变更批准/拒绝批准/拒绝变更(若批准)实施变更决策(若批准)验证变更(若批准)发布、安装变更(若批准)版本更新chapter_1233变更实现变更实现变更实现受控基线出库实现的测试和验证实现被承认受控基线入库chapter_1234变更控制系统-举例chapter_12354、基线审核配置管理活动审核基线审核chapter_12365、配置状态统计检查配置管理系统以及内容,检测配置项变更历史chapter_1237IEEE标准828-1998规定用于计算配置状态的最小数据集包括被批准的配置项配置项的所有请求的变化状态配置项所有被批准的变更实现状态chapter_1238评估一个配置系统状态变更请求的数量变更请求的历史报告存储量的增长配置管理系统以及SCCB在运作中发生异常的次数等等配置统计报告例chapter_1239配置管理规划基线定义版本控制定义变更控制过程变更委员会的管理变更控制纪录chapter_1240配置管理的工具工具应具有的功能版本管理变更管理问题追踪建立管理状态统计(查询和报告)配置审核访问控制和安全控制chapter_1241常用配置管理的工具1.ClearCase&ClearQuest2.PVCS3.Harvest4.CVS5.VSSchapter_1242配置管理建议1.制定规则:实现版本管理1.小企业,小项目2.制定规则和(版本管理)工具:实现部分配置管理1.中小企业,中小项目3.制定规则和(配置管理)工具:实现配置管理-1.大企业,大项目2.异地开发模式3.配备专门的配置管理人员chapter_1243本章要点一、软件项目配置管理基本概念二、软件项目配置管理过程三、案例分析chapter_1244案例分析School项目案例说明:配置管理chapter_1245小结配置管理的基本概念配置项基线sccb配置管理过程,