ClearCase具体的说是做配置管理的工具,只是SCM管理工具其中的一种。是RATIONAL公司开发的配置管理工具,类似于VSS,CVS的作用,但是功能比VSS,CVS强大的多,而且可以与WINDOWS资源管理器集成使用,并且还可以与很多开发工具集成在一起使用。但是对配置管理员的要求比较高。而且RATIONAL的产品一般都很贵。如果自己找到CRACK的话就没有技术支持了。
一、ClearCase的功能和特点
随着软件团队人员的增加,软件版本不断变化,时间的紧缺,多种平台的复杂环境,使得
ClearCase所拥有的特殊组件已成为当今软件开发人员(工程人员和管理者)所必须的工具。分布式操作使得基于Client/Server的运算结构跨越于网上客户机和服务器,ClearCase的先进功能直接解决了原来开发团队所面临的难以处理的问题。
软件开发所面临的问题包括:对当前多种产品的开发和维护,保证产品版本的精确,重建先前发布的产品,加强开发政策的统一和对特殊版本需求的处理。通过解决这些问题,ClearCase用资源重用的方法帮助开发团队使他们所有的软件建立得更加可靠。
Rational公司的ClearCase是软件配置领域的先导,它主要基于Windows和UNIX的开发环境。它提供了全面的配置管理──包括版本控制、工作空间管理、建立管理和过程控制,而且无须软件开发者改变他们现有的环境、工具和工作方式。
ClearCase的四种功能
ClearCase主要应用于复杂的产品发放、分布式团队合作、并行的开发和维护任务,包括支持当今流行软件开发环境Client/Server网络结构。在激烈的市场竞争中,ClearCase的特点直接响应了软件团队的需求,如:软件生产、发布、维护等。
ClearCase在某些方式上和其它的软件配置管理系统有所不同,从本质上,ClearCase是无可比拟的,因为它包含了一套完整的软件配置管理工具而且结构透明、界面可亲。虽然ClearCase是一个可集成使用的环境,但实际上我们仍可以把ClearCase的所有特性划分为四个具体功能范畴。
1.Version Control
ClearCase自动追踪每一个文件和目录的变更情况,通过分支和归并功能支持并行开发。在软件开发环境中,ClearCase可以对每一种对象类型(包括源代码、二进制文件、目录内容、可执行文件、文档、测试包、编译器、库文件等)实现版本控制。因而,ClearCase提供的能力远远超出资源控制,并且可以帮助团队,在开发软件时为他们所处理的每一种信息类型建立一个安全可靠的版本历史记录。
2.Workspace Management
ClearCase给每一位开发者提供了一致性、灵活性和工作空间域(有时也称为\"Sandboxes\")可重用的功能。ClearCase采用一种称为View的创新技术,它可以选择所指定任务的每一个文件或目录的适当版本,并呈现它们。View可以让开发者在资源代码共享和私有代码独立的不断变更中达到平衡,从而使他们工作更有效。
3.Build Management
ClearCase自动产生软件系统构造文档信息清单,而且可以完全、可靠的重建任何构造环境。ClearCase也可以通过共享二进制文件和并发执行多个建立脚本的方式支持有效的软件构造。
4.Process Control
ClearCase有一个灵活、强大的功能,可以明确项目设计的流程。自动的常规日志可以监控软件被谁修改、修改了什么内容以及执行政策,如:可以通过对全体人员的不同授权来阻止某些修改的发生,无论任何时刻某一事件发生应立刻通知团队成员,对开发的进程建立一个永久记录并不断维护它。
优势
ClearCase帮助所有规模的开发组织进行更加有效的开发和维护、加强竞争力、增加收益、降低成本。独特的ClearCase带来的特殊利益:
增加团队效率――通过对并行开发的支持来实现,包括图形比较和归并、标签、版本目录
结构。 [Page]
增加个人效率 ――通过自动的工作空间管理来实现,如:直接的版本访问、消除了在拷贝文件上的时间的浪费。
简单的维护和提高对客户的支持――通过快速准确的重建先前的版本来实现。
快速准确的产品发布 ――通过保证构造的准确性和对软件的每一个元件进行版本控制来实现。
减少错误发生 ――通过事件发生以后对每一个元件的变更进行追踪来实现。
硬件资源的优化 ――通过分布式构造、减少文件拷贝、可用对象的共享等功能来实现。
提高项目协调和编制 ――通过文件注释和开发周期阶段变更的自动关联来实现。
提高产品质量 ――通过灵活的进程控制,和图形接口定制,使得软件开发在实际中保持 一致。
更加有效的团队扩展――通过减少系统管理和维护的负担来实现。
支持分布式结构使得团队成长――通过Client/Server结构进行多点复制和及时的对象版本的更新来实现。
使用配置管理工具而降低风险――由于它不干扰软件程序员的工作,所以可以使用常用的工具和文件系统接口。
增加了软件的安全性和保护性 ――通过使用分布式的存储结构,所有的软件资源会随时更新、在硬盘或网络出现错误时那些被ClearCase存储的版本信息会立刻恢复。
减少培训和实现成本 ――ClearCase通过采用透明结构以及和标准开发工具进行集成来实现。
强有力的开发和维护 ――通过和其它工具(如:缺陷追踪)、系统、结构进行集成。
支持不同种类的开发 ――通过兼容不同平台的软件配置管理系统,如:Windows NT、UNIX、和一些Client端的软件,如:Windows
95、Windows NT、Windows 3.1和Windows for Workgroups。
连接UNIX 和Windows的桥梁
ClearCase全面支持软件配置管理,给那些经常跨越复杂环境(如:UNIX、Windows系统)进行复杂项目开发的团队带来巨大的效益。当UNIX和Windows的软件工程人员提出了平台的特性后,ClearCase
for UNIX和ClearCase for Windows有高度互用性。
对于它所支持的平台,ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和Windows
NT平台被共享。ClearCase for Windows NT对ClearCase UNIX VOBs的访问与浏览可以通过一个NFS
for Windows NT的产品来实现。
二、ClearCase四大功能详述
ClearCase的核心功能是版本控制,它是对在软件开发进程中一个文件或一个目录发展过程进行追踪的手段。ClearCase对所有文件系统对象(包括文件、目录和链接)增强了版本控制系统功能。可定版本的文件包括源代码、可执行文件、位图文件、需求文档、设计说明、测试计划、和一些ASCII和非ASCII文件。目录的版本记录了整个组织基础资源的发展状况,包括源文件的建立、重新命名、重新构造和删除操作等。
这种版本控制系统提供了先进的版本分支和归并功能用于支持并行开发。
控制任何文件的版本
ClearCase可以对每一个软件组件或元件的版本进行维护和控制。ClearCase也可以维护一个非文本文件、目录和工具的版本。正如:它可以管理库文件、编译器、需求文档、
测试包和数据库而不仅仅是源代码。
ClearCase的元件类型可以管理版本内容。用户可以定义自己的元件类型,也可以使用ClearCase中的预定义类型:文本文件、压缩文本文件、文件、压缩文件和二进制增量文件。
ClearCase可以利用增量算法将文本文件存储在一个特殊结构的文件容器中。ClearCase采用标准的压缩技术和增量算法存储一个压缩文本文件。(这比以往的存储形式节省了50%―70%的存储空间。)
这种元件类型文件和压缩文件可以被用于控制任何操作系统文件──比如,可执行程序、程序资源库、结构数据库和结构文档文件。二进制增量文件类型可以随时被用于二进制文件格式。
在版本树中组织元件发展的过程
在ClearCase中,元件版本的组织体现在版本树结构中。一个版本书的结构可以按目录结构定制,
还可以包含多层分支和子分支。
在一个典型的开发环境中,很多元件的版本树结构最初仅包含一个分支,即, 元件的版本排列在同一条线型队列中。随着时间的发展,当用户做一些错误修复、代码的组织、一些实验性修改或指定平台的开发时,它们可以给一些相关元件定义子分支,从而脱离主干进行开发。ClearCase可以支持多级的分支操作,还可以给版本或分支命名。
对目录和子目录进行版本控制
ClearCase可以对目录和子目录进行版本控制,允许开发者对他们数据的组织发展过程进行追踪。目录版本对一些改变进行控制,如:建立一个新文件、修改文件名、
建立新的子目录或在目录间移动文件等。
ClearCase也支持对目录自动进行比较和归并的操作。
存储数据在一个可访问的版本对象类中(VOBS)
ClearCase把所有版本控制的数据存放在一个永久、安全的存储区中,这个存储区被称为版本对象类(Version
Object Bases),项目团队(或管理者)可以决定它们所需要的VOBs的数量,可以决定什么样的目录或文件需要被维护。VOBs不仅是一个可连接的文件系统而且也是网上的资源──主机可以连接任何数量的VOBs.
ClearCase VOBs的组成模式跟UNIX、Windows NT的文件系统和分布式的数据库系统非常类似。ClearCase采用Raima数据管理机制区维护VOB数据库。当在ClearCase中连接和访问时,VOB象一个标准的软件作为目录树的形式出现在客户面前,包含标准的文件对象:目录、文件、符号链接和硬链接。但事实上,文件系统已经有广泛的版本控制组件:它包含目录元素、目录元素版本、文件元素、文件元素版本、VOB动态链接和VOB硬链接。开发者也可以查看和这些文件系统对象相关的数据。这些数据包括事件记录,建立审核以及用户定义的项如:版本标签和属性。
[Page]
使用常见的检出/编辑/检入范例
ClearCase的命令可以控制元素的变化,确保存储区有序的繁衍并使数据损坏的程度达到最小。ClearCase采用一种检出/编辑后检入的范例,类似于传统的版本控制工具如:RCS和SCCS。ClearCase除了可以进行检出、检入以及非检出操作外,它还可以通过命令设置另外的操作,如:删除版本、建立/删除分枝、可按时间顺序排列或结构排列顺序列出版本历史、比较版本间的差异,并且可以归并并行开发的版本。
当开始对于一个指定的文件进行工作时,该文件具有只读属性──这意味着它不能被编辑或删除。而检出操作可以对该文件的最近版本形成一个可编辑的拷贝。它无须将文件拷贝到另一区域工作。检出的注释可以被提供。当编辑完成后,该文件被检入,于是在版本树中形成一个新的版本并且将可编辑的拷贝删除。为了检验文件的变化,在检入过程中可以填入注释信息。文件一旦被检入,即刻回复到只读状态成为共享数据,可被所有成员使用。
ClearCase支持两种检出,保留以及非保留。保留检出可以保证版本历史形成的正确范围,并且同时只允许一个人做保留检出的操作。非保留检出无须保证建立一个成功的版本,如果多个用户同时对同一元素执行非保留检出,也企图进行检入操作,那么第一个检入操作被允许,而其他用户必须通过归并操作合并它们的结果。
丰富的注释信息和版本数据的报表
ClearCase存储了和文件系统对象相关又截然不同的信息类。这些信息实际上并不包含在对象中,它是一些额外数据。这些数据可以由ClearCase产生,也可以由用户自己定义。在VOB数据库中存储了所有的数据。
ClearCase产生的这种数据信息提供了可靠的、面向文件系统的版本注释信息。比如:这些数据可以验证在某一时刻,元素A建立了一个新的版本。用户定义的数据可以用来表达额外的功能──比如:该文件的版本曾被用于构造应用系统的4.31版。
ClearCase的操作(如:检出、检入、和版本归并)可以建立时间记录,记录数据包含这些操作信息。这些记录被存储在VOB数据库中,主要描述了该操作的属性\"谁做的、做什么、什么时候、在哪个地方及为什么\",比如:敲入命令的人员的ID号,操作的种类,操作的时间,主机名称及用户填入的描述。可以通过\"lshistory\"的命令显示存储在VOB中的事件记录,并且可以通过历史信息浏览器提供的图形接口观察VOB中的事件记录。
用户可以针对多种目的定义数据,包含分支的名称、版本标签、元素任一版本的注释信息。
ClearCase数据的另一种应用是形成注释的文本文件。注释命令可以通过行显示的形式列出任何一个版本文本文件的内容,这使得我们可以更容易的看到什么时候在不同的地方做了添加或删除的操作。
ClearCase也可以针对文件系统对象建立客户报表。而报表的种类可以由用户自己定制输出格式。
通过分支功能支持并行开发
ClearCase支持并行(同时)开发,每一个元素都可以沿着不同的分枝同时发展,即新的版本加到独立的分支上。ClearCase可以很容易的产生分支,也可以很容易的将不同分支进行合并。这样一来,即便某一部分的工作被冻结或加锁,开发者仍然可以继续自己的工作(如:在软件集成期)。在这种情况,开发者可以在分支上工作,我们知道,
ClearCase的自动化操作和图形归并工具可以让我们很容易的重新集成新的工作。 [Page]
并行开发是非常重要的,因为:
(1)它允许不同的项目在同一时间使用同一资源树。
(2)它将目前不可和其他人员共享的修改成果进行隔离。
(3)它将绝对不可和其他人员共享的修改成果进行隔离(如:已发布版本中的错误修复)。
(4)它使得在软件集成期间开发工作无需停止,程序员可以先在分枝上开发,以后再集成。
为了支持并行开发,ClearCase允许进行分支建立,追踪分支的使用,文件比较,自动归并功能。
自动的比较和版本间的归并
并行开发的特点是对同一元素的不同版本进行定期比较,也需要对版本间内容进行归并。在ClearCase中,对于元素或文本文件进行比较和归并的操作有两种:基于字符型和图形界面型。其中,diff命令执行多文件比较,不执行归并。而归并命令可以处理32个\"成员\",并把它们生成一个独立的文件。
ClearCase可以自动辨认归并选项并实现归并
ClearCase也可以对需要归并的项目元素进行定位。如果所有的\"成员\"(归并元素)是同一元素的版本,系统会自动确定基础\"成员\",通常是最低版本。此外,ClearCase会记录基础版本和某一归并元素版本间的差异。如果,所有的\"成员\"间差异互不相同,ClearCase会自动建立归并版本。如果两个或多个归并\"成员\"文件内容部分不同,归并功能会提示开发者选择归并内容。ClearCase也可以实现反向归并――从主分支向子分支归并。
ClearCase的加归并功能可以在归并其它分支时选择指定的版本(那些在分支上自始至终进行变化的版本)。负归并操作可以删除部分版本差异,从而形成一个新的版本,该版本除了那些被删除的变更外包含所有的改变。
三、ClearCase结构及设置
(一)、客户/服务器结构
ClearCase是运行在分布式Client/Server结构中的"组件"产品,。
ClearCase函数和开发数据的程序可以被分配到整个本地网络。这使得ClearCase的工作范围――从工作站上被加到网络中以便更多的开发者可共享,ClearCase的数据存储和数据处理资源的能力大大提高。
数据仓库组成如下:
永久性,共享数据存储库是一种VOB的集合。多种VOB也可以存放在同一主机中(要有充足的磁盘空间和处理资源的能力)。
开发者使用单独的(或共享的)工作区域称为视图――任何人都有一个小的私人库区域。视图的存储区域一般位于独立的工作站或PC上。主控服务器可作为为共享视图或为那些将被重建或发布应用程序建立视图。
增加灵活性,可以跨两个或更多的主机,为单独的 VOB或视图进行数据存储。
开发者使用ClearCase客户端程序访问这些数据(例如,clearmake建立工具),以及标准的操作系统工具及第三方应用程序。ClearCase服务器的程序可间接访问在VOB和视图中的数据。客户端和服务器通过使用远程调用过程(RPC)互相进行进程通讯。这使得开发者不必涉及数据存储的物理定位而进行ClearCase网络通讯;ClearCase服务器使数据完全有效。
(二)、图形用户界面
ClearCase包含传统的命令行界面和Motif及Windows点击图形用户界面(GUIs)包括任务设置GUI组件。UNIX和Windows
NT的ClearCase的GUIs提供下拉和弹出菜单,工具条,context-sensitive帮助显示来简化公共用户级的命令。另外,界面包含文件浏览器,视图,VOB,版本树,超级联接,可选择的数据,及更多的可以简化在ClearCase中的公共数据对象的查询和选择。
GUI也提供直观比较和归并功能,用高亮度颜色来描述插入,删除,修改。GUI可以通过扩展脚本语言被定制,使用户能创建自己的按钮,工具条,和多水平菜单。定制的组织政策和脚本能在GUI中被访问,而且外部命令也能与GUI进行集成。
另外,ClearCase具有图形事件和属性显示的功能。事件显示可提供相关ClearCase控制元素的历史记录信息,可以被定制成当前全部元素的历史。关于当前元素或设置版本的属性信息,使用制表键显示命令信息,标签,属性,超级联接,触发器,安全性,加锁。
(三)、ClearCase for Windows NT
ClearCase for Windows NT包含附加的GUI功能可以增强NT
4.0用户界面的功能。ClearCase扩展的context-sensitive菜单的使用提供给用户快速访问公共ClearCase操作和工具。
(四)、Windows资源管理器的集成
ClearCase for Windows NT包含和Windows资源管理器的集成,使得公共的ClearCase操作对于用户简单有效。此集成允许用户打开视图,mount
VOB,检出/入元素,激活版本树浏览器,检查元素历史和属性,寻找检出元素,比较新老版本,及激活ClearCase详细应用,在线帮助也包括在内。
(五)、ClearCase Details工具
ClearCase Details工具显示与ClearCase相关连的文件和目录的信息,比如检出状态,用户视图选择的元素版本,及用户选择的版本的配置设置。ClearCase
Details工具允许用户去修改显示的属性,访问到其他目录,去调用更多的ClearCase命令和工具。
(六)、视图描述工具
ClearCase视图描述工具打包了被开发团队共享的ClearCase配置信息。视图描述包含以下信息:
选择版本属性到团队工作的配置设置。
识别团队基线的检查标签列表。
团队计划工作的VOB。
团队正在使用的系统管理的VOB。
一队并行工作的开发者可以在ClearCase视图描述上奠定他们的视图。在这种自动格式大部分工作需要设置和保持团队共享的ClearCase配置。
视图描述浏览器允许项目管理者创建和修改ClearCase视图描述。视图创建程序提示用户通过需求来创建视图,并且也可以让用户基于存在的视图描述中选择视图。
(七)、归并管理器
归并管理器是管理归并元素过程的图形工具。他自动为归并、开始归并,及跟踪归并收集信息。他同时可以结合使用ClearCase
Diff归并工具来比较版本并完成归并操作。
(八)、与Visual C++和Visual Basic的集成
在Windows NT中,ClearCase支持Microsoft公共源代码控制(SCC)接口配置,支持在Visual
C++,Visual Basic工具和源代码控制工具之间关联的-API。ClearCase函数被映射到SCC接口,提供从Visual
C++和Visual Basic的IDE到ClearCase的直接访问,使用标准(微软)SCC对话框。
在Visual C++中,用户能访问公共ClearCase操作,包括:增加新文件到源控制;检出/入文件和激活ClearCase历史和属性的显示。
类似地,从Visaul Basic IDE中用户可以开始视图;mount
VOBs;增加Visual Basic项目到ClearCase;增加新文件;检入/出;激活ClearCase历史和属性的显示。
(九)、系统管理员
ClearCase包含一套工具,命令,和GUI应用以便建立、扩展及管理VOB,视图,和跨越站点的策略。系统管理员能管理物理磁盘存储,网络间的系统转换,确信VOB保密性,管理用户的License,限制对软件元素的访问。状况和错误记录信息被送入记录浏览器。必要的系统管理信息和命令在VOB属性框架中,其他context-sensitive菜单,和在ClearVobAdmintool(UNIX)中被设置。管理员使用他们现有的备份工具备份ClearCase
VOB。
(十)、视图和VOB的储存注册
在每天的工作中,一般地,ClearCase用户会涉及配置VOB和视图使用名称("tags")。例如,项目团队可以在mount为"/vobs/gui"(UNIX)或"vobsgui"(Windows
NT)的VOB中使用共享的"bug_fix"视图来访问项目。系统管理员通过ClearCase储存注册管理这些相应的视图和VOB库区域中完整的名称和物理定位(路径名称)。储存注册是广域网资源,定位在指定的服务器主机中,他映射一般使用的视图和VOB名称到属性存储区。系统管理员能定义多个网络区,在客户端使用不同?quot;完整"路径名来访问相同的储存目录。它可以登记结构以便支持(比如)不同主机空间的多个子网。
|