11软件配置管理流程目录1.配置管理流程………………………………………………………………..31.1概述………………………………………………………………………………31.2总体流程图………………………………………………………………………31.3软件需求分析阶段………………………………………………………………41.4软件设计阶段……………………………………………………………………41.5制定配置管理计划……………………………………………………………….41.6配置库管理……………………………………………………………………….41.6.1相关人员分配权限……………………………………………………………………...41.6.2配置项……………………………………………………………………………………51.7版本控制…………………………………………………………………………..61.8变更控制…………………………………………………………………………..61.9配置审计…………………………………………………………………………...71.9.1配置审核的类别………………………………………………………………………….71.9.2配置审核执行的时机…………………………………………………………………….71.9.3不符合项的处理………………………………………………………………………….72.0.0配置状态报告……………………………………………………………………72.0.1配置状态报告的目的…………………………………………………………………….72.0.2配置状态报告记录的内容……………………………………………………………….72.0.3配置状态报告的生成…………………………………………………………………….72.1.0发行管理…………………………...…………………………………………….82.1.1交付管理……...………………………...………………………………………………...82.1.1软件配置管理员的处理规范……………………………………………………82.1.1.1现阶段使用的版本配置服务器………………………………………………………..82.1.1.2主要操作流程…………………………………………………………………………..82.1.1.3版本规范化处理………………………………………………………………………..82.1.1.4客户反馈问题处理……………………………………………………………………..82.软件基线化规范……………………………………………………………….92.1正常开发期…………………………………………………………………………92.2版本发布期…………………………………………………………………………92.3项目发布期………………………………………………………………………….92.4项目维护期………………………………………………………………………...9221.配置管理流程概述规范配置管理活动,明确配置项正确的唯一标识并易于存取,保证基准配置项的更改受控,明确基线状态,在贯穿整个软件生命周期中建立和维护项目产品的完整性和可追溯性。总体流程图验证判断验证(配置工程师)版本库设计阶段需求分析阶段项目问题反馈市场部技术部出库联系单修改完成Final版本(配置管理负责人)测试部CVS提交执行研发制定配置管理计划研发部33软件需求分析阶段参加需求分析会议,配置管理负责人记录,有关文档提交归档。如《需求分析》。软件设计阶段参加涉及阶段,为了详细制定配置管理计划。针对需求分析报告进行系统设计,配置时应说明系统设计的版本于需求分析报告版本的对应关系。设计书评审通过后,建立设计基线。制定配置管理计划配置管理员制定配置管理计划,主要内容包括配置管理软硬件资源、配置项计划、备份计划等,审批该计划。配置库管理配置管理员为项目创建配置库,并给每个项目成员分配权限。各项目成员根据自己的权限操作配置库。相关人员分配权限项目经理:1)与(有关负责人员)协商确定项目起始基线;2)接受配置管理计划,并按相关规定贯彻执行;3)接受配置控制委员会的报告;4)提出配置管理计划的修改要求;5)提出管理的建议和要求。配置管理员1)编制配置管理计划;2)执行配置项管理;3)执行版本控制和变更控制方案;4)编制配置状态报告;5)配置库的建立和权限分配;6)配置管理工具的日常管理与维护;7)配置库的日常操作和维护;44开发人员1)根据确定的配置管理计划和相关规定,提交配置项2)负责软件集成和版本生成。3)按照软件配置管理工具的使用模型来完成开发任务。测试人员1)根据配置管理计划和相关规定,提交测试配置项。2)负责软件变更的测试验证。1.6.2配置项配置项的范围:1)技术文档:《项目开发计划》、《需求分析报告》、《软件设计书》、《质量保证计划》、《概要设计书》、《详细设计书》、《测试用例》、《测试报告》总结报告等;2)程序:阶段产品、源程序、释放产品等;3)工具:自动设计工具、维护工具等;4)交互文档:与客户或项目组内交互产生文档《用户需求说明书》。主要归档包括:《需求分析报告》、《软件设计书》、《用户需求说明书》、《测试报告》,源程序标识。每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。所有配置项都被保存在配置库里,确保不会混淆、丢失。配置项及其历史记录反映了软件的演化过程。配置项标识规则:1)项目有明确标识和追踪要求时,由按要求进行标识,以保证满足项目追踪要求。2)在开发过程中项目人员提交的配置项,规则进行标识。分配权限:一般地,配置管理负责配置项目成员拥有相对开发模块权限,不能拥有其他地权限。配置库地操作与管理:1)开发人员根据获得地授权地资源进行项目地研发工作,操作配置库2)配置管理负责人根据配置管理计划创建与维护基线,“冻结“配置项,控制变55更。3)配置管理员定期监督或清除配置库里地垃圾文件。4)配置管理员定期备份配置库。版本控制配置项地状态有三种:“草稿”、“正式发布”和“正在修改”,本规程制定了配置项地状态变迁与版本号地规则。配置控制使用户能够通过对适当版本的选择,(版本)组装成各种各样、不同功能模块的模型。在开发过程种,我们在不同阶段要建立各种Tag。状态报告能够报告所有配置项以及变更请求的状态。变更控制修改处于“草稿”状态的配置项不算是“变更”,修改者按照版本控制规则执行即可。当配置项的状态成为“正式发布”,或者被“冻结”后,此时任何人都不能随意修改,必须根据申请执行变更的规则执行。66配置审计配置审核的类别配置审核分为:1)功能配置审核:审核软件功能是否与需求一致,并符合基线文档要求;通常要审查测试方法、流程、报告和设计文档等。2)物理配置审核:审核要交付的组成项是否存在,是否包含所有必须的项目,如正确版本的源代码、资源、文档等等。配置审核执行的时机选择以下几种情况由测试经历实施配置审核:1)软件产品交付或是软件产品正式发行前;2)软件开发的阶段工作结束后;3)在产品维护工作中,定期地进行。不符合项的处理对配置审核中发现的不符合现象,测试负责人员进行记录,并填写《不符合项报告》,交由责任部门限期进行纠正。所以的不符合项报告均关闭后,才能发布新版本。2.0.1配置状态报告的目的记录和报告整个软件生命周期演化状态。2.0.2配置状态报告记录的内容配置状态报告记录的内容包括:1)软件和文档的标识;2)目前状态;3)基线演化状态;4)变更状态;5)版本交付信息等。2.0.3配置状态报告的生成77配置管理报告自第一个基线创建时建立,由配置管理系统生成,及时反映当前配置状态。2.1.0发行管理通过配置审核后,由项目经理负责生产新版本,并由配置管理负责人检入产品库中,并按照标识规则进行版本标识。2.1.1交付管理配置负责人从配置库中提取配置项,交付给客户或项目外的人员。交付出去的配置项必须有据可查,避免发生混乱。流程如下:1)“索取人”向配置负责人提出交付申请。2)审批改申请。如果改申请不合法(合理),则拒绝交付配置项。如果同意交付,交付清单入档。3)配置负责人从配置库中提取配置项交付给“索取人”。4)“索取人”验收后签字。2.1.1软件配置管理员的处理规范2.1.1.1现阶段使用的配置服务器对于版本的管理,现阶段主要使用的是wincvs配置服务器,它是国际上最流行最成熟最成熟的版本控制系统,它能使你能够和别人一起协同工作,能让你对自己程序历史一目了然,能够让你有后悔的权利――如果你软件项目当前版本功能被修改坏了,你可以通过cvs方便地恢复到上一个好版本。2.1.1.2主要操作流程现阶段对于软件配置管理员做些什么事呢?1)当一个项目评估立项后,从项目经理处拿到一个项目的版本需求,进行归档、整理2)关注整个整个项目的进度3)开发阶段,对项目的各成员设定权限及规范管理4)对开发人员提交的修改记录进行审核、整理、归档5)对于客户的需求及时处理版本6)维护阶段,对客户提出的一些问题进行评估,是否可行,并作及时处理7)对已封版项目,进行整理、归档。882.1.1.3版本规范化处理主要有以下几点:1)当拿到一个新项目时及时整理、归档2)开发人员需修改文件时,应及时处理,不得随意修改3)编译版本,及时提交给测试验证。4)版本稳定后,及时归档。2.1.1.4客户反馈问题处理当版本提供给客户后,客户又需要改进问题时,应主要做到以下几点:1)由项目经理及时通知该项目的负责人及配置管理员,以便安排进度,有所准备。2)当软件修改过程中出现问题时,当及时通知相关人员,以便和客户沟通。3)版本完成后,再次重新整理、归档。2.软件基线化规范2.1正常开发期2.正常开发期间,私有工作区提交,在一些功能模块需要测试,研发人员需tag注释或提交配置管理员打tag。2.2版本发布期关键活动1.技术总监审计发布新版本,有关研发人员打tag,命名标准为版本号加alpha,在期间配置管理负责人build一个内部测试版本,持续到final版本,测试验证通过。如果在版本发布间,研发还有功能增加,必须临时分支,等到版本发布后,才能合并到主板上,关闭分支。配置管理负责人打tag注释。2.在版本发布后,测试人员审验发布的版本存在问题。用期限tag2.0_final标识分支到branch的version下,为ver2.0维护版本。修改后建立内部测试版本2.0build,持续到2.0_final_sp1同时验证主板上是否存在问题,存在问题的话,合并到最初好的主干上。2.3项目发布期1.新的一个项目,项目没有特别功能需求,配置管理员交付最新final版本,确定版本标识992.新的一个项目,项目有特制功能需求,配置管理建Projectbranch,以最新的Tags。涉及到正在开发的功能,那么所有研发人员打laphatags。Projectbranch一直维护。有些需要的功能审计合并到主版本上。