1、11.1软件配置管理定义n原因原因:开发过程中,软件变更是不可避免,如果不能有效控制变更,将会造成软件开发的混乱 现代软件开发复杂度高、众多的开发人员、文件及相关资源多种多样、多个发布版本、多种平台、软件在不同地点开发n定义:是一种标识、组织和控制修改的技术,它作用于整个软件生命周期。n目的:使错误达到最小并最有效地提高生产率软件配置管理包含软件配置管理包含为两部分:配置管理变更控制管理(参见变更管理)22.1、配置管理活动中的重要概念nVersion 版本n配置项n基线n配置库3n版本号(Version number)项目版本号项目版本号主版本号主版本号:整数整数次版本号次版本号:整数整数D
2、EMO_V1.0_立项评审报告立项评审报告_已完成已完成2.1.1版本号n版本号(Version number)项目版本号项目版本号配置项版本号配置项版本号主版本号主版本号:整数整数次版本号次版本号:整数整数DEMO_V1.0_项目开发计划项目开发计划_V1.0_已完成已完成主版本号主版本号:整数整数次版本号次版本号:整数整数2.1.2配置项n配置项(Configuration Item,CI)凡是纳入配置管理范畴的工作成果统称为配置项,配置项主要有两大类:(1)属于产品组成部分的工作成果,例如需求文档、设计文档、源代码、测试用例等。(2)项目管理和机构支撑过程域产生的文档。这些文档虽然不是产
3、品的组成部分,但是值得保存。每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。所有配置项都被保存在配置库里,确保不会混淆、丢失。配置项及其历史记录反映了软件的演化过程。n配置项状态(Configuration Item state,CIS)1.已完成 2.待评审 3.待测试 4.通过测试 5.通过评审DEMO_V1.0_项目开发计划项目开发计划V1.0_已完成已完成配置项状态配置项状态n配置项标识n配置项标识以项目名称+_+项目版本号+_+配置项名称+_+配置项版本号+配置项状态。例如:DEMO_V1.0_项目开发计划_V1.0_已完成2.1.3基线n基线(Baseline)
4、基线由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被任何人随意修改(见变更控制规程)。基线通常对应于开发过程中的里程碑(Milestone),一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版本、日期等。通常将交付给客户的基线称为一个“Release”,为内部开发用的基线则称为一个“Build”。n基线名称(Baseline-name)基线名称以“项目名称+_+基线英文+_+标识生成日期“标识,例如:DEMO _REQBaseline_20060606 102.2.1、配置管理活动的流程112.2.2进入准则及退出准则进
5、入准则:项目立项退出准则:项目验收通过或项目终止、暂停122.2.3流程中的角色配置管理员配置管理员 配置管理员负责为产品开发团队提供全面的配置管理基础设施和环境,负责制定配置管理计划,负责对文档类的配置项建立基线。集成员(现阶段项目经理负责)集成员(现阶段项目经理负责)集成员负责制定集成计划,建立代码类基线。任意角色任意角色 提交配置项。CCB 审批基线。132.3.1.计划配置管理角色:配置管理员角色:配置管理员 n何时写配置计划 配置计划与项目开发计划同时产出或者在项目开发计划出来后2个工作日完成n如何确定配置项 配置项与项目开发计划中的产出物相对应n如何确定基线 基线一般与项目开发计划
6、中的里程碑相对应。142.3.2.创建配置管理环境角色:配置管理员角色:配置管理员依据配置管理计划,建立配置管理库。根据项目组成员的情况,提供配置管理的理论及工具操作培训。p通过创建并维护数据储存库建立一个环境,在此环境中可以对整个产品进行开发、构建,而且具有可重用性或可维护性。实现此目的有一个条件,即确保各私有和公有工作区中的开发人员和集成员只要有需要就能使用关键工件,而且这些工件充分建立了基线,并被存储以备将来重复使用。p设置 CM 环境时涉及到创建产品目录结构、储存库、工作区(开发人员和集成)以及分配计算机资源(服务器和磁盘空间)。152.3.3.配置项标识角色:配置管理员角色:配置管理
7、员依据配置计划对文档类的配置项及程序(coding、模型)类的配置项进行的标识。参见软件开发文档命名约定162.3.4.建立基线角色:配置管理员、集成员、角色:配置管理员、集成员、CCBCCB集成员根据配置管理计划进行集成。当达到某一预定的基线特征时,集成员应向配置管理员报告。(标识基线)。配置管理员对集成员报告的基线配置项进行审核,经确认无误后,配置管理员通知CCB评审已建立的基线。(审批基线)配置管理员将通过评审的基线向相关人员发布。(发布基线)确保当子系统达到指定的成熟度后为其建立基线,然后就可进行发布或在随后的项目迭代和/或其他项目中重复使用。在配置管理计划中对发布频率和形式予以说明。
8、集成员需确保从开发人员工作区交付的工件已经过充分测试,以便可以将其并入可测试的工作版本中。集成员需熟悉项目 CM 策略以及具体测试操作。172.3.5.报告配置状态角色:配置管理员角色:配置管理员根据配置管理计划,收集配置活动数据,编写配置状态报告。通过缺陷追踪和报告活动来辅助产品复审。确保为追踪进展和趋势而“积累”数据并报告数据。182.3.6.执行配置审计角色:配置管理员角色:配置管理员配置审计在每个阶段结束后(通常是一个基线结束)由配置管理员进行一次配置审计工作。配置审计主要对配置库中配置项的审计,审计产品目录结构与实际配置项是否一致,是否按照配置管理计划纳入了配置项,有无多余的或漏掉的
9、配置项。根据审计结果,编写配置审计报告,并将报告发布项目经理及相关人员。对审计中发现的问题,应与项目经理及相关人员协商解决办法。并对不能解决的问题进行上报。确定产品满足需求。确定工件存储在受控制的库中。确保工件和基线可用。192.4 输出工件输出名称输出名称输出描述输出描述参考参考配置管理计划CM 计划说明要在项目生命周期过程中执行的所有配置和变更控制管理活动。说明了活动时间表、指定的职责和需要的资源(包括人员、工具和计算机设备)。配置管理计划模板配置状态报告主要报告变更请求情况,当前的软件工作版本以及版本说明。配置状态报告模板配置审计报告对配置审计进行描述。配置审计报告模板203、变更控制管理提交变更申请评估实施拒绝3.2变更管理流程变更管理流程224、讲解配置管理活动规范及模板n配置计划模板及范例nEAS系统的基线、配置项、配置库设置情况235、安排作业n安排完成德育评定系统配置计划及基线、配置项、配置库的设置