XXXX项目
配置管理计划
这里填写公司名称
XXXX年XX月XX日
文档编号:XXXXXXXX-XXX-XXX
版本号:1.00
产品名称:XXXX项目项目
文档名称:配置管理计划
这里填写公司地址、联系方式等
目录
1. 引言... 1
1.1 目的... 1
1.2 术语定义... 1
1.3 参考资料... 1
2. 软件配置... 2
2.1 软件配置环境... 2
2.2 软件配置项... 2
2.3 配置管理员... 3
3. 软件配置管理计划... 4
3.1 建立示例配置库... 4
3.2 配置标识管理... 6
3.3 配置库控制... 7
3.4 配置的检查和评审... 8
3.5 配置库的备份... 9
3.6 配置管理计划的修订... 9
3.7 配置管理计划附属文档... 9
4. 里程碑... 11
附录1 文档命名规定... 12
1、受控配置库文件命名规则... 12
2、非受控配置库文件命名规则... 12
3、提交文档文件命名规则... 12
附录2 文档编码规范... 13
附录3 帐号及权限管理... 14
附录4 配置库使用规定... 16
文档修改记录... 17
1. 引言
1.1 目的
本文档目的在于对XXXX项目项目进行软件配置管理,提高软件质量,降低软件开发成本。
本文档内容主要参考研发中心相关的ISO程序和制度文档,并在这基础上整理成适合本项目的软件配置管理,为项目经理、配置管理员及相关人员提供日常的配置管理操作步骤。
1.2 术语定义
软件配置管理:简称SCM(Software Configuration Management的缩写),是在项目开发中,标识、控制和管理软件变更的一种管理。配置管理的使用取决于项目规模和复杂性以及风险水平。软件的规模越大,配置管理就显得越重要。
基线:(BaseLine) 是项目储存库中每个工件版本在特定时期的一个“快照”。它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。
配置管理员:项目组中负责配置管理工作的角色,该角色可以兼职。在某一开发阶段通过评审或某一质量检查点通过审核后,配置管理员负责统一添加或修改相关文档的最新有效版本以及审批人签字。
配置标识:(Configuration Identification)对软件项目在开发过程中的资源进行标识,以便识别。
配置检查:(Configuration Audit)对软件配置管理过程中的行动进行检查。
1.3 参考资料
《研发中心配置管理制度》
《产品的标识与可追溯性程序》
《开发手册》
2. 软件配置
2.1 软件配置环境
2.1.1服务器软件环境
在整个项目过程或产品生命周期中,选择Visual Souce Safe(VSS)作为配置管理工具。
2.1.2硬件环境
2.1.3配置管理客户端
项目组成员在各自的计算机安装VSS客户端,项目组成员以分配的帐号访问配置服务器和登录配置管理系统,根据配置管理员设定的用户权限进项配置管理活动。
2.2 软件配置项
在本项目的实施过程中,将配置库分为受控配置库和非受控配置库两种
受控配置库
在本项目开发实施的整个过程中,根据不同阶段的配置管理划分11个受控配置目录,只有配置管理员拥有增加和修改的权限,其它用户只有只读的权限。受控配置库的目录为:
00初始配置
01启动
02需求分析
03设计
04编码
05测试
06安装
07总结
08变更
09项目管理
10环境配置
初始配置库的根目录中包含XXXX项目的配置文件清单,该文档包括本项目开发过程中应该提交的文档的清单,在实际开发过程中,根据实际情况,可以在清单中酌情修改、增加和删除需要提交的文档。具体内容参见本文3.3的“配置文件清单的维护”。
各个配置目录内应该包含的文档,请参见“XXXX项目配置文件清单.xls”。
非受控配置目录
在本项目开发过程中,设立了非受控配置目录。设立非受控配置目录的目的是为了统一管理和存放开发过程中产生的临时文档和过程性文档,没有格式及命名上的严格要求,使项目组成员在思考、设计时不受太多的限制和约束,能够更有效地发挥个人能力,符合以人为本的原则。
在项目初期,设立了以下三个目录:
在根据项目开发过程中,根据实际需要,可以酌情增加非受控配置目录。
2.3 配置管理员
在本软件项目开发过程中,项目组必须设立配置管理员,专业(或兼职)负责软件项目开发过程中的软件配置管理工作,保证在项目开发过程中的一些变更管理及文档管理的完整性,顺利地实施项目开发进度。
配置管理员负责制定配置管理计划,检查项目组成员是否正确使用配置库,并督促项目开发计划的实施。
配置管理员还需配合研发中心产品管理部进行项目的配置评审。评审结束,相关文档的批准人电子签名由批准人签写或经批准人授权配置管理员填写,然后由配置管理员负责签入配置库;同时,由配置管理员收集配置项审批相关的email文档并签入配置库。
3. 软件配置管理计划
关于XXXX项目项目软件配置管理的文档提交计划请参见《XXXX项目配置文件清单.xls》。
关于配置库的日常使用的规定参见附件4《配置库使用规定》。
3.1 建立示例配置库
配置管理员在制定完计划后,根据公司建议的配置库建立符合本项目的配置管理库。配置库建立在Visual Souce Safe上,目录结构可按照示例配置库提供的目录。对于本项目来说,需要划分多个子系统,因此要在确定子系统的划分后,在不同阶段下分别建立各子系统的配置目录。
XXXX项目其配置管理目录结构如下所示。
配置管理库建立完毕后,可根据配置管理库的人员计划在Visual Souce Safe上建立相应的用户及权限,并将这些用户分发给指定的开发人员或用户。具体的帐号及权限管理参见附录 3 《帐号及权限管理》
配置管理员应保管好配置管理工具的管理员权限,项目组中使用配置管理库的成员应该及时更改自己在配置管理工具的缺省设置密码。
3.2 配置标识管理
1.文档
根据配置管理计划和配置库中的文档清单,配置管理员要检查需要提交的文档是否都按时提交,文档数目是否符合,文档的标识、命名以及版本等是否符合程序规定。关于文档的命名请参见附件 1 《文档命名规定》,文档标识及版本参见附件 2《文档编码规范》
2.程序
所有属于该项目的程序、分程序、模块和程序单元,都要按照由项目组和配置管理员制订的软件系统的命名约定的规定来标识。
要求所有模块的源代码都需记录模块编号,且模块编号在整个系统中是唯一的。模块编号在系统设计完成之后,由项目组和配置管理员共同根据系统设计进行编制。
3.基线
所有属于本项目及其各子系统的各类基线,首先要按照计划书、软件需求规格说明书、软件项目详细分析设计说明书的规定确定其技术内容,在整个软件项目开发过程中定义以下两类基线:
文档基线:本项目的文档基线的定义以里程碑的定义为准,将到达各阶段的里程碑时的文档作为基线,具体里程碑的定义参见第4节“里程碑”。
产品基线:产品基线包含两个,一个是系统上线时,一个是系统经过客户验证测试时,基线包含那时的所有程序代码和文档。
配置管理员负责在项目开发的每一个里程碑处、每一个阶段性的版本发布时负责为整个配置库设立书签,划定配置管理基线,并以文档的方式记录下这些书签的定义。
3.3 配置库控制
权限控制
配置管理员根据附录 3《帐号及权限管理》设置和调整项目组成员对配置项的权限。
配置库的控制
在项目开发和实施的整个过程中,配置管理员应根据配置管理计划及管理规则对配置库应进行管理和控制。配置管理员负责检查项目组成员使用配置库是否正确。包括是否及时检入最新版本、是否添加了注释、是否及时更改配置状态,是否存在项目组成员修改了不属于自己负责的配置项,项目组成员是否完成了自己负责的配置项的检入,测试版本的构造是否从配置库中取出等。
建立软件库
在项目的各个开发阶段,应建立起各阶段各子系统的软件开发库(软件开发工作区),同时建立起想对应的有关该系统及其子系统的软件受控库。在每个阶段结束或里程碑,需让各子系统提交相关的产品并送入软件受控库,由配置管理员统一管理,以后再有对产品的变更需求,应按照正常的变更程序来控制并检查相关的变更文档。当全部开发工作结束,需建立起软件产品库,将所有可交付的产品都送入软件产品库。
软件配置更改
软件配置的更改管理适用于全部项目的所有文档和代码,其中包括整个项目的各个运行软件,也包括为项目专门开发的支持软件。
l 对该项目各个子系统及其专用支持软件的基线及其集成系统的任何修改,必须得到项目负责人的批准并在本项目软件质量管理专员处备案才能进行配置更改;
l 更改完成后的文档和代码等,需得到项目负责人认可,提交给配置管理员后,由配置管理员签入受控配置库;
l 受控配置库中的文档,在文档末尾必须有修改记录部分,包括修改人、修改日期、修改内容等项,每次对于受控配置库中文档的修改,必须填写这些项。
配置文件清单的维护
l 配置文件清单的维护由配置管理员维护;
l 项目初期,配置管理员与项目组成员一起对开发过程中可能产生的文档的进行预计,并在配置文件清单中列出这些文档及其大致的计划提交时间;
l 在实际开发过程中,文档提交可能会产生一些变化,如新增某些文档、原计划的一些文档不再单独产生、文档计划提交日期的变更等,项目组应该及时通知配置管理员,由配置管理员及时更改配置文件清单中的相应项。
3.4 配置的检查和评审
配置的检查和评审可通过研发中心配置管理制度的审核内容来进行检查。相关的审核内容如下表:
配置管理员应配合研发中心产品管理部定期对项目进行配置管理的审核。在审核过程中,提供所需要的配置管理计划及相关资料,在项目开发结束后,需提交所有关于项目的软件配置库。
3.5 配置库的备份
在项目开发实施过程的各个阶段,配置管理员应定期做好软件配置库的备份,以防造成劳动成果的丢失而给整个项目及公司带来的严重损失。
备份可按照公司的要求定期(按周或月)进行。在每个阶段或里程碑处在做完基线工作后应进行备份。备份文件应存放在不同的地方。
本项目的备份按如下方式进行:
ü 定期备份时间为每个月备份一次,备份方式同公司研发中心一致,定于每个月的最后一个星期二;
ü 当在月末(大于当月20日)达到一个里程碑时,对配置库进行一次备份,取消当月月备份;
ü 当在月中(大于当月10日,小于等于当月20日)达到一个里程碑时,对配置库进行一次备份,当月月备份不变;
ü 当在月初(小于当月10日)达到一个里程碑时,不需要对配置库再进行一次备份,当月月备份不变;
ü 备份的文件要明确标明备份日期,刻录成光盘,在外地封闭开发,现场尚未配备刻录机时,应保存在可靠的计算机中;
3.6 配置管理计划的修订
初始的配置管理计划在项目开始的初期进行制定,由于此时只能大致确定整个开发过程中的一些活动及其会产生的文档,在实际开发过程中,可能会与此有些差异,因此,配置管理计划也需要根据开发过程的实际情况,及时进行修订,使之能够有效地对本项目的配置管理活动进行指导。
在一般情况下,进行配置管理计划修订的时机选在到达各个阶段的里程碑时。如果在一个阶段的实施过程中,配置管理计划不能适应实际过程的变更,则由配置管理员与项目管理人员一起根据实际情况修订配置管理计划。
配置管理计划的修订,需要通过XXXX项目项目的项目负责任、软件质量控制专员、配置管理员的共同审核,一致签字同意后方能作为此后阶段的配置管理计划。
3.7 配置管理计划附属文档
《配置文件清单》:记录项目开发过程中应该产生的一些文档、描述及其提交计划等内容,是执行配置管理及检查的重要依据。该文档在项目开始的初期建立,确定开发过程中需要提交的大部分文档,并在项目开发过程中根据实际情况稍做更新。
《模块清单》:模块清单记录了系统各个子系统、程序模块的名称并分别进行项目内的唯一编号,是所有模块的源代码需记录模块编号的依据。《模块清单》在系统设计完成之后,由项目组和配置管理员共同根据系统设计进行编制。
《文档命名规定》: 参见附录1 《文档命名规定》
《文档编码规范》: 参见附录2 《文档编码规范》
《帐号及权限管理》: 参见附录3 《帐号及权限管理》
《配置库日常使用规定》: 参见附录4 《配置库日常使用规定》
4. 里程碑
本项目主要划分以下几个里程碑:
附录1 文档命名规定
本命名规定主要是针对文档的,不包含源代码文件和最终程序的命名规则。本规定主要包含以下三个方面的命名规则:
1. 受控配置库文件命名规则
2. 非受控配置库文件命名规则
3. 提交文档文件命名规则
1、受控配置库文件命名规则
受控配置库中的配置项文档(不含源代码和最终工作产品)名称应该按照如下格式命名:
项目名称 + 资料名称 + 撰写或修改日期
例如:
20##年5月8日定稿的开发计划书
XXXX项目软件开发计划书.doc。
20##年5月21日定稿的子系统一需求分析说明书为
XXXX项目子系统一需求分析说明书20020521.doc
2、非受控配置库文件命名规则
非受控配置库主要用于存放项目成员工作时产生的临时文档等,只要求提交时不致出错,对命名规则没有其它限制,由项目成员根据自己习惯对文档命名。
3、提交文档文件命名规则
同受控配置库的文件命名规则。
项目成员提交文档到文档提交区前,应该按照受控配置库的文件命名规则对文档命名,然后才提交道文档提交区中。
附录2 文档编码规范
文件编码原则
依据复旦金仕达公司研发中心ISO程序文件《文件编码及撰写规范》的规定,技术文件的文档编号、编码规则如下表示:
项目编号
项目编号为8位,1-5位为在研发中心产品管理部申请的项目编号,6-8位标识版本。
文档类型号
用来标识软件开发中产生的某一类技术文档,用三位数字表示:
文档流水号
只有当在同一文档分成几部分编写时才使用。对于技术文件来说,每一种技术文件的文件大小要取决于项关项目的规模大小和复杂程度。因为本项目比较大,根据系统情况拆分成了三个子系统,文档流水号分别为:001~003。
子系统一 001
子系统二 002
子系统三 003
附录3 帐号及权限管理
一、帐号管理
1、配置管理服务器帐号
l 在配置管理服务器(fileserver)上为项目组的每个项目成员都建立帐号;
l 帐号名与《XXXX项目开发小组通讯录》中登记的内部用户名一样;
l 根据项目过程中的人员调配状况适时增加和删除帐号;
l 初始口令与用户名一致;
l 每个项目成员访问配置管理服务器时,都应该用自己的帐号;
2、 配置管理库帐号
l 在 SourceSafe 上为项目组的每个项目成员都建立帐号;
l 帐号名与《XXXX项目开发小组通讯录》中登记的内部用户名一样;
l 根据项目过程中的人员调配状况适时增加和删除帐号;
l 初始口令与用户名一致;
l 每个项目成员第一次登录配置库时应该修改自己的用户口令;
l 每个项目成员应该使用自己的帐号登录SourceSafe;
l 项目成员如果遗忘帐号口令,应即时通知配置管理员重新分配该帐号的口令;
二、权限管理
权限管理分为两大部分的权限管理:
Ø 受控配置库的权限管理
Ø 非受控配置库的权限管理
1、 受控配置库
l 配置管理员对受控配置库拥有所有权限;
l 项目组其他成员对受控配置库拥有只读权限;
l 非项目组成员未经允许对整个配置库没有任何权限;
2、 非受控配置库
非受控配置库主要包含以下三个目录:
Ø 个人工作区
Ø 小组工作区
Ø 文档提交区
个人工作区
l 在 SourceSafe 上的个人工作区目录下为项目组的每个项目成员都建立了一个与本人的中文名字一样的目录;
l 每人对与自己同名的目录拥有所有权限,对其它的目录拥有只读权限;
小组工作区
l 分为子系统一、子系统二、子系统三个目录;
l 各小组的成员对所属小组目录拥有所有权限,对其它小组目录只有只读权限;
l 项目管理人员和配置管理员对所有小组目录拥有所有权限;
文档提交区
l 用于文档和代码提交;
l 所有人对其拥有只读/修改/删除和签入/签出权限;
l 配置管理员对其拥有所有权限;
附录4 配置库使用规定
1、 项目组成员编写的与本项目有关文档、程序代码等,应该保存在配置库中;
2、 文档在编写过程中,保存在配置库的非受控目录中,其中个人文档和代码保存在“个人工作区”的项目成员本人的目录下,小组文档保存在“小组工作区”的所属小组目录下;
3、 每周第一个工作日开始,项目成员从非受控配置库中签出要编写、修改的文档或代码到本人的计算机,进行编写、修改工作;
4、 每周最后一个工作日结束时,项目成员必须将签出的文档保存后签入到配置库中;
5、 文档和代码要提交到受控配置库中时,必须先提交给配置管理员,由配置管理员提交到受控配置库中;
6、 当文档或代码通过评审或得到项目管理人员及客户的一致认为可以提交时,提交到“文档提交区”的目录中;
7、 文档提交前应该按照附录1《文档命名规定》中的规定进行命名,文档编码应该符合附录2《文档编码规范》中的规定;
8、 项目组成员未经项目组允许不得更改他人的文档和代码;
9、 任何文档、代码等,不能以压缩文件的方式签入配置库中;
10、 每次评审结束,相关文档的批准人电子签名由批准人签写或经批准人授权配置管理员填写,然后由配置管理员负责签入配置库;
11、 如果需要对受控配置库中的文档、代码进行变更,需得到项目负责人批准方能从受控配置库中取出更改;
12、 更改完成后的文档,需得到项目负责人认可,提交给配置管理员后,由配置管理员签入受控配置库。