软件配置管理规范流程
软件配置管理规范范本

软件配置管理规范范本一、引言软件配置管理(Software Configuration Management,简称SCM)是软件工程中的重要环节,致力于有效管理和控制软件系统的构建、测试、发布和变更过程。
本文旨在提供一个软件配置管理规范范本,以帮助软件开发团队建立和执行一套合适的配置管理规则,确保软件项目的顺利进行。
二、配置管理范围1. 配置项范围- 软件源代码及可执行文件- 文档和用户手册- 测试用例和测试数据- 第三方库和组件- 配置文件和参数设置2. 配置管理活动范围- 版本控制:管理和跟踪软件所有配置项的版本变更和发布记录。
- 配置识别:将软件系统划分为不同的基线和模块,并进行唯一标识。
- 变更控制:确保任何软件变更都经过审批,并对变更进行记录和追踪。
- 配置审计:定期对软件配置进行审查,确保与规范一致。
- 配置状态管理:记录和跟踪软件配置的当前状态,包括开发、测试和生产。
- 工具支持:选择和使用适当的配置管理工具,提高效率和可追溯性。
三、配置管理规范1. 配置识别- 为每个配置项分配唯一的标识符,以便于跟踪和引用。
- 对软件系统进行模块化划分,每个模块应有清晰的功能和职责范围。
- 为每个配置项编写适当的描述和说明文档,包括用途、版本和所属模块等信息。
2. 版本控制- 使用版本控制工具对所有配置项进行管理,确保源代码、文档和其他资源都有清晰的版本历史。
- 维护一个主干(trunk)和分支(branch)的代码库,确保主干代码是稳定且可用的,分支用于并行开发和修复bug。
- 每个版本的发布都应有相应的发布说明,描述变更内容和风险评估。
3. 变更控制- 所有变更都必须通过变更管理流程进行审批和追踪,包括新功能添加、缺陷修复和配置项删除。
- 每个变更都要有详细的变更请求和变更记录,包括变更的原因、影响分析和验证计划等。
- 变更影响评估必须在变更实施之前进行,确保变更不会导致质量问题或功能冲突。
了解软件配置管理的流程和方法

了解软件配置管理的流程和方法软件配置管理(Software Configuration Management,简称SCM)是指在软件开发和维护过程中对软件配置进行有效管理的一系列流程和方法。
软件配置管理的目标是确保软件产品的可控性、可追踪性和可复用性,并确保软件开发人员能够协同工作,减少错误和提高生产效率。
本文将介绍软件配置管理的流程和方法。
一、软件配置管理流程软件配置管理的流程是一个连续的过程,包括以下几个环节:1.需求管理需求管理是软件配置管理的第一步,它包括需求收集、需求分析和需求评审等环节。
通过需求管理,确保软件开发人员对用户需求的理解一致,并制定明确的开发目标和任务。
2.变更管理变更管理是软件配置管理中非常重要的一环,它用于管理软件开发过程中的变更请求。
当用户需求发生变化或者出现错误时,变更管理能够帮助开发团队管理和跟踪变更请求,并保证变更的正确性和可追溯性。
3.版本管理版本管理用于管理软件开发过程中的版本控制。
它包括对源代码、文档和资源文件等进行有效的版本控制和管理,并确保团队成员能够协同工作,避免版本冲突和重复工作。
4.构建管理构建管理是指将源代码编译、链接和打包成可执行文件或软件包的过程。
通过构建管理,能够确保软件构建的一致性和可重复性,并提供自动化的构建和部署流程,减少人为错误。
5.发布管理发布管理用于控制软件产品的发布过程。
它包括软件测试、用户验收和正式发布等环节,通过发布管理,能够确保软件产品的质量和稳定性,并及时响应用户反馈和需求。
二、软件配置管理方法除了上述流程外,软件配置管理还需要借助一些方法和工具来实施,以提高管理的效率和精度。
1.配置标识配置标识是软件配置管理的基础,它通过为每个软件配置项分配唯一的标识符,来确保软件配置的唯一性和可追踪性。
常用的配置标识方法包括版本号、序列号和散列值等。
2.配置控制配置控制是软件配置管理的核心方法之一,它通过对软件配置项进行有效的控制和变更管理,确保软件的一致性和稳定性。
软件配置管理规定

软件配置管理规定为进一步加强软件配置管理工作,明确软件配置原则,规范软件配置流程,制定本规定。
一、配置原则1.软件配置遵循安全性、适用性、经济性和正版化的原则,不得配置非正版软件。
2.单位使用的商业软件、OEM软件、免费软件均需纳入配置管理,不得配置与工作无关的各类软件。
3.优先采用场地授权(许可)方式配置软件。
二、配置流程1.软件使用部门根据本部门各岗位工作需要,编制岗位软件需求清单,填写《软件使用需求申请表》(附件1)。
2.信息化部门统计、汇总软件使用部门报送的《软件使用需求申请表》,对软件使用部门需要的相关软件进行统一测试和试用,综合考虑软件的价格、兼容性、安全性和售后服务等因素,确定软件选型,明确软件名称和版本。
涉及使用免费软件的,更新《可使用免费软件清单》(附件2)。
3.信息化部门依据单位软件使用管理台账,梳理单位软件需求与现有软件许可的差异。
单位软件许可不足的,编制《软件采购计划表》(附件3)。
4.财务部门要将软件采购纳入单位年度预算。
财务、资产管理部门指导信息化部门完成软件采购。
软件采购合同要明确软件名称、版本、授权方式、许可数量、使用年限、兼容性和售后服务等要求。
5.财务、资产管理部门指导信息化部门做好软件采购相关资料管理工作,重点是软件采购合同、软件授权证书、软件安装序列号等资料的管理工作。
6.信息化部门负责软件使用管理日常工作。
7.单位采购的软件,因以下情况申请报废的,需经过信息化部门鉴定,严格履行资产处置报批手续:(1)已经达到规定的最低使用年限,且无法继续使用的。
(2)未达到规定的最低使用年限,因技术进步等原因无法继续使用的。
(3)未达到规定的最低使用年限,因计算机硬件报废,且无法迁移到其他计算机上继续使用的。
8.信息化部门在单位新采购软件、报废软件和调整可使用免费软件清单后,更新《软件使用情况汇总表》(附件4)。
附件1软件使用需求申请表申请部门:经手人:联系电话:填表日期:年月日专业知识分享附件2可使用免费软件清单单位名称(盖章):填表人:联系电话:填表日期:年月日专业知识分享专业知识分享附件3软件采购计划表经手人:联系电话:填表日期:年月日附件4软件使用情况汇总表单位名称(盖章):填表人:联系电话:填表日期:年月日专业知识分享专业知识分享。
软件配置管理方案

软件配置管理方案软件配置管理(Software Configuration Management,简称SCM)是一种管理和控制软件系统源代码、构建和发布过程的方法。
它能够确保代码版本的一致性、可追踪性和可重现性,帮助团队协同工作,降低开发过程中的错误和问题,并提供完整的软件生命周期管理。
下面是一个软件配置管理方案的建议,以确保软件项目的开发和交付过程的高效性和质量。
一、版本控制系统(Version Control System)版本控制系统是SCM的核心组成部分,它可以跟踪和管理项目中的源代码、文档和资源文件的不同版本。
建议选择一个功能强大、易于使用和适应团队规模的版本控制系统,如Git、SVN等。
在配置管理方案中,需要定义和规范以下事项:1.2 分支管理策略(Branching Strategy):定义代码的分支策略,如主分支、开发分支、发布分支等,以及分支的创建、合并和删除的规则。
1.3 版本命名规范(Version Naming Convention):规定版本号的命名规范,如主版本号、次版本号和修订号的规则,以及预发布版本和发布版本的命名规则。
二、代码构建和部署(Build and Deployment)代码构建和部署是开发过程中的重要环节,它关系到软件的质量和交付速度。
合理的构建和部署流程可以提高开发效率和减少人为错误。
在配置管理方案中,需要定义和规范以下事项:2.1 构建脚本(Build Scripts):编写自动化的构建脚本,包括依赖管理、源代码编译、静态代码分析、单元测试等步骤,并确保构建过程可重复、可靠和可追溯。
2.2 部署脚本(Deployment Scripts):编写自动化的部署脚本,包括软件安装、配置文件生成、数据库迁移等步骤,并确保部署过程可重复、可靠和可回滚。
2.3 环境管理(Environment Management):管理开发、测试和生产环境的配置,包括服务器配置、数据库配置、第三方服务配置等,以确保环境一致性和应用的可移植性。
软件管理规范

软件管理规范引言概述:软件管理规范是指在软件开发和运维过程中,为了保证软件的质量和安全性,制定的一系列规则和标准。
遵循软件管理规范可以提高软件开发和运维的效率,减少错误和风险。
本文将从需求管理、开发流程、测试流程、发布流程和维护流程五个方面详细阐述软件管理规范的内容。
一、需求管理1.1 确定需求的来源和优先级:明确需求的来源,包括用户需求、市场需求等,根据需求的重要性和紧急程度进行优先级划分。
1.2 编写清晰的需求文档:需求文档应包含详细的功能描述、性能要求、界面设计等,确保开发人员能够准确理解需求。
1.3 确保需求的可追溯性:需求应具有唯一标识符,方便跟踪和变更管理,同时需求变更应经过合理的评审和批准。
二、开发流程2.1 制定开发计划:根据需求和资源情况,制定合理的开发计划,明确开发阶段、任务分配和进度控制。
2.2 遵循编码规范:制定统一的编码规范,包括命名规则、注释要求等,提高代码的可读性和可维护性。
2.3 进行代码审查:定期进行代码审查,发现潜在问题并及时修复,确保代码质量和安全性。
三、测试流程3.1 制定测试计划:根据需求和开发进度,制定全面的测试计划,包括功能测试、性能测试、安全测试等。
3.2 编写详细的测试用例:根据需求和设计文档,编写详细的测试用例,确保测试的全面性和准确性。
3.3 自动化测试:利用自动化测试工具,提高测试效率和准确性,减少人工测试的工作量。
四、发布流程4.1 配置管理:对软件的配置进行管理,包括版本控制、变更管理等,确保发布的软件版本正确和可追溯。
4.2 灰度发布:采用灰度发布的方式,先将软件发布给部分用户进行测试和反馈,再逐步扩大范围,降低发布风险。
4.3 监控和回滚:发布后进行监控,及时发现问题并进行回滚操作,确保用户的正常使用。
五、维护流程5.1 建立用户反馈渠道:建立用户反馈渠道,及时收集用户的问题和建议,进行问题跟踪和解决。
5.2 定期维护和更新:定期对软件进行维护和更新,修复已知问题和漏洞,提供更好的用户体验和安全性。
软件配置管理规范

软件配置管理规范1.简介软件配置管理的目的是保证在整个软件生命周期中软件产品的完整性。
1.1 目的本文档指导项目开展配置管理活动。
1.2 范围本文档适用于SWL开发小组批准立项的软件项目。
1.3 文档结构第一部分:简介,包括本规范的目的、范围、词汇以及所涉及到的参考信息。
第二部分:配置管理工作规范的正文,包括活动的流程图、进入能及退出的准则、所涉及的角色、相关活动的阐述、验证与确认能及度量。
第三部分:变更控制工作规范的正文,包括活动的流程图、进入能及退出准则、所涉及的角色、相关活动的阐述、验证与确认能及度量。
第四部分:参考文献,列出了编写本规范所参考的相关的文献资料。
第五部分:附录,本文中流程图的标准符号定义。
1.4 词汇表CM (Configuration Management)配置管理。
CCB (Change Control Board)变更控制委员会。
CI (Configuration Item)配置项,包含文档、程序。
CR (Change Request)变更请求,对提出的要变更工件或流程的任何请求的统称。
在变更请求中记录的信息是有关当前问题、提议解决方案及其成本的起源和影响的信息。
PCA (Physical Configuration Audit)物理审计,在配置管理系统中建成立基线的工件是否为“正确”版本。
FCA (Functional Configuration Audit)功能审计,核心软件配置项的实际性能是否符合它的需求。
基线 (Baseline)己通过复审和批准的工件发布版,由此构成进一步演进或开发的公认基础,并且只能通过正式程序,例如变更管理和配置控制才能进行更改。
CML (Configuration Management Library)配置客理库,存储项目工件的所有版本,即存储项目的定义的配置项。
版本 (Version)某个工件的变体,工件的后期版本一般是在初期版本的基础上进行的扩展。
软件配置管理规范流程

软件配置管理规范流程Is the eternal love the truth. December 22, 20211概述目的本文档主要目的在于规范项目配置管理活动,确保配置项正确地唯一标识并且易于存取,保证基线配置项的更改受控,明确基线状态,在整个软件生命周期中建立和维护项目产品的完整性和可追溯性;适用范围本文档适用于不同类别的软件产品和软件项目开发工程的配置管理活动,针对项目不同在流程上作适当的删减;配置管理可采用各种工具及手工办法,本文件以CVS并行版本系统配置管理工具为例,规定公司的配置管理办法,使用其他工具时也可对应本文件的要求参照执行;术语和缩略语软件配置管理Software Configuration Management,SCM软件配置管理是对软件修改进行标识、组织和控制的技术,用来协调和控制整个过程;是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施;配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的不同版本的产品配置;配置项Configuration Item,CI凡是纳入配置管理范畴的工作成果统称为配置项,配置项逻辑上组成软件系统的各组成部分,一般是可以单独进行设计、实施和测试的;每个配置项的主要属性有:名称、标签、文件状态、版本、作者、日期等;所有配置项都被保存在配置库里,确保不会混淆、丢失;配置项及其历史记录反映了软件的演化过程;基线Baseline在配置管理系统中,基线就是一个配置项或一组配置项在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态,这些配置项构成了一个相对稳定的逻辑实体,而这个过程被称为“基线化”;每一个基线都是其下一步开发的出发点和参考点;基线确定了元素配置项的一个版本,且只确定一个版本;一般情况下,基线一般在指定的里程碑处创建,并与项目中的里程碑保持同步;每个基线都将接受配置管理的严格控制,基线中的配置项被“冻结”了,不能再被任何人随意修改,对其修改要严格地按照变更控制的过程进行;在一个软件开发阶段结束时,上一个基线加上增加和修改的基线内容形成下一个基线;基线的主要属性有:名称、标签、版本、日期等;权限与职责研发总经理助理1 审核变更请求;项目经理Project Manager,PM1 审核批准配置管理计划;2 接收或拒绝小范围的变更申请;3 召集评估变更;4 提出配置管理的建议和要求;5 配合配置管理员的工作;配置管理员Configuration Management Officer,CMO1 编写配置管理计划;2 执行版本控制和变更控制方案;3 制定访问控制策略;4 负责项目的配置管理工作,包括搭建环境、权限分配、配置库的建立、配置项的控制等;5 配置管理工具的日常管理与维护;6 配置库的日常操作和维护;7 负责配置审核并提交报告;8 根据配置部署表单编译发布版本,并维护版本;9 对开发人员进行相关的培训;10 对配置审核中发现的不符合项,拟订纠正措施,要求相关责任人进行纠正;11 监督项目组成员规范的执行情况;开发人员Developer1 根据确定的配置管理计划和相关规定,提交配置项和基线;2 负责项目组内部测试;3 负责软件集成和版本生成;4 按照软件配置管理工具的使用模型来完成开发任务;2 实施细则配置项管理配置项的范围软件配置可包括以下几方面:开发文档,代码,第三方控件、插件,参考资料,测试文档,用户文档,项目管理文档,验收文档等;l 项目文档主要指:立项建议书、可行性分析报告、技术建议书、用户需求说明书、项目计划、项目进度计划、项目阶段性计划、产品需求规格说明书、概要设计报告、详细设计、数据库设计、界面设计、用户操作手册、用户安装手册、培训文档、验收报告以及上述文档的评审记录;l 代码主要指:源代码等;l 工具主要指:脚本文件、插件、第三方控件等;配置项基线管理结合SPP和ISO9000的相关规定,配置管理员根据配置管理规范及配置管理计划,对配置项进行分阶段管理,每一阶段正式评审通过后纳入受控库,作为该项目的一个基线;l 项目启动:配置项包括技术建议书、可行性分析报告、用户需求说明书等立项阶段产生的文档,评审或审批通过后建立发布基线;l 需求阶段:系统调研后开发人员进行需求分析,并整理产品需求规格说明书;产品需求规格说明书经过客户的确认后,建立需求基线;如需升级版本则必须通过评审或审批并得到客户的确认;l 项目计划:需求分析完成后即可制定项目的开发计划,包括项目计划和主要下属计划;包括项目进度计划、配置管理计划、质量保证计划、测试计划、项目阶段性计划;项目开发计划评审通过后,建立项目计划基线;l 设计:系统设计可分为概要设计、详细设计、数据库设计、数据库字典、界面设计;针对用户需求规格说明书进行系统设计,配置时应说明系统设计的版本与需求分析报告版本的对应关系;设计说明书评审或审批通过后,建立设计基线;l 编码设计实现:编码按功能模块分子项目,即每个模块记作一个配置项;代码在提交项目组系统测试时建立Beta版本,系统测试产品正式发布后建立Version版本;l 测试:单元测试和系统测试;单元测试通过提交单元测试报告,项目启动后应提交系统测试计划,系统测试完成后应提交系统测试报告;配置时应说明测试的版本与编码版本的对应关系;系统测试完成后建立测试基线;l 版本发布:项目组提交部署表单,CMO根据部署表单进行编译,发布测试服务器上,并对版本进行维护;同时将发布的版本上传到文档服务器上备份;l 交付与验收:在交付前配置审核完成后建立产品基线,产品基线包含程序以及有关文档配置项,包括交付文档、代码、工具等;l 产品部署:部署时应包括操作手册、安装维护手册、维护文档以及必要的业务和技术培训文档;l 相关资料:相关资料也应作为配置项纳入配置管理,此部分包括:1 相关法律、法规;必须遵照或项目组约定的技术规范;2 与客户或项目组内部重要的交互信息记录,如会议记录、会谈记录、e-mail和MSN记录等;版本控制文档的版本控制所有文档的管理纳入配置管理库,用版本控制工具进行统一管理;文档的版本控制主要通过文档的名称、文档控制页及版本控制工具的标签来实现,主要分为以下几类:版本变化型文档命名方式:文档名称+子系统名称可选适用文档:项目计划、配置管理计划、质量保证计划、项目进度计划、用户需求规格说明书、产品需求规格说明书、体系结构设计报告、数据库设计报告、详细设计报告、用户操作维护手册、测试用例等;示例:项目计划.doc详细设计_SP门户.doc标签结构:大版本 + 子系统简称 + 版本号 + 日期标签控制说明版本信息l 大版本:可选 ,表示同一项目为不同用户定制的版本;l 子系统简称:可选,当一个项目有多个子系统时,为区分不同子系统而设置;l 版本号:采用Vs_x_y的形式;l 日期:纳入基线管理的日期,用8位表示,如说明:a.文档发布名称采用文档名+ Vs_x_y的形式,文档的版本号应该和版本控制工具中相应标签上的版本号一致;b. 对文档的修改需要从配置管理库中取到本地进行;c. 对于文档小的修改,如文字错误,格式调整,变更Vs_x_y中的y来区别如:V1_0_1;d. 文档内容没有大的增加和删节,意思表述没有发生重大的变化,版本标识通过版本工具中加上x标签来表示如:V1_1_0,以及在文档内部控制页标注变化来表示;e. 文档有重大增加和删节,意思表述有重大变化的,版本标识通过在相应文档加上s标签来表示如:V2_0_0;f. 对于纳入基线库的文档的修改需要提交变更申请,经批准才能进行修改,并且修改的内容要经再次评审才能重新纳入基线库,作为后续阶段的参考文档;时间区别型文档命名方式:文档名称+撰写时间适用文档:文档名称有明确的含义,需要用时间标识的日常性文档;如周例会会议纪要,项目月计划,项目月总结,阶段性计划等等;示例:周例会会议纪要时间序号型文档命名方式:文档名称+人员姓名拼音+撰写时间+序列号适用文档:测试报告示例:单元测试报告其他文档:对于不能按照前四种类型进行命名的文档会议纪要:会议纪要YYYYMMDD示例:9月9日召开的项目启动会命名为:会议纪要项目启动.doc评审报告:评审报告YYYYMMDD同”会议纪要”要求一致;示例:10月9日召开的项目总体方案评审命名为:评审报告总体方案.doc发行版本表示发行版本采用标签说明,结构如下:大版本 + 版本类型 + 版本号 + 子系统简称拼音+日期 +序号大版本:可选 ,表示同一项目为不同用户定制的版本;子系统简称:可选,当一个项目有多个子系统时,为区分不同子系统而设置;版本类型:分为3种Beta表示项目组内部测试,标签:Release系统测试,标签:Version正式发行版,标签:版本号对于Version正式发行版是必须要注明的,而其它可选;发行产品基线在版本号前加Version,如Version_1, Version_2,Version_3….表示分支;Version_1_0, Version_1_1, Version_1_2… 表示在分支Version_1上的标签;Version_0_0, Version_0_1, Version_0_2… 表示在主线上的标签;配置库管理配置库的分类配置库统一由配置管理员负责管理,服务器端使用,客户端主要使用乌龟CVS;配置库目录结构如下:配置库的建立所有项目应建立配置库,以便管理各配置项,配置管理员组织建立配置库;程序库主要通过设置版本的分支来实现对配置项权限管理:1开发库:开发人员相对比较自由的存储空间,开发人员可以在自己的权限范围内任意取出提交;2基线库:配置管理员有最高权限,其余相关人员均为读的权限,发生变更时变更人员须提交变更申请后方可修改基线库内的配置项;文档评审通过后,文档严格受控;由配置管理员将通过评审后的文档移植到基线库里同时将该配置项从开发库移除;代码一般在移交系统测试时纳入基线库受控,可根据项目的具体情况设置基线;3产品库:产品库的产品均出自于基线库,产品库存储的产品用于交付和存档;配置三库统一由配置管理员管理,根据各开发阶段的实际情况定制相应的版本选取规则,来保证开发活动的正常运作;在变更发生时,应及时做好基线的推进;分配权限项目开始后配置管理员编写配置库目录结构表明确项目组成员以及相关人员的权限;在wincvs里有三种权限,读r、写w、添加删除c权限;在开发库内,文档部分项目组成员有rcw权限,其他相关人员只r权限;代码部分项目组成员有rcw权限,其他相关人员没有任何权限;在基线库内,项目组成员仅有r权限,其他相关人的权限视情况而定;在产品库内,所有人没有任何权限;配置管理员在三库内均拥有最高权限;配置变更控制变更的分类软件及其相关文档的变更按照变更的影响范围进行分类:1A级:变更会影响系统级的需求、外部接口、产品价格或者交付期;这类变更必须经过配置管理委员会审核并有客户批准和确认;2B级:变更会影响配置项间的功能接口、内部功能的设计、组件;这类变更必须由项目经理或配置管理委员会的批准和认可;3 C级:变更只会影响配置项内部或对BUG问题的处理;这类变更可以由配置项的管理人员负责批准;系统测试前变更控制流程:系统测试完毕发布release版本后变更控制流程图2 变更控制流程变更请求的提出a.由技术支撑中心汇集顾客意见,影响到需求变更则填写配置项变更控制报告,并提交给配置管理员;b.配置管理员对申请表是否清晰、明确和完整性进行审查,若发现变更不明确或不完整,应返回申请者;对通过审查的变更申请分配变更ID,以便跟踪和记录变更信息;评估变更a.配置管理员将配置项变更控制报告发送给项目经理或者其他授权人员,由项目经理负责对变更进行评估;b.项目经理对变更进行分解,一般的BUG修正不需要审批直接由项目经理决定是否需要变更;新增功能或对整个项目影响重大的变更必须由研发总助审批通过后方可变更;变更评估文档在完成变更评估后发送给配置管理员;变更实施和确认a.变更被批准后,项目经理提交变更实施进度计划,开发人员开始实施变更,并详细记录变更的内容;质量部对变更的实施进行跟踪;b.对于代码变更,必须进行回归测试,以确保变更没有引入新的Bug;另外与变更相关的文档必须修订,以反映变更;当变更以及测试完成后,进行提交;c.通过测试后,质保人员需对变更进行审核,审核的范围一般涉及以下方面:测试记录;变更请求;配置项的检入及检出;文件的命名;版本的编号;a.审核后,由配置管理员更新到基线库中;配置状态报告目的记录和报告整个软件生命周期演化状态;记录内容配置状态报告记录的内容包括:1 软件和文档的标识;2 目前状态;3 基线演化状态;4 变更状态;5 版本交付信息等;生成报告配置管理报告自第一个基线创建时建立,由配置管理系统生成,及时反映当前配置状态;配置审核类别配置审核分为:1功能配置审核Functional Configuration Audit,FCA:审核软件功能是否与需求一致,并符合基线文档要求,通常要审查测试文档等;2 物理配置审核Physical Configuration Audit,PCA:审核要交付的组成项是否存在,是否包含所有必需的项目,如正确版本的源代码、资源、文档、安装说明等等;执行时机通常选择以下几种情况由质量保证人员负责实施配置审核:1软件产品交付或是软件产品正式发行前;2软件开发的阶段工作结束后;3在产品维护工作中,定期地进行;不符合项处理对配置审核中发现的不符合现象,配置管理员进行记录,并交由责任部门限期进行纠正,配置管理员负责纠正措施的验证;所有的不符合项报告均关闭后,才能发布新版本;发行管理通过配置审核后,经项目经理批准,由配置管理员负责生产新版本;交付管理这里“交付”是指从配置库中提取配置项,交付给客户或项目外的人员;交付出去的配置项必须有据可查,避免发生混乱;流程如下:1交付人向质量部申请;2质量部如果不同意交付,则拒绝交付配置项;如果同意交付,配置管理员应给出详细的交付清单;3交付人验收后签字;。
软件配置管理流程

软件配置管理流程1. 引言软件配置管理是一种重要的项目管理方法,它能够确保软件开发过程中各个版本的正确性和一致性。
本文档旨在介绍一种软件配置管理流程,以帮助团队有效地管理和控制软件配置。
2. 流程概述软件配置管理流程包括以下几个关键步骤:2.1 需求分析与规划在项目开始阶段,团队需要与用户和利益相关者明确软件的需求,并制定相应的规划。
这包括确定项目的范围、目标和可交付成果,以及制定配置管理计划。
2.2 配置识别配置识别阶段是确定软件配置项的过程。
团队需要分析软件系统,将其划分为可管理的配置项,以便进行后续的配置控制和追踪。
2.3 配置控制配置控制是确保软件配置项按照规定的变更管理流程进行变更的过程。
团队需要建立变更控制委员会,审核和批准软件配置项的变更请求,并跟踪变更的实施和验证结果。
2.4 配置状态管理配置状态管理是跟踪和记录软件配置项的状态和变更历史的过程。
团队需要建立配置管理数据库,记录每个配置项的版本、状态和变更历史,以便追踪和审计。
2.5 配置审核与验证在软件配置项的变更实施后,团队需要进行配置审核和验证,确保变更符合预期,并对系统进行充分测试和验证,以确保其质量和稳定性。
2.6 配置发布与交付配置发布与交付是将经过审核和验证的软件配置项交付给用户和利益相关者的过程。
团队需要制定发布计划,并确保配置项的正确部署和交付,以满足用户的需求。
3. 推荐实践为了有效地实施软件配置管理流程,以下是一些推荐的实践:- 建立清晰的配置管理政策和指南,与团队成员共享并执行;- 使用专业的软件配置管理工具,提供配置项的跟踪、控制和报告功能;- 定期进行配置审计和检查,确保配置管理过程的合规性和有效性;- 与相关团队和利益相关者保持良好的沟通和协作,确保配置管理流程的顺利进行。
4. 总结软件配置管理流程是确保软件开发过程中版本控制和一致性的重要方法。
通过遵循上述流程和推荐实践,团队可以有效地管理和控制软件配置,提高项目的成功率和质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 概述1.1 目的本文档主要目的在于规范项目配置管理活动,确保配置项正确地唯一标识并且易于存取,保证基线配置项的更改受控,明确基线状态,在整个软件生命周期中建立和维护项目产品的完整性和可追溯性。
1.2 适用范围本文档适用于不同类别的软件产品和软件项目开发工程的配置管理活动,针对项目不同在流程上作适当的删减。
配置管理可采用各种工具及手工办法,本文件以CVS(并行版本系统)配置管理工具为例,规定公司的配置管理办法,使用其他工具时也可对应本文件的要求参照执行。
1.3 术语和缩略语1.3.1 软件配置管理(Software Configuration Management,SCM)软件配置管理是对软件修改进行标识、组织和控制的技术,用来协调和控制整个过程。
是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。
配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的不同版本的产品配置。
1.3.2 配置项(Configuration Item,CI)凡是纳入配置管理范畴的工作成果统称为配置项,配置项逻辑上组成软件系统的各组成部分,一般是可以单独进行设计、实施和测试的。
每个配置项的主要属性有:名称、标签、文件状态、版本、作者、日期等。
所有配置项都被保存在配置库里,确保不会混淆、丢失。
配置项及其历史记录反映了软件的演化过程。
1.3.3 基线(Baseline)在配置管理系统中,基线就是一个配置项或一组配置项在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态,这些配置项构成了一个相对稳定的逻辑实体,而这个过程被称为“基线化”。
每一个基线都是其下一步开发的出发点和参考点。
基线确定了元素(配置项)的一个版本,且只确定一个版本。
一般情况下,基线一般在指定的里程碑处创建,并与项目中的里程碑保持同步。
每个基线都将接受配置管理的严格控制,基线中的配置项被“冻结”了,不能再被任何人随意修改,对其修改要严格地按照变更控制的过程进行。
在一个软件开发阶段结束时,上一个基线加上增加和修改的基线内容形成下一个基线。
基线的主要属性有:名称、标签、版本、日期等。
1.4 权限与职责1.4.1 研发总经理助理1)审核变更请求。
1.4.2 项目经理(Project Manager,PM)1) 审核批准配置管理计划;2) 接收或拒绝小范围的变更申请;3) 召集评估变更;4) 提出配置管理的建议和要求;5) 配合配置管理员的工作。
1.4.3 配置管理员(Configuration Management Officer,CMO)1) 编写配置管理计划;2) 执行版本控制和变更控制方案;3) 制定访问控制策略;4) 负责项目的配置管理工作,包括搭建环境、权限分配、配置库的建立、配置项的控制等;5) 配置管理工具的日常管理与维护;6) 配置库的日常操作和维护;7) 负责配置审核并提交报告;8) 根据配置部署表单编译发布版本,并维护版本;9) 对开发人员进行相关的培训;10) 对配置审核中发现的不符合项,拟订纠正措施,要求相关责任人进行纠正。
11) 监督项目组成员规范的执行情况。
1.4.4 开发人员(Developer)1) 根据确定的配置管理计划和相关规定,提交配置项和基线;2) 负责项目组内部测试;3) 负责软件集成和版本生成;4) 按照软件配置管理工具的使用模型来完成开发任务。
2 实施细则2.1 配置项管理2.1.1 配置项的范围软件配置可包括以下几方面:开发文档,代码,第三方控件、插件,参考资料,测试文档,用户文档,项目管理文档,验收文档等。
l 项目文档主要指:立项建议书、可行性分析报告、技术建议书、用户需求说明书、项目计划、项目进度计划、项目阶段性计划、产品需求规格说明书、概要设计报告、详细设计、数据库设计、界面设计、用户操作手册、用户安装手册、培训文档、验收报告以及上述文档的评审记录。
l 代码主要指:源代码等。
l 工具主要指:脚本文件、插件、第三方控件等。
2.1.2 配置项基线管理结合SPP和ISO9000的相关规定,配置管理员根据配置管理规范及配置管理计划,对配置项进行分阶段管理,每一阶段正式评审通过后纳入受控库,作为该项目的一个基线。
l 项目启动:配置项包括技术建议书、可行性分析报告、用户需求说明书等立项阶段产生的文档,评审或审批通过后建立发布基线。
l 需求阶段:系统调研后开发人员进行需求分析,并整理产品需求规格说明书。
产品需求规格说明书经过客户的确认后,建立需求基线。
如需升级版本则必须通过评审或审批并得到客户的确认。
l 项目计划:需求分析完成后即可制定项目的开发计划,包括项目计划和主要下属计划。
包括项目进度计划、配置管理计划、质量保证计划、测试计划、项目阶段性计划。
项目开发计划评审通过后,建立项目计划基线。
l 设计:系统设计可分为概要设计、详细设计、数据库设计、数据库字典、界面设计。
针对用户需求规格说明书进行系统设计,配置时应说明系统设计的版本与需求分析报告版本的对应关系。
设计说明书评审或审批通过后,建立设计基线。
l 编码(设计实现):编码按功能模块分子项目,即每个模块记作一个配置项。
代码在提交项目组系统测试时建立Beta版本,系统测试产品正式发布后建立Version版本。
l 测试:单元测试和系统测试。
单元测试通过提交《单元测试报告》,项目启动后应提交《系统测试计划》,系统测试完成后应提交《系统测试报告》。
配置时应说明测试的版本与编码版本的对应关系。
系统测试完成后建立测试基线。
l 版本发布:项目组提交《部署表单》,CMO根据部署表单进行编译,发布测试服务器上,并对版本进行维护。
同时将发布的版本上传到文档服务器上备份。
l 交付与验收:在交付前配置审核完成后建立产品基线,产品基线包含程序以及有关文档配置项,包括交付文档、代码、工具等。
l 产品部署:部署时应包括操作手册、安装维护手册、维护文档以及必要的业务和技术培训文档。
l 相关资料:相关资料也应作为配置项纳入配置管理,此部分包括:1) 相关法律、法规;必须遵照或项目组约定的技术规范;2) 与客户或项目组内部重要的交互信息记录,如会议记录、会谈记录、e-mail和MSN记录等;2.2 版本控制2.2.1 文档的版本控制所有文档的管理纳入配置管理库,用版本控制工具进行统一管理。
文档的版本控制主要通过文档的名称、文档控制页及版本控制工具的标签来实现,主要分为以下几类:2.2.1.1 版本变化型文档命名方式:[文档名称]+[子系统名称](可选)适用文档:项目计划、配置管理计划、质量保证计划、项目进度计划、用户需求规格说明书、产品需求规格说明书、体系结构设计报告、数据库设计报告、详细设计报告、用户操作维护手册、测试用例等。
示例:项目计划.doc详细设计_SP门户.doc标签结构:[大版本] + [子系统简称] + [版本号] + 日期(标签控制说明版本信息)l [大版本]:可选,表示同一项目为不同用户定制的版本。
l [子系统简称]:可选,当一个项目有多个子系统时,为区分不同子系统而设置。
l [版本号]:采用[Vs_x_y]的形式。
l 日期:纳入基线管理的日期,用8位表示,如20071031说明:a. 文档发布名称采用[文档名+ Vs_x_y]的形式,文档的版本号应该和版本控制工具中相应标签上的版本号一致。
b. 对文档的修改需要从配置管理库中取到本地进行。
c. 对于文档小的修改,如文字错误,格式调整,变更Vs_x_y中的y来区别(如:V1_0_1)。
d. 文档内容没有大的增加和删节,意思表述没有发生重大的变化,版本标识通过版本工具中加上x标签来表示(如:V1_1_0),以及在文档内部控制页标注变化来表示。
e. 文档有重大增加和删节,意思表述有重大变化的,版本标识通过在相应文档加上s标签来表示(如:V2_0_0)。
f. 对于纳入基线库的文档的修改需要提交变更申请,经批准才能进行修改,并且修改的内容要经再次评审才能重新纳入基线库,作为后续阶段的参考文档。
2.2.1.2 时间区别型文档命名方式:[文档名称+撰写时间]适用文档:文档名称有明确的含义,需要用时间标识的日常性文档。
如周例会会议纪要,项目月计划,项目月总结,阶段性计划等等。
示例:周例会会议纪要20030901.doc2.2.1.3 时间序号型文档命名方式:[文档名称+人员姓名(拼音)+撰写时间+序列号]适用文档:测试报告示例:单元测试报告_lixiaohong_20071112_01.dco2.2.1.4 其他文档:对于不能按照前四种类型进行命名的文档会议纪要:会议纪要YYYYMMDD ( )示例:9月9日召开的项目启动会命名为:会议纪要20030909(项目启动).doc评审报告:评审报告YYYYMMDD ( )同”会议纪要”要求一致。
示例:10月9日召开的项目总体方案评审命名为:评审报告20030910(总体方案).doc2.2.2 发行版本表示发行版本采用标签说明,结构如下:[大版本] + [版本类型] + [版本号] + [子系统简称(拼音)]+日期 +序号[大版本]:可选,表示同一项目为不同用户定制的版本。
[子系统简称]:可选,当一个项目有多个子系统时,为区分不同子系统而设置。
版本类型:分为3种Beta表示项目组内部测试,标签:B1_0_0-20071015-01Release系统测试,标签:Release1_0_0-SPmenhu-20071112-01Version正式发行版,标签:Version1_0_0-SPmenhu-20071112-01[版本号] 对于Version正式发行版是必须要注明的,而其它可选。
发行产品基线在版本号前加Version,如Version_1, Version_2, Version_3….表示分支;Version_1_0, Version_1_1, Version_1_2… 表示在分支Version_1上的标签;Version_0_0, Version_0_1, Version_0_2… 表示在主线上的标签。
2.3 配置库管理2.3.1 配置库的分类配置库统一由配置管理员负责管理,服务器端使用cvsnt2.0.4,客户端主要使用乌龟CVS。
配置库目录结构如下:2.3.2 配置库的建立所有项目应建立配置库,以便管理各配置项,配置管理员组织建立配置库。
程序库主要通过设置版本的分支来实现对配置项权限管理:1)开发库:开发人员相对比较自由的存储空间,开发人员可以在自己的权限范围内任意取出提交。
2)基线库:配置管理员有最高权限,其余相关人员均为读的权限,发生变更时变更人员须提交变更申请后方可修改基线库内的配置项。