用ClearCase实现软件配置管理 吕子昂罗四维 冀要:软件配Jr.菅理的目标是保证软件质量,提高生产率。首先舟绍了软件配Jr.菅理的重要性和任务。然后 站合作者的开发应用经验着重介绍了软件配置工具ClearCase的基奉概忿和工作流程,挥计了配王规范以覆分支与归并 的策略。最后对软件配王菅理的现状作了一个简单的分析和评价。 关t词:软件配王菅理Cleax'Case配王规范分支归井 The Implement of Software Configuration Management by ClearCase LVZiang LUOSiwei (Computer Info &Tech.College.Northern JJ ̄toag Universit-:,folljing,10(X)44) Abstract:The goal of software configuration management(SCM)is to improve software quality and plvductivit-:This paper ifrstlyinwgd ̄cesthehnportanco,definition andtaskofSCM.Thenmainlypresentthebese00n∞ andworkflowofCleaf..ase, which is the SCM tool used by authors.A2 ̄I"discuss the configuration speciifcation(conifg Spec),suategy ofbranching nad merging.slmply analysis and evaluate hte current status ofSCM Keywords:SCM,ClearCase.Config Sgec.Branch,merge 1软件配置管理 的程序代码。但到了6O年代末期,计算机科学家为解决 1.1软件配置管理对软件开发的重要意义 软件开发和维护过程中出现的“软件危机”,开始研究怎 样从技术和管理两方面指导计算机软件的开发和维护。软 吕子昂北方交通大学计算机信息与技术学院硕士研究生100044北京市 件工程这一学科就此产生了。 罗四维北方交通大学计算机信息与技术学院教授 100044北京市 软件工程使软件开发从手工作坊上升到集团开发方式, (1)铁路电子商务门户站点:是铁路电子商务系统与用 路客户身份的合法性,确保通过网络进行的电子商务活动 户的直接接口,同时内部的电子商务应用系统与内部信息 的不可抵赖性和完整性。 系统之间在服务级互联。 (2)铁路电子商务外部网(Extranet):是铁路电子商 7结束语 务系统的外部环境,包括连接因特网的通道、CA认证中 铁路电子商务的发展没有历史包袱,技术上不存在困难. 心、银行支付网关及其网络接口。 铁路已经具备了发展电子商务的内外在条件。而且,“铁 (3)由铁路内部信息系统构成的铁路Intranet:是铁路 路电子商务的研究一铁路运输电子商务应用研究”课题已经 目前已经建设和正在建设的信息系统,如TMIS、DMIS、 通过项目评审,专家认为其研究成果为铁路电子商务系统建 RMIS、客票系统、行包系统等,是铁路电子商务系统的 设在垒路推广和实施奠定了理论和技术基础。铁路应发挥自 基础,是电子商务应用软件和铁路内部信息系统协同工作 身在物流业中的优势,充分利用现有资源,发展铁路电子 的桥梁。 商务,拓展服务,为国民经济的发展作出应有的贡献。 (4)铁路电子商务安全防范系统:是铁路电子商务门户 与铁路内部信息系统之间的安全隔离屏障,满足系统防范 8参考文献 外部攻击、保护内部信息系统安全的需要。 l刘军.电子商务系统的规划与设计.北京:人民邮电出版社.2001 (5)支付网关接口:包括电子支付网关(P aYm en12 2文岗.电子商务时期的第三方物流管理.北京:中国商业出版社. Gateway)、网关接口应用、铁路电子商务系统与银行之 2OOO 间的通信通道3部分,是铁路电子商务系统与银行或金融 3宋玲.电子商务战略.北京:中国金融出版杜,2000 机构支付网关之间的接口,满足电子支付的需要。 (6)安全认证中心(CA)接口:通过该接口检验铁 (收稿日期:2001.12.15 维普资讯 http://www.cqvip.com
计咒与升琨 随着信息技术的飞速发展,软件产业的发展也El新月异, 到记录和报告整个软件的变更过程的目的。 新的软件开发技术和工具层出不穷。不少软件技术人员往 往更感兴趣于实现的技术而忽略了管理的重要性。今天, 网络上团队化的工作方式已成为大型软件的主流开发模式。 2软件配置管舡具一Rational ClearCase 软件配置管理工具基本上都是围绕上述5项主要任务实 在这样的开发条件下,软件开发项目成功的关键在于有效 现其目标的,有关这5方面的功能也是配软件置管理的基 的管理,软件的质量取决于开发过程良好的管理和控制体 本功能。RafionM公司的ClearCase是软件配置管理领域的 系。怎样进行软件开发管理才能生产出高质量的软件产品 先导,它提供了全面的配置管理——包括版本控制、工作 呢?在ISO 9000质量管理和质量保证标准中,制定了《在 空间管理、构建管理和过程控制,而且无需软件开发者改 earCase主要应用 软件开发、供应和维护中的使用指南》标准,该标准除 变他们现有的环境、工具和工作方式。Cl对软件生存周期的各个阶段做了严格的规定外,还在其质 量体系中规定了与阶段无关的支持活动,其中软件配置管理 被放在首位。软件配置管理对于提高软件质量和软件开发 过程的可靠性有着重要意义。 软件配置管理是一门通过一系列技术、方法和手段来 维护产品的历史、鉴别和定位产品独有的版本、在产品开 发和发布阶段控制变更,从而使管理制度化、有效减少重 复性工作、保证产品的质量和效率的科学。它的英文是 Software Configuration Management(SCM)。软件配置管理 贯穿整个软件生命周期与软件工程过程。 l_2软件腿管理的目标和任务 软件配置管理的目标是:标识变更、控制变更、确 保变更、报告变更。一言以蔽之,软件配置管理是围绕 着软件开发与维护中的变更进行的。 从软件配置管理的定义中可以看出,软件配置管理中 的活动其任务主要包括:配置标(identification)、版本 管理(v e r sinn nlanag em ent)、变更管理(chang e management)、配置审计(audit)以及配置报告(status accounting)。 配置标识是指找出需要管理的中间产品(主要是程 序和文档),使其处于配置管理的控制之下。版本管理 是维护已标识的中间产品之间的相关关系,是最基本的 微观管理手段和配置管理的基本要求,它可以保证在任 何时刻恢复任何一个配置项的任何一个版本。版本控制 还记录了每个配置项的发展历史,保证了版本之间的可 追踪性,也为查找错误提供了帮助。版本控制还是支持 并行开发的基础。变更管理是指记录有关变更的信息 (包括变更的内容、原因和实现者等),在整个软件生 命周期中控制对软件的变更 查看这些记录信息,有助 于追踪出现的各种问题;记录正在执行的变更的信息, 有助于做出正确的管理决策。配置审计是指利用配置记 录验证软件达到了预期的要求。配置管理通过审计控制 来验证配置管理过程.以保证配置库中所有配置项的完 整性。配置报告是指通过记录各个配置的变更状态,达 于复杂的产品发放、分布式团队台作、并行的开发和维护 任务。 2.1 cIearcase中的基本概念 2.1.1版奉、VOB、版本树 ClearCase采用元素(Element)级的版本管理机制, 系统中各种文件和目录均可以视为元素,一个版本是指一 个元素的特殊修订。ClearCase可对文件系统的所有元素进 行版本控制,其中目录的版本记录整个目录的发展状况, 包括目录内文件的创建、重命名、构建和删除等操作。 在ClearCase中,元素都存放在一个永久、安全的 存储区中。这个存储区被称为版本化对象库(Versioned Obj ect B ase),简称VOB。在VOB中,每个元素的 全部版本都被存储和管理,一个元素的所有版本形成一 棵版本树(Version Tree)。VOB包含了一个特定元素集 台的所有版本。 2.1.2视图、配置规范 那么VOB中的版本树是怎样成为用户面前的目录树的 呢?在ClearCase中,用户通过视图(View)访问和改变 VOB中的元素。视图通过一组称为配置规范(Configu. ration Specification,Config Spee)的规则选择每个元素的 一个特定版本。视图的配置规范决定了哪个版本被选中, 它的作用就像一个滤镜,当通过视图访问VOB时,VOB 就像一棵普通的文件系统目录树。每个开发者都可以拥有 多个视图,并且可以分别设置配置规范,不同视图可以选 择同一路径名下的同一元素的不同版本。 配置规范是动态的,可以在任何时候修改。一般视图 的配置使用通配符和助记符的术语定义,而不指定具体的 版本名称。视图也就是用户的工作空间,快速有效的工作 空间建立对于提高个人和团队的效率是非常重要的。通过 视图的使用,可以实现动态评估、选择指定版本和透明访 问多种元素的功能。 2.1.3标签、分支、归并 标签(Labe1)是标注于某个版本上的用户定义的名 称。在项目开始前,ClearCase管理员把组成现有系统结构 维普资讯 http://www.cqvip.com
研咒弓7rall, 的文件和目录导入VOB库,然后用户将标签应用于VOB库 建整个或部分软件系统。在构建时自动检梗I所关联的源文件 中的文件和目录来定义项目配置的起始点。 (包括头文件),进行构建审核。clearmake自动的追踪构建, 分支(B ranch)是一个对象,它指定了一个元素版 创建关于构建过程和结果的永久性的资料清单。clearmake 本的线性序列。每个元素都可以沿着不同的分支同时发 可以通过配置文件检测哪些源对象可以在多个视图中被共 展,即新的版本加到的分支上。每个元素有一个主分 享 了解早先在其它视图构建的同一目标的多种实例,在 支(Main Branch),描述首要的开发线,还可能有多个 验证正确的源版本后对视图执行一个导人(wink in)操作, 子分支(Sub Branch),每个子分支都描述一条单独的开 此源对象可被其它视图所共享。clearmake支持分布式构建 发线。ClearCase通过分支功能直接实现并行开发,一个项 和并行构建。 目团队可以并行地使用很多分支,ClearCase允许不同的项 2.2 ClearCase的工作流程 目在同一时问使用同一VOB。在软件集成期间开发工作无 需停止 程序员可以先在分支上开发,以后再集成。 并行开发的特点是需要对同一元素的不同版本进行定期 比较,为整合一个分支的工作到另一个分支,需要对版本 间内容进行归并(Merge)。ClearCase可以自动辨认归并 选项并实现归并,即对归并选项进行自动比较和版本问的 归并。Clear'Case也可以对需要归并的项目元素进行定位 如果所有的归并元素是同一元素的不同版本,系统会自动 确定基础版本。ClearCase会记录基础版本和归并元素版本 间的差异。如果所有的版本间差异互不相同,ClearCase会 自动建立归并版本 如果两个归并版本文件内容中存在差 异冲突部分,归并功能会提示开发者选择归并内容。 2.1.4检出、检人、构建 和许多软件配置管理系统一样.ClearCase使用检出, 编辑,检入(Checkout—Edit—Checkin)模型来管理软件的 变更。由于VOB中所有的元素都是受保护,因此,当要 对某文件进行编辑时,系统指出该文件具有只读属性一这 意味着它不能被编辑或删除。当检出一个文件,ClearCase 对该文件的某个版本在用户视图创建一个可编辑的拷贝, 即检出的版本。当编辑完成后,该文件被检入(即入 库),ClearCase在VOB中创建这个文件的一个新的永久的 版本,并且自动将可编辑的拷贝删除。文件一旦被检入,立 刻恢复到只读状态成为共享数据,可被所有成员使用。 CI earCase支持基于Makefile的软件系统的构建 (Build),并提供一个类似Make的软件构建的环境。用 户可以使用ClearCase控制的文件来构建软件,并可以选择 本地的Make程序,第三方构建程序或ClearCase的构建工 具clearmake。 使用ClearCase进行构建管理,构建过程可以和传统的 方法兼容,并有许多增强。ClearCase的向上兼容构建工具 clearmake为构建提供了重要的挣眭:自动完成任务、保证 重建可靠性、视图共享和支持并行的分布式结构的构建。 clearmake通过使用当前视图的配置.可以在视图中灵活构 ClearCase中的角色一般可分为:项目经理(Project Leader),配置管理员(Configuration Manager),程序 员(Developer),集成人员(Integrator)。 首先,项目经理定义组件(component),降低构件 之间的耦台度,控制变更传播,提高可复用性。配置管 理员创建系统VOB库和组件VOB库,统一管理代码、文 档、测试用例及可执行文件。 然后,配置管理员统一为程序员来定制开发策略,并 用配置规范实现,以规定在VOB中的工作空间。创建两 个基本的视图模板:开发,集成模板和构建模板。配置管 理员还要为项目定义一个分支策略,然后提供一个标准的 配置规范来确保每个程序员工作在适当的项目分支上。 程序员在项目中工作,首先创建视图,然后改变视图 的配置规范使之与项目的配置规范相符台。下一步就是创 建,修改VOB库中的元素,进入开发视图并把它们检出。 需要保存一个文件现在状态的记录时,把它们检入。每个 程序员在自己的视图中工作,不需要了解许多ClearCase的 细节,而专注于单一的开发任务;在自己的项目分支上工 作,不影响别人也不受别人影响。如果希望从项目分支隔 离出某些短期开发结果,可在项目分支的基础上创建私有 分支,为此需要在视图的配置规范中修改规则。如果决定 将修改合并到项目中,可把私有分支台并回项目分支;如果 决定放弃修改,只需简单的不合并即可。最后应把配置规范 规则修改回标准的项目配置规范,并恢复工作到项目分支。 集成人员创建集成视图,把各项目分支进行归并,并最 终生成发行版本;然后根据需要选择相应的版本构建整个软 件产品。最后,集成人员还要为VOB库的元素打上标签, 更新程序员的开发视图 配置管理员发布组件,最终发布整 个软件产品。 2.3 ClearCase的分支与归并策略 在实际的应用中我们发现,软件配置管理效果的好 坏,很大程度上取决于分支与归并策略。分支与归并策略 的实现首先从配置规范开始,我们来看下面的配置规范的 维普资讯 http://www.cqvip.com
例子。 cleartool findmerge-fversion/main/twin/test/LATEST 例1:一个最简单的配置规范的例子。 e1eraent*CHECKEDOUT;如有检出的版本,先选中之; element*../maintenance/LATEST;否则,选中maintenance 分支的最新版本; elemerit*REL2 6;再则,选中任何分支标签为REL2.6的 版本; element*/main/LATEST;若还没有,选中主分支最新版本 c ck。u1\ (必存在); 例2:使用一mkbranch限定词自动创建一个新的bl3 bugs 分支。如果存在标签为BL2.6的版本,就在这一版本上创 建.否则就在主分支的最新版本上创建。 element*CHECKEDOUT;如有检出的版本,先选中之; element*/bl3_bugs/LATEST;否则.选中bl3_bugs分支上的 最新版本; e),ement—file*REL2.6一mkbranch b13~bugs再则,选中 任何分支标签为REL2.6的版本,在此版本上创建b13一bugs 分支; element-file /main/LATEST-mkbranch b13一bugs; 若还没有,选中主分支上的最新版本,在此版本上创建 b13一bugs分支; 例3:选中bug~fix—v1.1.1分支上最新的版本,它是 bug—fi x—v1.1分支的子分支,而bug—fix—v1.1分支是 bug_fix—v1分支的子分支: 1)element*CHECKEDOUT 2)element ../bug~fix—v 1.1 1/LATEST 3)eleHIent ./bu g-fix—v1 1/LATEST~mkbraheh bug_flx—v1.1.1 4)el em ent .../bug—fi x—vl,LATEST一121kbranch bug—fixv1.1 —5)element /main/LATEST—kbranch bug—fix— 1 如果用户检出的元素上述分支均不存在,将自动创建 层叠式的分支:在主分支的0版本上创建bug—fix—v 1分 支;在bug—fix—v1分支的0版本上创建bug—fix—v1.1分 支;在bug—fix—Y1.1分支的0版本上创建bug—fixv1 1. —1分支;最后检出bug—fix— 1 1.1分支的0版本。 由上述例子可见,配置规范中的选择条件是按顺序循 环进行的,直到选中某一版本为止。例3执行顺序如下(假 设所有分支开始均不存在):1,2,3,4,5(创建 bU g—fi x v1分支),1,2,3,4(创建b g-fi x—v1 1分支),1,2.3(创建b ug_f.x—v1.1.1分支)… 我们在实际开发中就采用了这种自动创建分支的方法, 见图1归并的命令是: r … 。 。 @ … 图1自动创建分支示意冒 3软件配置管理的现状 软件配置管理的任务和作用始终没改变过 但软件配 置管理工具近年来却有了很大的进展,利用这些工具我们 可以把抽象的概念变成实际的应用。笔者参与开发的大型 软件系统,三万多个文件,无论是源代码还是目标代码都 必须使用ClearCase进行版本控制。可 说投有ClearCase 这样的工具是不可能开发出这样的大型软件系统的。 然而,目前国内真正在使用ClearCase的企业屈指可 数。因为一个license就要几万,一些软件公司非常需要,却 无力购买。很多程序员也不愿用,一方面是重视不够,另 一方面是其复杂度。ClearCase的细节浩如烟海,尤其是管 理员,从设计网络环境,安全机制,到配置规范,元数 据(meta—data)和二次开发(主要用perll。任务非常之 多。ClearCase功能十分强大,微软的Visual Source Safe (V SS)也是一个不错的小型软件配置管理工具。 4参考文献 1 C.Burrows.G.W George.S Dart,Configumfio ̄M t.O ̄llm Ltd 1996 2STSC,SoftwareConfigurationManagementTechnologyRepor ̄ ware Technology,Support Center,Sept.1994 3 Wayne Babich,Software Configuration Management——Coordinat- i丑gfor Team Productivity 4 Rational Clea ̄asedocument rationalL旧. 2000 5 ISOtIEC 12207信息技术一软件生存期过程.1995 6ISO 90OO一3质量管理和质量保证标准第3部分一在计算机软件 开发、供应、安装和维护中的使用指南1 997 7 GBIT 11457软件工程术语1995 (收稿日期:2002—01—12、 面i 丽 卜●
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务