项目配置管理计划Word下载.doc
《项目配置管理计划Word下载.doc》由会员分享,可在线阅读,更多相关《项目配置管理计划Word下载.doc(19页珍藏版)》请在冰豆网上搜索。
配置项主要有两大类:
1)属于产品组成部分的工作成果,例如需求文档、设计文档、源代码、测试用例等;
2)项目管理和机构支撑过程产生的文档。
这些文档虽然不是产品的组成部分,但是值得保存。
每个配置项的主要属性有:
名称、标识符、文件状态、版本、作者、日期等。
所有配置项都被保存在配置库里,确保不会混淆、丢失。
配置项及其历史记录反映了软件的演化过程。
1.3.4 基线(Baseline)
在配置管理系统中,基线就是一个CI或一组CIs在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态,些配置项构成了一个相对稳定的逻辑实体,而这个过程被称为“基线化”。
每一个基线都是其下一步开发的出发点和参考点。
基线确定了元素(配置项)的一个版本,且只确定一个版本。
一般情况下,基线一般在指定的里程碑(Milestone)处创建,并与项目中的里程碑保持同步。
每个基线都将接受配置管理的严格控制,基线中的配置项被“冻结”了,不能再被任何人随意修改,对其的修改将严格按照变更控制要求的过程进行,在一个软件开发阶段结束时,上一个基线加上增加和修改的基线内容形成下一个基线。
基线的主要属性有:
名称、标识符、版本、日期等。
通常将交付给客户的基线称为一个“Release”,为内部开发用的基线则称为一个“Build”。
建立基线的好处:
1)重现性:
及时返回并重新生成软件系统给定发布版的能力,或者是在项目中的早些时候重新生成开发环境的能力。
当认为更新不稳定或不可信时,基线为团队提供一种取消变更的方法。
2)可追踪性:
建立项目工件之间的前后继承关系。
目的是确保设计满足要求、代码实施设计以及用正确代码编译可执行文件。
3)版本隔离:
基线为开发工件提供了一个定点和快照,新项目可以从基线提供的定点之中建立。
作为一个单独分支,新项目将与随后对原始项目(在主要分支上)所进行的变更进行隔离。
2 相关人权责
2.1 项目经理(ProjectManager,PM)
责任:
1)与CCB协商确定项目起始基线和开发里程碑;
2)接受配置管理计划,并按相关规定贯彻执行;
3)接受配置控制委员会的报告。
权利:
1)提出配置管理计划的修改要求;
2)提出管理管理的建议和要求。
2.2 配置控制委员会(ConfigurationControlBoard,CCB)
1)制定和修改项目的配置管理策略;
1)批准、发布配置管理计划;
2)建立、更改基线的设置,审核变更申请;
3)根据配置管理员的报告决定相应的对策。
2.3 配置管理员(ConfigurationManagementOfficer,CMO)
1)编制配置管理计划;
2)执行配置项管理方案;
3)执行版本控制和变更控制方案;
4)编制配置状态报告;
向CCB汇报有关配置管理流程中的不符合情况。
2.4 程序库管理员(ProgramLibrarian,PL)
1)配置库的建立和权限分配;
2)配置管理工具的日常管理与维护;
3)配置库的日常操作和维护;
1)各配置项的管理与维护;
2)对开发人员进行相关的培训。
2.5 开发人员(Developer)
1)根据确定的配置管理计划和相关规定,提交配置项和基线;
2)负责软件集成和版本生成。
按照软件配置管理工具的使用模型来完成开发任务。
2.6 测试人员(Tester)
根据配置管理计划和相关规定,提交测试配置项和测试基线;
负责软件变更的测试验证。
2.7 软件质量保证员(SoftwareQualityAssurance,SQA)
负责配置审核并提交报告。
对配置审核中发现的不符合项,要求相关责任人进行纠正。
3 实施细则
3.1 CCB的成立
3.1.1 项目在设计发注后,由项目经理负责组织成立CCB。
3.1.2 CCB成员组成
CCB成员人数一般为奇数,人数在3~7人范围内。
CCB成员一般包括:
1)项目经理PM;
2)配置管理员CMO;
3)SQA;
4)测试人员Tester;
5)顾客代表;
6)主要开发人员等。
3.1.3 CCB的决策机制
寻求CCB成员的一致意见。
若不能达成一致,可采取由顾客代表做出决策;
或采取少数服从多数的原则,由CCB成员投票确定,投票超过半数即为通过。
3.2 确定配置策略
3.2.1 配置策略确定的时机
CCB成立后,由CCB组织会议根据项目的开发计划确定各个里程碑和开发策略,CMO负责整理确定的项目基线和配置项列表,并在编制《配置管理计划》时列明,按约定的时机收集配置项和建立初始基线。
3.2.2 配置项的范围
1)技术文档(Documents):
项目开发计划、需求分析报告、软件设计书、质量保证计划、概要设计书、详细设计书、测试文档、技术报告、用户手册、总结报告等;
2)程序(Program):
阶段产品、计算机程序、源程序、释放产品等;
3)工具(Tools):
自动设计工具、开发工具、测试工具、维护工具等;
4)交互文档(Communications):
与客户或项目组内交互产生文档,如会谈记录、E-mail、会议纪要、MSN记录等。
3.3 制定配置管理计划
3.3.1 《配置管理计划》的编制
通常情况下,由CMO在设计发注后,开始编制《配置管理计划》;
如有特殊需要,根据合同或项目要求,由CMO在某一项目或项目的某一阶段开始前制定《配置管理计划》。
3.3.2 《配置管理计划》的内容
《配置管理计划》应包括以下方面的内容:
1)该项目对配置管理的要求;
2)实施配置管理的责任人、组织及其职责;
3)需要开展的配置管理活动及其进度安排;
4)采用的方法和工具等。
3.3.3 《配置管理计划》的由CCB负责审批。
3.4 配置项标识规则
3.4.1 配置项标识要求
1)合同有明确标识和追踪要求时,由开发人员按合同要求进行标识,以保证满足合同追踪要求。
2)在开发过程中项目组人员提交的配置项,由项目组人员按照本节相关部分标识规则进行标识。
3)项目组人员将要标识或已标识的配置项提交给CMO纳入配置库统一管理,并填写《配置状态报告》。
3.4.2 配置项标识方式
3.4.2.1 标识项
配置项标识属性包括:
名称、编号、文件状态、版本、作者、日期等。
本文标识规则对名称、编号、文件状态和版本进行了描述和规定。
3.4.2.2 名称
文件名称的标识按文档模板中统一名称为准。
a)编号
文档编号格式为CC_XXX_***_$$$_###,其中CC表示公司,XXX是项目的三位英文字母缩写表示,***_$$$表示文档类别,###表示文档顺序号。
同时对应每个内容都有固定的一个索引文件CC_XXX_**_$$$_index,目的是为了为本类别下的文件建立一个概要说明列表,保证快速对文档进行识别和检索。
3.4.2.3 文件状态
文件状态分为“草稿”、“正式发布”和“修改中”三种。
修改处于“草稿”状态的配置项不算是“变更”,无需CCB的批准,修改者按照版本控制规则执行即可。
当配置项的状态成为“正式发布”,或者被“冻结”后,此时任何人都不能随意修改,必须依据配置变更控制的规则执行。
3.4.2.4 文档版本控制
对于计划性文档、技术文档和用户文档,其版本按修改的先后顺序确定。
新生成的文档第一次发行为第一版,修改后第二次发行为第二版,以此类推。
3.4.2.5 发行版本控制
最终完成的软件版本用三位符号表示:
“s.x.y”。
各符号位的含义如下:
1)“y”为第二次版本号,表示纠正错误时的版本升级,用一位数字表示:
“1~9”,对上一次产品或项目中的缺陷做修正,第二次版本号增加;
2)“x”为第一次版本号,表示增加功能时的版本升级,用一位数字表示:
“0~9”。
与上一产品或项目相比,功能进行了小量的增加或修正时,第一次版本号增加,第二次版本号为零,第二版本号为零时可以省略不写;
3)“s”为主版本号。
对产品作重大调整,或与已发行的上一产品相比,在功能与性能上有较大改善时主版本号增加;
产品或项目概念全新,第一次完成,版本号为1.0。
3.4.2.6 基线版本标识
内部基线,如计划基线、设计基线等,在版本号前加Build,如Build1.0;
发行产品基线在版本号前加Release,如Release2.0。
3.5 配置库管理
3.5.1 配置库(Repository)的分类
配置库分为两类:
1)文档库(DocumentLibrary):
由CMO负责管理,主要使用eSM系统管理除程序以外的文档资料(包括图片等);
2)程序库(ProgramLibrary):
由PL负责管理,主要使用CVS版本工具对程序代码进行管理。
3.5.2 配置库的建立
3.5.2.1 CCB成立之后,PL即可着手组织建立配置库。
所有项目应建立配置库,以便管理各配置项。
3.5.2.2 文档库空间由eSM系统创建,PL仅创建基线文档库,仅PL可以对其操作。
3.5.2.3 程序库主要通过设置版本的分支,来实现对配置项权限管理,基本上要为每个配置项从建立开始就划分成3个不同的分支(如图1):
图1 配置库空间分配和版本迁移策略
1)私有分支(PrivateBranch):
私有分支对应的是开发人员的私有开发空间。
开发人员根据任务分工获得对相应配置项的操作许可之后,他即在自己的私有开发分支上工作,他的所有工作成果体现为在该配置项的私有分支上的版本的推进,除该开发人员外,其他人员均无权操作该私有空间中的元素。
2)集成分支(IntegrationBranch):
集成分支对应的是开发团队的公共空间。
凡是要为同组人员共享的配置项都从该分支获得。
即各开发人员必须将私有工作空间中的开发成果归并(Merge)到该分支后才能进入下一个开发活动。
所有涉及多人协调的开发工作(如集成测试等)都必须工作在这一空间中。
该开发团队拥有对该集成分支的读写权限,而其他成员只有只读权限。
该分支的管理工作由PL及相关指定人员负责。
3)公共分支(CommonBra