《软件配置管理指南(共23页).doc》由会员分享,可在线阅读,更多相关《软件配置管理指南(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上软件配置管理指南编号: PRO-SCMP版本 1.0作者:IBM China, CSDL, LBS Education日期:2007-11-19审批:日期:专心-专注-专业变更记录日期版本变更说明作者2007-11-191.0创建IBM China, CSDL, LBS Education1 引言软件配置管理的目的是在项目整个软件生存周期过程中建立和维护软件项目产品的完整性和一致性。软件配置管理包括确认在给定时间点上软件的配置(即选定的软件工作产品及其描述),系统地控制对配置的更改,并维护在整个软件生存周期中配置的完整性和可跟踪性。置于软件配置管理之下的工作产品包括:
2、软件过程资产(例如软件过程改进中的所有文档),交付给顾客的软件产品(例如软件需求文档和代码),内部使用的相关软件产品,以及为完成这些软件产品而生成的中间产品。这些产品通常置于产品基线库中并由专门人员进行管理和控制。软件配置管理过程需要达到的目标包括:1. 保证软件项目的配置管理活动是有计划的。2. 所选择的软件工作产品是确定的、受控的、可访问和可用的。3. 对已经确定的软件工作产品的变更是受控的。4. 相关部门和人员能及时获知软件基线库的状态、变更和变更内容。1.1 目的本计划定义了项目的配置管理流程,目的是为了在整个软件生命周期中,控制构成软件产品的各配置项的标识、变更等活动,从而建立并维护
3、软件产品的完整性、正确性、一致性和可追溯性。1.2 范围本软件配置管理计划适用于整个软件生存周期过程中已纳入配置管理库的配置项的活动。置于配置管理系统下的工作产品通常包括:1. 各种标准(代码书写标准、设计标准等)2. 项目计划(开发计划、质量保证计划和配置管理计划等)3. 软件需求说明书及相关的文档和静态原型4. 设计文档5. 软件源代码6. 测试计划、测试程序和数据7. 软件操作手册8. 各种跟踪记录、测试记录、评审报告等9. 过程改进文档10. 其它相关的资料库(电子的和非电子的文档)11. 其他和软件开发及管理相关的和必要的文档1.3 术语定义1. 软件配置项(SCI)软件配置项(So
4、ftware Configuration Item)为了配置管理的目的而作为一个基本的独立单位来看待的软件成分或它们的集合体,如外部提交的软件产品、项目成果(代码、文档和数据)以及项目内部使用的支持工具(如文档测试用例软件工具)等。在多数的软件配置管理系统中,最基本的软件配置项是以磁盘文件的形式存放和管理的。2. 基线(Baseline)已经通过正式评审和认可,作为下一步开发的基础,并且只有通过正式的更改控制规程才能进行更改的配置项。 3. 软件配置控制委员会(SCCB)Software Configuration Control Board 缩写,软件配置控制委员会4. 配置管理库分为开发库
5、、测试库、基线库(受控库)和产品库。5. 开发库在软件生命周期的某一阶段期间,存放与该开发活动相关的配置项及相关信息的库。6. 测试库 存放单元测试之后、系统测试结束之前的,与测试相关的配置项。7. 基线库在软件生命周期的某一阶段结束时,存放作为阶段成果而释放的、与开发活动相关的配置项及相关信息的库。纳入基线库的配置项的更改必须遵照变更过程指导进行。8. 产品库项目成果正式提交用户前,SCM在项目经理的指导下从基线库中提取构成最终产品的配置项。9. 软件配置管理(SCM)Software Configuration Management缩写,软件配置管理10. 软件工作产品(Software
6、Workproduct)作为定义、维护或使用软件过程的一部分所生成的任何人工制品。它包括过程描述、计划、规程、计算机程序和相联的文档。11. 同行评审(Peer Review)由一个软件工作产品生成者的同行遵循已定义的规程对产品作的评审,目的在于标识出缺陷和改进之处。2 管理2.1 任务在软件工程化生产的各个阶段中,与本阶段的阶段产品有关的全部信息在软件开发库存放,与之前各阶段的阶段产品有关的信息则在软件基线库(受控库)存放。在研制与开发阶段,开发者和开发小组组长有权对本阶段的阶段产品作必要的修改;但是如果开发者或开发小组长认为有必要个性前面有关阶段的阶段产品时,就必须通过项目的配置管理小组办
7、理正规的审批手续。因此,软件开发库属于开发该阶段产品的开发者管理,而软件基线库(受控库)由项目的配置管理小组管理。软件经过组装与系统测试后,应该送入软件产品库,如欲对其修改,必须经软件配置管理小组研究同意,然后报项目总体组组长批准。2.2 角色与职责1. SCCB每个项目设立一个SCCB,负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。其具体职责为以下几项:定制访问控制;制定常用策略;建立、更改基线的设置,审核变更申请;根据配置管理员的报告决定相应的对策。SCCB的人员组成主要包括:客户(必要时)、客户经理、项目经理、开发经理、系统分析员、配置管理员、测试代表、QA等,具
8、体人员的分配应在配置管理计划中予以明确。SCCB组长在项目的配置管理计划中指定,项目经理不任职SCCB组长。其职责为组织项目中SCCB的相关活动,代表SCCB组签名审批,SCCB列表签名不变。2. 项目经理项目经理是整个软件研发活动的负责人,他根据SCCB的建议批准配置管理的各项活动并控制它们的进程。其具体职责包括:制定和修改项目的组织结构和配置管理策略;批准、发布配置管理计划;决定项目起始基线和开发里程碑;接受并审阅配置控制委员会的报告。3. 项目级SCM管理员负责项目组配置管理库的配置管理活动:制定配置管理计划;根据配置管理计划执行各项管理任务,并定期向SCCB提交报告;负责项目基线库和开
9、发库中各配置项的管理与维护;执行版本控制和变更控制方案;完成配置审计并提交报告;对开发人员进行相关的培训;识别软件开发过程中存在的问题并拟就解决方案。每个项目设置固定的配置管理员,一个配置管理员可以同时兼多个项目。4. 公司级SCM管理员接收项目级SCM管理员提交的配置管理相关报告,协调解决项目配置管理中出现的问题。5. 项目组成员根据配置管理计划执行相关任务。6. 项目归档管理员负责项目结项归档或阶段归档的相关文档资料的统计和管理,确认并清点项目归档清单的一致性。7. 备份人由项目经理指定,可以由SCM管理员或项目组其他成员担任。8. QA在项目实施过程中监控项目的配置管理过程和报告,保证质
10、量标准和完整性;验收时,与SCM管理员及相关技术人员等进行基线审计活动,检查基线库中配置项的一致性和符合性,与其共同完成基线审计报告,同时还需填写配置管理检查表。以上角色可视实际情况在配置管理计划中制定。2.3 软件配置管理过程配置管理过程包括产品库管理过程(主要角色为公司级配置管理员)和项目配置管理过程(主要角色为项目级配置管理员、项目经理、SCCB)。成品库的管理过程和项目的配置管理过程类似,区别在于从事管理活动的角色不同。对于公司成品库的管理由公司级的配置管理员来完成,主要包括服务器安装,成品入库、成品变更,成品出库,成品库审计和成品库配置管理活动统计。成品库管理过程如图2-1所示:图2
11、- 1成品库管理的基本过程项目配置管理的主要角色是项目级配置管理员,SCCB,项目经理。图2-2是项目中配置管理的完整过程,其中配置管理计划是项目进行SCM活动的指南。图2- 2 配置管理的基本过程在第4部分,会详细介绍各个过程的活动。3 规范与约定3.1 目录结构开发库目录结构:a、工作产品目录(按软件生命周期划分)|-work doc|- requirement业务需求说明书,需求规格说明书|-design数据库设计,概要设计,详细设计说明书|-develop开发计划书,项目级定义过程|-test测试用例文档|-release安装手册,操作手册,用户手册|-others其他文档b、源代码目
12、录(执行文件和编译后的类文件不纳入配置管理)|-src|-javajava源代码|-com应用系统 源代码|-testjUnit源代码 |-jspjsp源代码|-html静态页面,js和图片文件|-config应用配置文件|-lib所需第三方类库c、安装盘目录|-Release|-util运行环境,例如jdk, tomcat ,mySQL等|-doc|-install安装文档说明|-manual用户手册|-sql数据库初始化教本|-setup系统安装程序包d、CMM文档目录|-cmm|-review同行评审文档|-rule项目章程文档|-scmSCM相关文档|-spp项目计划|-spto项目计
13、划跟踪|-meetingminutes会议纪要|-schedule任务单|-standard项目级的模板|-test测试周报等相关文档|-traning培训文档e、受控文档目录(用来存放不需要入基线库的过程文档,所有的项目组成员对此目录的文档都是R权限,配置管理员除外)|-control|-review已经完成的不需要入基线库的同行评审文档|-scm已经完成的不需要入基线库的SCM相关文档|-spp项目计划|-spto项目计划跟踪|-meetingminutes已经完成的不需要入基线库的会议纪要|-schedule已经完成的不需要入基线库的任务单|-standard已经完成的不需要入基线库的项
14、目级的模板|-test已经完成的不需要入基线库的测试周报等相关文档|-training已经完成的不需要入基线库的培训文档测试库、基线库的目录结构同开发库的a、b、c三项。3.2 命名规范1 文档:项目名称+”-” + 项目编号 + “-“ + 文档名称缩写。配置项名称中不需要包含版本信息。文档配置项名称软件需求规格说明书项目名称 -项目编号-SRS软件开发计划项目名 -项目编号-SDP软件测试计划项目名 -项目编号- STP配置管理计划项目名 -项目编号- SCMP数据库设计项目名 -项目编号- DATADESIGN概要设计项目名 -项目编号- HDESIGN测试用例项目名 -项目编号- TC
15、A用户手册项目名 -项目编号- MANUAL2 源码和可执行代码:源码和可执行代码使用项目自行定义的相应命名规则。3.3 版本定义规范版本由版本号来标识,用于定义整个软件开发生命周期中所产生的成果。它可以用于描述一个单一的软件配置项的演变过程,也可以用于描述由多个配置项组成的产品的演变过程。3.3.1 版本号定义规范版本号:Vx.y.z V代表版本(Version) x代表主版本号,初始值为1,当发生重大的版本升级替代时,通过SCCB审批,可以加1 y代表版次号,初始值为0,当文档内容有一定变动(增加、删除、更改),对系统产生实质性的影响时,版次号升一位数字 z代表版变更号,初始值为0,当文档
16、内容有一定变动(增加、删除、更改),对系统产生非实质性的影响时,版次号升一位数字在所有的版本号标识中,若版本号的前一位改变,则后面所有位全部归零。3.3.2 程序(代码、数据)版本规范1 开发库版本号标识规范版本标识形式为:“Vx.y.z”通常情况:在纳入基线后才有正式的版本号,之前可以用标签的方式进行标识。标签的形式可以参照版本号标识规则进行。2 测试库版本号标识规范版本标识形式为:“Vx.y.z”。开发库的配置项导入测试库后其版本标识的后2位全清零;而测试库的配置项导入基线库其版本标识不变。3 基线库版本号标识规范版本标识形式为:“Vx.y.z”。由SCM管理员对进入基线库的各模块的程序及
17、文档的版本号进行分配,填写配置项关系表。开发库的配置项在初次纳入基线时,由SCM管理员与项目负责人、产品负责人共同协商后,分配给初始的版本标识”Vx.0.0”,并严格按照版本控制的原则进行版本管理。4 产品库版本号标识规范版本标识形式为:“Vx.y.z”。发布产品时,SCM与项目负责人共同确定发布产品的版本号,并填写配置项关系表。对内发布产品时,项目负责人可以考虑提供相应的文档,表明构成软件产品的各配置项的版本情况,包括用于开发的工具的版本。产品及其配置项的版本定义参考如下:product_Vx.y.z(product为项目组定义的最终产品名称)如: PB_kunming_CCB V1.0.2
18、(昆明建行大前置系统V1.0.2)产品中配置项名称举例:(其中各配置项名称为项目组各自定义)middleware_V3.1.1(中间件V3.1.1)AIX_V5.2(运行环境的AIX版本号为V5.2)3.3.3 ID编码规范测试用例编码分三段,各段用一横线隔开,形式如:“TC-”+测试阶段代号+“-”+“功能模块编号”+“-”+两位顺序号。其中,测试阶段代号中,DY代表单元测试,JC代表集成测试,XT代表系统测试,YS代表验收测试,GN代表功能测试。例如,结帐模块的功能测试用例的某一测试用例编码为:TC-GN-305-014 软件配置管理活动4.1 配置管理计划4.1.1 流程4.1.2 主要
19、活动 确定项目级SCM管理员。 项目级SCM管理员和项目经理确定项目类型并明确要从软件过程资产库中获得相应的配置项(标识、版本)。 确定配置管理工具。 项目级SCM管理员和项目经理一起划分和确定软件配置项(SCI)。配置项是配置管理中的最小单位,文档可以为独立的一个软件配置项,如果一个软件配置项包含多个文档,配置项对应一个目录名称;源代码和安装程序可以以文件的形式,也可以以一个目录或者Package作为一个软件配置项。 项目级SCM管理员与项目经理一起确定配置管理需要的目录结构 项目级SCM管理员为SCI定义命名规范和版本控制方法 项目级SCM管理员确定备份策略。 项目级SCM管理员根据审批通
20、过的PDSP中定义的基线库内容,整理出基线产品及入库时间,同时定义基线审计时间。 项目级SCM管理员书写软件配置管理计划,规定在项目开发过程中配置管理活动、要求等,将其同开发计划一起提交给SCCB和控制主管审批,审批通过后方可纳入基线库。4.2 建立配置环境4.2.1 主要活动 项目组启动时,项目组负责人指定SCM管理员,确定项目组成员及其他相关人员对配置管理库的访问控制权限; SCM管理员与项目经理商议确定配置管理工具(CVS)、基线库的目录结构、基线等; SCM管理员建立配置管理环境,包括安装CVS,建立开发库和基线库的工作区及其目录结构。CVS的配置与使用请参考CVS指导手册。4.3 开
21、发库管理4.3.1 管理流程4.3.2 主要活动包括: SCM管理员设置项目组成员对开发库的访问控制权限; SCM管理员负责将配置项导入开发库,并按照配置管理计划要求存放在相应目录下; 开发组成员对配置项进行相关操作:配置项检出修改配置项检入; 对配置项进行评审,评审通过后提交SCCB审批,申请纳入基线库;若审批未通过,则继续对配置项进行修改;若审批通过,则文档直接纳入基线库,代码应先纳入测试库; SCM管理员对以上活动进行监控。4.4 测试库管理4.4.1 管理流程4.4.2 主要活动包括: SCM管理员设置项目组成员对测试库的访问控制权限; SCM管理员负责将配置项导入测试库,并按照配置管
22、理计划要求存放在相应目录下; 测试组成员对配置项进行相关操作:配置项检出测试配置项检入; 测试库中的配置项经过测试、评审,评审通过后提交SCCB审批,申请纳入基线库;若审批未通过,则继续对配置项进行测试、修改;若审批通过,则纳入基线库; SCM管理员对以上活动进行监控。4.5 基线库管理4.5.1 管理流程4.5.2 主要活动基线入库: 由项目经理填写基线入库申请表,提出书面的基线入库申请,如果按计划已经到了基线入库时间,而项目经理尚未提出基线入库申请时,则SCM管理员负责提醒项目经理进行基线入库申请 项目经理提出基线入库申请,经过SCCB审批后,由SCM管理员导入基线库; SCM管理员填写基
23、线变更日志; SCM管理员更新软件配置项状态报告,并通知相关人员; SCM管理员对以上活动进行监控。基线变更: 由项目经理填写软件变更申请表,提出书面的基线变更申请,说明变更的原因、变更的内容,明确需要变更的配置项,其他不受变更影响的配置项,变更的解决方法等。 项目经理提出基线变更申请后,由SCCB签字审批,SCCB中的客户经理和客户(必要时)主要负责审批需求基线的变更;项目经理和系统分析员主要负责审批设计和系统分析基线的变更;开发经理主要负责审批源代码基线和测试基线的变更。 项目级SCM管理员依据SCCB签字认可的基线变更申请,将相关内容检出(Check Out)并交给项目经理。 SCM管理
24、员填写基线变更日志 由SCM管理员更新软件配置项状态报告,并通知相关人员。 变更结束后入库(同基线入库流程)。4.6 产品库管理项目成果在正式提交用户前,SCM管理员在项目经理的指导下从基线库中提取构成最终产品的配置项,并纳入产品库。最终产品须经SCCB审批通过后方可正式提交给用户,SCM负责对产品库的管理,其构成配置项的修改按照变更过程指导执行。项目结项时SCM管理员配合项目经理将产品库移交给项目归档管理员,该项活动与该项目的结项、工作成果归档同时进行。4.7 发布发布是指将软件项目开发活动中所产生的最终成果,对外部客户予以公布和递交的活动。发布可以是同一项目中的各个独立的软件产品的发布,如
25、对公系统、清算系统;也可以是不同时期发布同一软件产品的不同版本,如增量模型中不同Release版本的发布活动。4.7.1 角色与职责 发布人:通常指提供用于发布的软件产品的小组负责人或项目经理。 项目经理:指导SCM管理员完成发布的活动,并对发布活动负责。 SCM管理员:在项目经理的指导下,按照配置管理计划中发布计划的要求,从基线库中提取构成最终产品的配置项,并纳入产品库。编写软件发布通知;进行介质检查,并将软件成果介质分发给接受人。SCM管理员对发布产品中各配置项的完整性及其与产品的一致性负责。 SCCB:对配置项从基线库进入产品库的活动进行审批。 QA:与SCM管理员及技术负责人等进行基线
26、审计,共同完成基线审计报告。4.7.2 流程4.7.3 主要活动 项目经理根据发布计划,结合实际的开发进度、测试结果、评审结果等同意本次发布; 发布人遵照发布计划指导SCM管理员从基线库中提取用于发布的各配置项; SCM管理于与QA及技术负责人等进行基线审计,共同完成基线审计报告; 基线审计通过后,SCM管理员编写软件发布通知并提交SCCB进行审批; 软件发布通知经SCCB审批通过后,SCM管理员将通过审计的软件产品纳入产品库; SCM管理员准备发布介质,进行介质测试检查; 发布人将软件产品及相关文档移交给接受人; QA监督整个过程的执行。4.8 关闭开发库主要活动包括:1、项目结束以项目移交
27、结束为准。2、开发库关闭作为项目结束、项目组解散的标志,由项目经理提出,由SCM管理员执行,并由SCM管理员以电子邮件的形式通知项目组所有成员。3、最后的基线产品进入产品库,所有的文档进入软件过程资产库。4、开发库关闭前需要做一次全备份,备份到磁带上,并加以标记。5 配置状态监控与审计 使用工具软件进行配置管理的项目,需要结合其功能说明项目如何对配置项进行控制; SCM管理员对配置活动进行监控; SCCB根据项目的实际需要不定期召开SCCB会议,形成会议纪要,发送项目经理、QA和其他相关人员; SCM管理员每月须填写配置管理月报,提交给SCCB、项目经理、QA、公司级配置管理员和其他相关人员,
28、并维护配置项关系表; 在项目进展的每个阶段结束时,SCM管理员应检查基线库中配置项的一致性和符合性,填写基线状态报告,提交给SCCB、项目经理、QA、公司级配置管理亚和其他相关人员; 在项目进展的每个阶段结束时,QA、技术专家在SCM管理员的协助下根据阶段情况进行配置审计,具体审计内容可根据阶段情况确定,形成基线审计报告; 验收或结项时,QA、技术专家在SCM管理员的协助下进行配置审计活动,检查基线库中配置项的一致性和符合行,完成基线审计报告; 对于基线库中的配置项的变更,参见变更过程指导。6 相关文档软件需求规格说明书软件项目开发计划书软件配置管理计划CVS指导手册7 裁剪指南由于B2C商城项目为实训项目,不涉及到需求变更、产品发布等流程,因此可以根据实际情况对本配置管理计划进行适当裁剪。可裁剪项: 产品库管理 发布 基线库管理 “关闭开发库”中的活动3 角色与职责:可以根据实际情况裁剪掉QA、公司级SCM管理员、项目归档管理员(可由SCM管理员兼任)等角色。