软件配置管理解决方案目的:●通过使用配置管理软件,遵守版本控制、变更控制等规程,保证所有配置项的完整性和可跟踪性。范围:●适用于公司的软件开发项目,它规定了软件配置管理活动的具体规程及其工作产品。角色与职责:●配置管理员:编制项目配置管理计划;创建并维护配置库。●配置变更控制委员会(SCCB):审批配置变更申请。●软件开发组成员:在权限内使用配置管理工具操作配置库。●项目SQA人员:审计配置管理活动的规范性。进入准则:●项目计划已制定。●项目软件过程已定义●配置管理员和SCCB人员已确定。输入:●项目计划●项目软件过程结束准则:●对项目配置库的操作和管理持续到项目结束。●只要存在用户使用配置管理就要进行。输出:●配置管理计划●产品配置库●软件基线审计报告主要活动:1在项目早期(在项目计划初稿后,并与项目计划一起评审)编制项目配置管理计划。●确定项目配置管理员。●项目经理和项目配置管理员共同指定项目组的SCCB。●项目经理与项目配置管理员按确定的软件生命周期,识别出项目要进行控制的软件配置项和纳入配置管理的日期。●项目经理与项目配置管理员依据项目定义软件过程,共同确定项目的基线,并标识每个基线的配置项。●项目经理确认由项目配置管理员制定的在软件生命周期各个阶段配置项的使用权限清单。●项目配置管理员按照《配置管理计划模板》制定项目的SCM计划。●项目配置管理员根据项目所使用的开发工具确定项目使用的配置管理工具。●项目配置管理员根据项目计划的变动,适时调整项目的SCM计划。具体规程见《项目跟踪与监控过程》计划变更相关步骤。●由项目主管主持,项目经理、公司配置管理主管、项目配置管理员、软件工程组、软件相关组参加对配置管理计划书的评审。具体规程参见《同行评审过程》。2按照配置管理计划,进行项目的配置库管理。●项目配置管理员规划、建立项目的目录结构。该结构支持对配置项的存储和检索功能。●项目配置管理员根据项目的规模,规划和配置管理工具相关的配置库结构。●项目配置管理员依据经项目经理确认的权限清单对目录结构进行权限分配,以达到在相关组之间或配置库内部之间进行共享和传输。●项目配置管理员将配置项用配置管理工具统一管理,将软件工作产品存放在指定的服务器的软件基线库中。●项目配置管理员保证由软件基线库制造的产品的正确生成。●公司配置管理员定期对服务器的软件开发库、软件基线库进行备份,对配置项的归档版本提供存储和恢复功能。3配置识别●项目配置管理员在制定项目的SCM计划时,与项目经理共同识别出将置于配置管理之下的软件工作产品。可标识为配置项的软件工作产品的例子有:◇与过程有关的文档;◇软件需求;◇软件设计;◇软件源代码;◇软件可执行代码;◇软件测试规程;◇为软件测试活动建立的软件系统;◇编译程序;◇交付给用户的或最终用户的软件系统;◇其它支持工具等。●项目配置管理员依据项目配置计划书在给定的时间点上标识配置项/单元。●项目配置管理员依据开发规范,保证每个配置项赋予唯一的标识符。●项目组成员应用配置管理工具,标明每个配置项的修订版本号。●项目配置管理员可用配置管理工具中的label功能,说明每个配置项所属的软件基线。●项目配置管理员使用配置管理工具记录每个配置项/单元置于软件配置管理之下的时间,并标明其生成者。4配置变更●变更分类对软件及其相关文档的变更按照变更的影响范围进行分类:1)A级:变更会影响系统级需求、外部接口、产品价格或者交付期;这类变更必须经过SCCB审核并有客户批准和确认。2)B级:变更会影响配置项间的功能接口、组件级成本或者项目Schedule;这类变更必须由SCCB或上级管理部门的批准和认可。3)C级:变更会影响配置项内部功能的设计和分配;这类变更可以由配置项的管理人员负责批准。●变更请求的提出◇如果需对已纳入基线管理的配置项提出修改,项目组或其他相关人员应在配置项变更请求评审记录中填写变更请求,交给项目经理。相关表格参见《配置项变更申请单》。◇项目经理组织人员对变更请求进行评估,描述实施变更所影响的配置项、文档和资源,确定变更的分类;如果是属于A类或B类,需要组织SCCB评审会进行评审。●变更实施◇项目经理将需解决并批准的问题通知相关人员进行修改。◇项目组成员实施《配置项变更申请单》中的所有变更,并确保相关文档得到更改。◇测试人员对已修改的问题进行确认,并将跟踪结果记入CQ中。◇当确认无误后,项目组成员检入配置库。◇项目配置管理员跟踪配置项变更解决的过程。跟踪的主要内容有:1)解决人;2)解决日期;3)解决方法;4)修改的文件;5)受影响的文件;6)受影响的数据;7)是否经过验证等。●SCCB定期召开评审会,确认基线修改的正确性、完整性和一致性,并保证不会对基线造成意外的后果。5保证由软件基线库生成产品并控制它们的发行。●项目经理或指定人员依据SDP中的build计划和软件产品测试申请单,对存放于软件配置库中的源程序进行编译,生成软件产品,并提交测试人员进行测试。●测试人员依据产品测试通过标准,对待测产品进行确认测试,形成测试报告。●SCCB依据测试报告,审计由软件基线库生成的软件产品与测试通过标准的符合性,并生成SCCB会议纪要。●对审计通过的产品build,项目配置管理员将其升级为基线。●项目配置管理员对审计通过的软件工作产品建立版本标识号(用配置管理工具的label加以标识)。●项目配置管理员将审计通过的软件产品(release)放入软件产品库。6当软件工作产品纳入基线管理时,进行软件基线审计。●根据项目配置管理计划,SCCB确认在适当的时间需要审计的软件基线,明确该基线包括的配置项。●在该基线包含的配置项经评审和检查通过后,项目配置管理员通过配置管理工具将配置项升级为基线状态,并为配置项标注LABEL等。该基线所包含的所有配置项都升级为基线状态时,该基线正式建立。●项目配置管理员验证该基线是按照项目的配置管理计划所明确的配置项组成的。●项目配置管理员验证已建立的基线所包含的配置项是完备、准确的。●项目配置管理员将审计发现的问题记入基线审计报告,并对问题进行跟踪直至解决。●项目配置管理员将基线审计报告向项目经理报告。过程裁剪说明:◆创建配置库时,库结构需要使用公司统一目录结构,但是项目可以根据需要增加目录结构;除在公司外部连接不到公司服务器情况外,不可以使用公司规定以外的配置管理工具。相关文档:◆配置管理计划模板◆配置项变更申请表表样◆软件基线审计报告表样