




已阅读5页,还剩93页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Company LOGO 软件配置管理 尹继刚 2007-4-5 软件配置管理 什么是软件配置管理 软件配置管理(Software Configuration Management, SCM)是指通过执行版本控制、变更 控制等规程,以及使用合适的配置管理软件,来保 证所有配置项的完整性和可跟踪性。配置管理是对 工作成果的一种有效保护。 v软件配置管理(SCM)是贯穿于整个软件过程中的保 护性活动。 vSCM目的是保证软件项目生成的产品在软件生命周 期中的完整性和一致性. v因为变化可能发生在任意时间,SCM 活动被设计 来: (1)标识变化; (2)控制变化; (3)保证变化被适当地实现; (4)向其他可能有兴趣的人员报告变化。 v软件配置管理使改进变化可以更容易地被适应, 并减少当变化必须发生时所需花费的工作量。 v明确地区分软件维护和软件配置管理是很重要的 。 v维护是发生在软件已经被交付给客户,并投入运 行后的一系列软件工程活动,而软件配置管理则 是当软件项目开始时就开始,并且仅当软件退出 运行后才终止的一组跟踪和控制活动。 配置管理与任何一位项目成员都有关系,因 为每个人都会产生工作成果。 配置管理是否有成效取决于三个要素:人、 规范、工具 l l 随着计算机软件的发展,软件开发已由最初随着计算机软件的发展,软件开发已由最初 的的“程序设计阶段程序设计阶段”经历了经历了“软件系统阶段软件系统阶段 ”进而演变为后来的进而演变为后来的“软件工程阶段软件工程阶段”,软,软 件的复杂性日益增大。此时,如果仍然把软件的复杂性日益增大。此时,如果仍然把软 件看成一个单一的个体,就无法解决所面临件看成一个单一的个体,就无法解决所面临 的问题,于是配置的概念逐渐引入软件领域的问题,于是配置的概念逐渐引入软件领域 ,人们越来越重视软件配置的管理工作。,人们越来越重视软件配置的管理工作。 l l 不懂软件项目的配置管理,就不懂软件开发不懂软件项目的配置管理,就不懂软件开发 管理管理 l l 不对软件项目进行配置管理,就没有进行软不对软件项目进行配置管理,就没有进行软 件项目开发管理件项目开发管理 软件配置管理是CMM2中6个关键过程域 的第6个关键域。CMM2认为,SCM 的目的 是为了建立和维护软件开发过程中各种制 品的完整性和一致性,包括以下内容: 对软件产品配置的标志和识别 系统地控制对处于配置管理下的各种软 件制品的修改和更新 维护软件开发过程中的各种制品的一致 性和可跟踪性 CMM2的配置管理概念 SCM 的目标 v目标1: 软件配置管理活动被定义和计划 v目标2: 软件开发过程中的制品被识别、控 制和管理 v目标3: 对于处于配置管理下的软件制品的 修改被控制 v目标4: 与软件制品相关的项目组和成员应 该被通知制品的目前状态和被修改的信息 SCM 的目标 从对配置目的的定义可以看出,从对配置目的的定义可以看出,CMM2CMM2的配置管的配置管 理理应包括这样一些活动:标识给定时间点的软应包括这样一些活动:标识给定时间点的软 件配置(即所选择的工作产品及其描述),系件配置(即所选择的工作产品及其描述),系 统地控制这些配置的更改,并在软件生命周期统地控制这些配置的更改,并在软件生命周期 中保持这些配置的完整性和可跟踪性。中保持这些配置的完整性和可跟踪性。 CMM2CMM2认为,受控于配置管理的工作产品,包认为,受控于配置管理的工作产品,包 括交付给用户的软件产品(如:代码等),以括交付给用户的软件产品(如:代码等),以 及生成软件产品所需要的有关项(如:项目管及生成软件产品所需要的有关项(如:项目管 理文件)。理文件)。 CMM2CMM2的配置管理活动最主要的内容是的配置管理活动最主要的内容是:建立:建立 软件基线库,该库存储开发的软件基线。通过软件基线库,该库存储开发的软件基线。通过 软件配置管理的更改控制和配置审核功能,系软件配置管理的更改控制和配置审核功能,系 统地控制基线变更和由软件基线库生成的软件统地控制基线变更和由软件基线库生成的软件 产品版本。产品版本。 要达到 CMM 规定的 SCM要求所需具备的能 力: 具有对软件基线产品有管理权限的组织已经 建立,例如:软件配置管理委员会; 协调和实现软件配置管理的组织已经建立; 为进行软件配置管理所需要的各项资源已经 分配; 软件配置管理组织里的成员已经接受了软件 配置目标、流程、方法方面的培训; 软件项目组或是其他的相关的部门经过培训 ,可以执行他们的软件配置管理活动; CMM 中对SCM 规定的活动 根据文档化的流程,项目软件配置管理计 划已准备完毕; 文档化的已获批准的软件配置管理计划可 用作以后软件配置管理活动的基础; 软件配置管理库已经创建,并可用作进入 基线的软件制品的存贮库; 处于软件配置管理下的软件制品被标志和 识别; 对于配置项的变更请求和问题报告被初始 化、计划、评审、批准并根据文化化的流程 对其进行跟踪; 对于进入基线的制品的修改必须遵循文档化的 流程; 发布的产品必须从软件配置库中取出,并且产 品发布的流程须依照文档化的流程和规定; 根据文档化的流程和规定,软件配置项的状态 被记录和跟踪; 记录软件配置管理活动和软件基线内容的报告 被建立,并通知受到影响的项目组和个人; 根据文档化的流程进行软件制品基线的评审; CMM 中对SCM 规定的活动 组织规定和相关责任 v项目级配置管理 项目配置经理(Project Configuration Manager) 与软件配置管理计划 变更控制委员会(Change Control Board) v组织级配置管理 组织配置管理库(Organizational Configuration Management Cell) 负责项目完成后的软件配置 管理活动 管理组织级的文档 IEEE标准729-1983就配置管理的内容进行了规范的定义: (1)标识:识别产品的结构、产品的构件及其类型,为其分配唯 一的标识符,并以某种形式提供对它们的存取。 (2)控制:通过建立产品基线,控制软件产品的发布和在整个软 件生命周期中对软件产品的修改。例如,它将解决哪些修改会在 该产品的最新版本中实现的问题。 (3)状态统计:记录并报告构件和修改请求的状态,并收集关于 产品构件的重要统计信息。例如,它将解决修改这个错误会影响 多少个文件的问题。 (4)审计和审查:确认产品的完整性并维护构件间的一致性,即 确保产品是一个严格定义的构件集合。例如,它将解决目前发布 的产品所用的文件的版本是否正确的问题。 (5)生产:对产品的生产进行优化管理。它将解决最新发布的产 品应由哪些版本的文件和工具来生成的问题。 (6)过程管理:确保软件组织的规程、方针和软件周期得以正确 贯彻执行。它将解决要交付给用户的产品是否经过测试和质量检 查的问题。 (7)小组协作:控制开发统一产品的多个开发人员之间的协作。 例如,它将解决是否所有本地程序员所做的修改都已被加入到新 版本的产品中的问题。 IEEE的配置管理定义 CMM2的定义比较抽象,IEEE的定义比较具体 。结合各体系的定义和要求,我们下面具体来 讨论配置管理的概念。 配置管理功能概述 配置标识或者又称为配置需求,包括标识软件系统的结构,标 识独立部件,并使它们是可访问的。配置标识的目的,是在整个 生命周期中标识系统各部件并提供对软件过程及其软件产品的跟 踪能力。它回答:什么是受控的? 配置变更控制包括在软件生命周期中控制软件产品的发布和变 更,目的是建立确保软件产品质量的机制。它回答:受控产品怎 样变更?谁控制变更?何时接受,恢复,验证变更? 配置状态统计包括记录和报告变更过程,目标是不间断记录所 有基线项的状态和历史,并进行维护,它解决以下问题:系统已 经做了什么变更?此问题将会对多少个文件产生影响?配置变更 控制是针对软件产品,状态统计针对软件过程。因此,二者的统 一就是对软件开发(产品、过程)的变更控制。 配置审核将验证软件产品的构造是否符合需求、标准、或合同 的要求,目的是根据SCM的过程和程序,验证所有的软件产品已 经产生并有正确标识和描述,所有的变更需求都已解决。它回答 :系统和需求是否吻合?是否所有变更都是在版本控制下? SCM的四大功能领域 SCM从应用层次上可以从低到高分为三级:版本控制 、以开发者为中心、过程驱动。 版本控制主要应用于个人独立开发或小组开发,它可 以控制任何文件的版本、实现分支和归并功能、进行文 本比较、标记注释和版本报告信息,主要工具有MS的 Visual SourceSafe及Intersolv PVCS。 以开发者为中心主要应用于部门级开发,它可用于软 件维护、不断增加的开发任务、并行开发、QA及测试, 它面向大型团队、利于交流、能最大限度地利用人力资 源,主要工具为Rational ClearCase及MKS Source Integrity。 过程驱动主要使用于企业级开发,着重解决新的工具 引入、IT审核、管理报告、复杂的生命周期、应用工具 包、集成解决方案、资料库等问题,实现真正规范的团 队开发,主要工具为Platinum Technology CCC/Harvest。 SCM的三个应用层次 SCM 中的专业术语 v 配置(Configuration)与配置项(Configuration Item) v 在软件开发过程中生成各种制品的总和叫做这 个项目的软件配置 Roger S. Pressman, 1997 计算机程序,包括源代码和可执行程 序 与计算机程序相对应的各种文档 计算机数据,包括计算机程序中包含 的数据和系统初始化数据 v基线 项目开发过程的制品经过正式评审并被相关人员 一致同意,可以作为以后项目开发的基础。对已 经确定为基线的制品的修改必须要通过正式的变 更控制流程。 在软件工程环境中,基线是指在软件开发过程中 的里程碑,这些里程碑的标志是一项或多项经过 正式的技术评审并一致认同的软件制品的提交。 v配置数据库(软件制品基线库) 项目建立和访问软件制品库,这个制品库 主要用来对保存配置项和一些与软件配置管 理相关的记录。 目前比较好的配置管理工具:Clearcase (Rational), Notes/Domino (Lotus), PVCS (Merant) and VSS (Microsoft). 配置管理的商业理念 u企业的商业需求决定了配置管理的力度 ,我们不必追求完美无缺的配置管理,而 是让开发团队恰好够用就行,并将为配置 管理所付出的代价控制在预算之内。 u富有成效的配置管理的特征: 1. 任何项目成员都要对其工作成果进行配置管 理,应当养成良好的习惯。不必付出过多的 精力,最低要求是保证重要工作成果不发生 混乱。 2. 配置管理规范应当清晰明了,便于执行,不 必在细节方面要求太多,不给项目人员添加 过多的负担,不使人厌烦。 最大的麻烦是工作成果被覆盖。 如果不采用配置管理软件来保存工作成果 的历史版本的话,人们在同一个文件上修改内 容,保存之后,那么新的内容覆盖了老的内容 。 如果没有软件配置管理,将有什么坏处? 多数情况下新的内容比老的内容好 ,覆盖了也没关系。但是总有不少意 外,例如程序员修改了老程序员之后 ,突然发现新程序是错误的,而老程 序却是对的,可是老程序被新程序覆 盖了,再也无法恢复。 怎么办呢?还能怎么办,只好重新写老 程序再覆盖新程序,可是过一阵子又发 现新程序也又可取之处,这时却无法恢 复新程序了,只好重新写新程序再覆盖 老程序,如果你经常碰到这样的事情 ,你会发疯的。 为了避免成果被覆盖,很多人采用最原 始的手工管理版本的方式,例如给文件加后 缀“-01”、“-02”以表示版本。天长日久,工 作目录下就会有一堆带数字后缀的文件,而 且你自己也忘记了数字后缀代表什么内容, 管理起来非常麻烦。 u最直接的好处是工作成果的所有版本 都被保留着,不会丢失也不会被覆盖, 你不会气得发疯了。 使用软件配置管理,将有什么好处? u如今硬盘的存储空间价格低廉,用于 保存历史版本的存储空间的成本可以忽 略不计。 u如果你保存了工作成果的100个历史版 本,哪怕99版本都是“垃圾”,只有一个 版本里有“黄金”,那也值了。 u所以你尽管放心保存历史版本好了, 累的是计算机又不是你,你怕什么。 间接的好处是,项目的所有工作成果被 完整地保留下来,这是企业的知识财富,可以 被人们很好地分享利用。而且减少了人员辞职 造成的损失,企业老板可以放心很多了。 因为如果没有配置管理的话,人走了, 即使他把成果刻录成光盘交给接收者, 别人也搞不清楚那些成果的演化过程。 事在人为 u配置管理的方法是成熟的,而且 相应的软件工具也是成熟的,基本 上不存在看不懂、不会用的问题。 u配置管理的执行效果如何,完全 应了中国的一句老话“事在人为” 啊。 妨碍配置管理的主要问题是人 们“嫌麻烦”(还有侥幸心理)。 在没有出乱子的情况下,执行版本控 制看起来有些麻烦。 每次修改工作成果的时候,总是 先check out,然后再修改,最后还要 check in,多了前后两步。 其实check out和check in两步操作 只需花费几秒钟,而且不费脑子,凭良心 说根本没有添加麻烦,仅仅是个人感觉不 爽快而已。 然而不执行版本控制的话,万一发生 工作成果被覆盖或丢失等问题,那么麻烦 就大了。 配置项 u软件研发和管理过程中会产生许许多多的工作 成果,例如文档、程序和数据等,它们都应当被 妥善地保管起来,以便查阅和修改。 u如果把所有文件一股脑地塞进计算机里,那么 使用起来肯定很麻烦。 u毫无疑问,人们应当将文件分门别类、有条理 地保存起来。 u凡是纳入配置管理范畴的工作成果统称为配置项( Configuration Item,CI)。 u软件配置项(Software Configuration Items,SCI) u配置项主要有两大类: 1.属于产品组成部分的工作成果,例如源代码、需 求文档、设计文档、测试用例等等 2.在管理过程中产生的文档例如各种计划、监控报 告等等,这些文档虽然不是产品的组成部分,但 是值得保存。 标识软件配置项 v软件配置项分为基本对象和复合对象: v基本对象:分析设计编码测试时所建立的” 文档单元”,如,需求规格说明中的一节、一个模块 的源代码、一组测试用例。 v复合对象:基本对象或其他复合对象的一个集合 。如,“设计规格说明书”是一个复合对象、一些 基本对象,如“数据模型”、“模块N”的集合。 v每个配置项可用一组信息来唯一地标识它。 每个配置项的主要属性有: 名称、标识符、文件状态、版本、作者、 日期等。 所有配置项都被保存在配置库里,确保不 会混淆、丢失。 配置项及其历史记录反映了软件的演化过 程。 基线 u由正式技术评审而得到的软件配置项的正式文 本构成了基线。 u基线(Baseline)由一组配置项组成,这些配 置项构成了一个相对稳定的逻辑实体。 u基线中的配置项被“冻结”了,不能再被任何 人随意修改(见变更控制规程)。 u其作用是使连续的工作在这些点上断开,以便 于检查和肯定阶段成果。 u基线需要定期审核,以验证与文档的一致性。 基线通常对应于开发过程中的里程碑( Milestone),一个产品可以有多个基线,也可以 只有一个基线。 基线的主要属性有: 名称、标识符、版本、日期等。 u通常将交付给客户的基线称为一个 “Release”,为内部开发用的基线则称为一个 “Build”。 v以下的SCI 成为配置管理技术的目标并形成一组基线: v1.系统规约 v2.软件项目计划 v3.软件需求规约: a.图形分析模型; b.处理规约;c.原型;d.数学规约 v4.初步的用户手册 v5.设计规约: a.数据设计描述; b.体系结构设计描述; c.模块设计描述; d.界面设计描述 e.对象描述(如果使用面向对象技术) v6.源代码清单 v7.测试规约 a.测试计划和过程 b.测试用例和结果记录 v8.操作和安装手册 v9.可执行程序 a.模块的可执行代码 b.链接的模块 v10.数据库描述 a.模式和文件结构 b.初始内容 v11.联机用户手册 v12.维护文档 a.软件问题报告 b.维护请求 c.工程变化命令 v13.软件工程的标准和规程 v14.特定版本的编辑器、编译器和其他CASE 工具等 角色 u为了提高配置管理的效率和安全性,项目应当 设有配置管理员这个角色。 u配置管理员的主要工作是为项目制定配置管理 计划,创建和维护配置库等。 对于大型的项目,鉴于配置管理的重要性和复 杂性,机构应当设立配置控制委员会(Configuration Control Board,CCB)。 CCB是个虚拟小组,对配置管理各项活动拥有 决策权(例如审批计划,审批变更请求等)。 对于配置管理而言,CCB是决策者,而配置管 理员是执行者。 对于普通的小型软件项目而言,CCB这 个概念难以落实,我们就不要玩虚的了,让项 目经理或者配置管理员做决定就行了。 流程 RUP描述的配置管理的主要活动如下图所示: 对于一个软件项目组来说,开展一个项目组的配置管理,大致可以分为以下步骤: 对于一个软件项目组来对于一个软件项目组来 说,开展一个项目组的说,开展一个项目组的 配置管理,大致可以分配置管理,大致可以分 为以下步骤:为以下步骤: (1 1)拟订项目的)拟订项目的配配 置管理计划置管理计划;(;(2 2)创)创 建项目的建项目的配置管理环境配置管理环境 ;(;(3 3)进行项目的)进行项目的配配 置管理活动置管理活动,包括:标,包括:标 识配置项;管理基线和识配置项;管理基线和 发布活动;监测与报告发布活动;监测与报告 配置状态;管理变更请配置状态;管理变更请 求。求。 (1 1)和()和(2 2)可以看成)可以看成 配置管理的准备,(配置管理的准备,(3 3 )是配置管理的具体实)是配置管理的具体实 施。配置管理的具体实施。配置管理的具体实 施,在施,在RUPRUP定义为四个定义为四个 管理活动。管理活动。 配置项的标识和控制 所有配置项都应按照相关规定统一编号,按 照相应的模板生成,并在文档中的规定章节(部 分)记录对象的标识信息。在引入软件配置管理 工具进行管理后,这些配置项都应以一定的目录 结构保存在配置库中。 所有配置项的操作权限应由配置管理员严格管理 ,基本原则是:基线配置项向软件开发人员开放 读取权限;非基线配置项向项目经理、配置控制 委员会及相关人员开放。 工作空间管理 在引入了软件配置管理工具之后,所有开 发人员都会被要求把工作成果存放到由软件配置 管理工具所管理的配置库(存储池)中去,或是 直接工作在软件配置管理工具提供的环境之下( 根据配置管理构架提供的控制方式不同而不同) 。 每个开发人员按照任务的要求,在不同的 开发阶段,工作在不同的工作空间上。 比较理想的情况是把整个配置库视为一个统 一的工作空间,然后再根据需要把它划分为个人 (私有)、团队(集成)和全组(公共)这三类 工作空间(分支),从而更好的支持将来可能出 现的并行开发的需求。 版本控制 版本控制是软件配置管理的核心功能。所有置于 配置库中的元素都应自动予以版本的标识,并保证版本 命名的唯一性。版本在生成过程中,自动依照设定的使 用模型自动分支、演进。除了系统自动记录的版本信息 以外,为了配合软件开发流程的各个阶段,我们还需要 定义、收集一些元数据来记录版本的辅助信息和规范开 发流程,并为今后对软件过程的度量做好准备。当然如 果选用的工具支持的话,这些辅助数据将能直接统计出 过程数据,从而方便我们软件过程改进(Software Process Improvement,SPI)活动的进行。 对于配置库中的各个基线控制项,应该根据其基 线的位置和状态来设置相应的访问权限。一般来说,对 于基线版本之前的各个版本都应处于被锁定的状态,如 需要对它们进行变更,则应按照变更控制的流程来进行 操作。 变更控制 变更管理的一般流程是: (1)(获得)提出变更请求; (2)由CCB审核并决定是否批准; (3)(被接受)分配请求,修改人员提取配置项, 进行修改; (4)复审变化; (5)提交修改后的配置项; (6)建立测试基线并测试; (7)重建软件的适当版本; (8)复审(审计)所有配置项的变化; (9)发布新版本。 在这样的流程中,配置管理员通过软件配置管理 工具来进行访问控制和同步控制,而这两种控制则是 建立在前面所描述的版本控制和分支策略的基础上的 。 状态报告 配置状态报告应该包括下列主要内容: (1)配置库结构和相关说明; (2)开发起始基线的构成; (3)当前基线位置及状态; (4)各基线配置项集成分支的情况; (5)各私有开发分支类型的分布情况; (6)关键元素的版本演进记录; (7)其它应报告的事项。 配置审计 配置审计的主要作用是作为变更控制的补充手段, 来确保某一变更需求已被切实实现。在某些情况下,它 被作为正式的技术复审的一部分,但当软件配置管理是 一个正式的活动时,该活动由SQA人员单独执行。 总之,软件配置管理的对象是软件研发活动中的全部开 发资产。所有这一切都应作为配置项纳入管理计划统一 进行管理,从而能够保证及时的对所有软件开发资源进 行维护和集成。因此,软件配置管理的主要任务也就归 结为以下几条: (1)制定项目的配置计划; (2)对配置项进行标识; (3)对配置项进行版本控制; (4)对配置项进行变更控制; (5)定期进行配置审计; (6)向相关人员报告配置的状态。 项目经理的配置管理流程 项目经理的工作 是: (1)确定项目 配置管理策略 (2)确定用于 控制产品变更的 策略和流程 (3)在配置管 理计划(是软件 开发计划的一部 分)中记录此信 息 配置管理策略 软件配置管理策略是指能够确定、保护和报 告已经批准用于项目中的工件的能力。通过正确 的标注来实现确定操作。对项目工件的保护是通 过归档、建立基线和报告等操作而得以实现的。 使用标准的、已记录下来的变更控制流程的 目的是:确保项目中所做的变更保持一致,并将 产品的状态、对其所做的变更以及这些变更所耗 费的成本及对时间表的影响通知给有关的涉众。 软件配置管理计划说明在产品/项目生命周期 中要执行的所有与配置管理相关的活动。它记录 如何计划、实施、控制和组织与产品相关的配置 管理活动。 配备人员 配置管理人员的选择和配备,是软件项 目经理最主要的工作。在一个比较理想的软件开 发团队中,需要哪些角色呢? 负 责软件项目组的项目经理 负 责SCM计划和策略的配置经理 负 责软件产品开发与维护的软件工程人员 负 责验证产品正确性的测试人员 负 责确保产品高质量的质量保证经理 使 用产品的用户。 配置经理 配置经理的目标是确保用来建立、变更及编 码测试的计划和策略得以贯彻执行,同时使有关 项目的信息容易获得。 为了对编码更改形成控制,配置经理引入规 范的请求变更的机制,评估更改的机制(通过变 更控制机构CCB,由它负责批准对软件系统的变 更),和批准变更的机制。 配置经理负责为工程人员创建任务单,交由 项目经理对任务进行分配,创建项目的框架。同 时,配置经理还收集软件系统中构件的相关数据 ,比如说用以判断系统中出现问题的构件的信息 。 配置管理计划 配置管理员根据本项目的特征,起 草配置管理计划,由CCB负责人(通常 是项目经理)审批。 u配置管理计划的主要内容: 1. 人员与职责 2. 软件硬件资源 3. 配置项计划 4. 基线计划 5. 配置库备份计划 6. 版本控制规则 7. 变更控制规则 8. 审批 角色职责 v项目经理(Project Manager,PM) v配置控制委员会(Configuration Control Board,CCB) v配置管理员(Configuration Management Officer,CMO) v系统集成员(System Integration Officer,SIO) v开发人员(Developer,DEV) 配置管理计划 v肩负对项目成功负责的重要职责 v评估开发团队当前配置管理现状 v定义实施的范围 v计划资源要素 项目经理的阶段工作要点 概念 u软件的每一版本都是软件基线库的配置项(源 代码、文档、数据)的一个集合。 u版本控制的目的是按照一定的规则保存配置项 的所有版本,避免发生版本丢失或混淆等现象, 并且可以快速准确地查找到配置项的任何版本。 所有项目成员都必须遵照版本控制规程操作 配置库。 版本控制规则 配置项的状态有三种: “草稿”(Draft)、 “正式发布”(Released)、 “正在修改”(Changing)。 u配置项状态变迁: 1.配置项刚建立时其状态为“草稿”。 2.配置项通过评审(或审批)后,其状态变为“ 正式发布”。 3.此后若更改配置项,必须依照“变更控制规程 ”执行,其状态变为“正在修改”。 4.当配置项修改完毕并重新通过评审(或审批) 时,其状态又变为“正式发布”,如此循环。 版本号 u(1)处于“草稿”状态的配置项的版本号格 式为:0.YZ YZ数字范围为01-99。 随着草稿的不断完善,“YZ”的取值应递 增。 “YZ”的初值和增幅由用户自己把握。 u(2)处于“正式发布”状态的配置项的版本号格式 为:X.Y X为主版本号,取值范围为1-9。Y为次版本号, 取值范围为1-9。 配置项第一次“正式发布”时,版本号为1.0 如果配置项的版本升级幅度比较小,一般只增大 Y值,X值保持不变。只有当配置项版本升级幅度 比较大时,才允许增大X值。 u(3)处于“正在修改”状态的配置项的版本号 格式为:X.YZ 配置项正在修改时,一般只增大Z值,X.Y值保 持不变。 当配置项修改完毕,状态重新成为“正式发布 ”时,将Z值设置为0,增加X.Y值。参见规则(2 )。 版本控制的好处版本控制的好处 使混乱的开发状态变得有序!使混乱的开发状态变得有序! SCMSCM 的主要技术的主要技术版本控制版本控制 变更控制的目的是防止配置项被随意修改而 导致混乱。 为了提高效率,对于处于“草稿状态”的配置 项,不必进行变更控制,因为它们本来就是 草稿,本来就是要被不断地修改的。 变更控制 当配置项状态为“正式发布”,或者该配置 项已经成为某个基线的一部分(即被“冻结”) 时,如果要修改配置项的话,那么按照变更控 制规则执行。 步骤: u第一步 变更申请。变更申请人向CCB提交变 更申请,重点说明“变更内容”和“变更原因 ”。 u第二步 审批变更申请。CCB负责人(或项目 经理)审批该申请,分析此变更对项目造成的 影响。如果同意变更的话,则转向第三步,否 则终止。 第三步 安排变更任务。 CCB指定变更执行人,安排他们的任务。 CCB需要和变更执行人就变更内容达成共识。 第四步 执行变更任务。 变更执行人根据CCB安排的任务,修改配置 项。CCB监督变更任务的执行,如检查变更内容是 否正确、是否按时完成工作等。 第五步 对更改后的配置项重新进行技术评 审(或审批)。 第六步 结束变更。 当所有变更后的配置项都通过了技术评 审或领导审批,这些配置项的状态从“正在 修改”变迁为“正式发布”,本次变更结束 。 u在实际操作中,审批变更申请并非总是“客 观公正”的,人们并不在乎变更申请是否合理 ,关键看是谁提出变更申请。官儿越大的人 提出的变更申请总是优先处理的。 配置库操作 u所有人员都依照配置管理规范和计划来操作 配置库。 u配置管理员的主要操作有: 创建配置库,并且至少创建配置库的所有 第一级目录。 u为每个项目成员分配操作权限。一般地,项 目成员拥有Add, Check in, Check out, Download等权限,但是不要轻易拥有“删除” 权限。 u配置管理员的权限最高。具体操作视所采用 的配置管理软件而定。 u根据“基线计划”创建与维护基线,“冻结 ”配置项,控制变更。 u定期清除配置库里的垃圾文件。 u定期备份配置库。 其他项目成员根据自己的权限操作配置库 里的工作成果, 例如 : Add, Check in, Check out, Download等。 配置审计的目的就是要保证所有人员(包 括配置管理员、CCB、和普通项目成员)都 遵守配置管理规范。 所以配置审计是质量人员的工作职责之一 ,可以归类为“过程检查活动”。 配置审计 人们对配置审计最大的误解是“对配置库 中的每个配置项都检查一遍”,配置库里的配 置项非常多,这样做无疑非常劳累,却没有多 少价值。 u配置审计的对象是项目的主要配置项,如果主 要配置项符合“版本控制规则”和“变更控制规 则”,并且定期备份了配置库,那么就可以认为 配置管理符合既定的规范。 u反之,如果质量人员在审计的时候发现主要配 置项比较混乱,那么应当告知当事人及时更正, 这样就起到了审计的作用。 u总之,由于每个人都已经在配置管理上付出了 时间,切勿再在配置审计方面化很多时间。 l 可以不必去熟悉过程,也不必知道团队开发的可以不必去熟悉过程,也不必知道团队开发的 模式模式 l l 可以延续你一贯的工作程序和处理办法可以延续你一贯的工作程序和处理办法 l l 将变更流程化将变更流程化 l l 自动处理业务自动处理业务 SCM SCM 的过程驱动的过程驱动 PRODUCTIONCODINGTESTINGREPORTING PROJECT U PROJECT VPROJECT Y PROJECT X PROJECT Z PROJECT W APPROVENOTIFYNOTIFY SCMSCM的过程改进的过程改进 SCMSCM为变更和过程改进提供基本结构为变更和过程改进提供基本结构 第一步,了解产品是怎样生产的第一步,了解产品是怎样生产的 第二步,培养一个好的变更环境第二步,培养一个好的变更环境 改进要构造的也就是改进怎样构造改进要构造的也就是改进怎样构造 - SEI 1998- SEI 1998年年 过程驱动的好处过程驱动的好处 真正规范团队开发!真正规范团队开发! 1 Visual SourceSafe uVisual SourceSafe是Microsoft公司推出 的配置管理工具,是Visual Studio的套件 之一。SourceSafe是国内最流行的配置管理 工具,用户量绝对是第一位。 常用配置管理工具 VSS的简单工作原理 v将项目所有的源文件(包括各种文件类型)以特 有的方式存入数据库; v客户端将程序拷贝到各自的工作目录下进行调试 修改,然后进行Checkin到服务器,进行综合更新; v支持多个项目之间文件快速高效的共享; v每个成员对项目文件所作的修改将被记录到数据 库中; vVSS可以很容易地与Microsoft Access、 Visual Basic、 Visual C+、Visual FoxPro和其他的开发 工具集成在一起. SourceSafe长得很象早先土气的文件管 理器,的确难看。但是难看不碍事, SourceSafe的优点可以用8个字来概括“简单 易用,一学就会”。 u虽然SourceSafe并不是免费的,但是在国内 人们以接近于零的成本得到它,网上到处可以 下载。 u当然Microsoft也不在乎这个小不点的软件, 它属于“买大件送小件”的角色。如果你合法 地得到Visual Studio,你就得到了免费的 SourceSafe。 SourceS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版绿色金融抵押担保借款合同范本
- 2025版基础设施信息化工程承揽合同样本
- 2025版家具行业产品质量检测服务合同范本
- 2025年度文化产业合作合同补充协议书
- 二零二五年度智慧园区项目可行性研究报告咨询服务合同
- 麻疹的防治知识培训课件
- 二零二五年电子产品质量检测与认证服务合同
- 二零二五年度电子行业技术交流保密合同
- 紧急救援吊装劳务分包应急合同
- 二零二五年度离婚协议书:女方权益保障与财产分割规范
- 新能源会计面试题及答案
- 艺术疗愈与心理健康工作室行业深度调研及发展战略咨询报告
- 血管活性药物静脉输注护理解读
- 老年人急症与急救护理
- 心脏瓣膜病围手术期的护理
- 二零二五年度环保包装袋回收与再利用合作协议2篇
- 仓储相关制度培训
- 浅析广东促进科技成果转化的现状、问题及对策
- 2025年国家电投集团招聘笔试参考题库含答案解析
- 2025医疗护理员理论考试试题含答案
- 五年高考真题(2020-2024)分类汇编 政治 专题14 认识社会(探索认识的奥秘、寻觅社会的真谛) 含解析
评论
0/150
提交评论