Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184518
  • 博文数量: 116
  • 博客积分: 1845
  • 博客等级: 上尉
  • 技术积分: 1292
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-18 19:53
文章分类

全部博文(116)

文章存档

2014年(25)

2013年(1)

2012年(2)

2011年(20)

2010年(43)

2009年(17)

2008年(8)

我的朋友

分类: LINUX

2008-06-18 21:22:30

ClearCase是一种配置管理工具,由Rational公司研发,是研发小组用来跟踪、管理软件研发过程各个工件的配置管理系统, ClearCase能够协助研发组织更好地管理软件研发进程。

  ClearCase能够和Rational公司的其他软件紧密结合,例如UCM、ClearQuest等等。

  ClearCase包括两套:ClearCase LT和ClearCase (MultiSite)。前者能够用于在同一个局域网的研发小组,适合于中小型研发组织;ClearCase (MultiSite)则适应于分布于不同地理位置、不同局域网的研发小组,适合于大型的研发组织。

  因此,一般的公司使用ClearCase LT就足够了。

  注:在后续文章中,经常将ClearCase简称为CC。

  ClearCase LT工作原理

  系统组成

  ClearCase LT由ClearCase LT Server和ClearCase LT Client两个部分组成,其中服务器部分负责数据的集中管理;客户端部分则安装在各个需要使用ClearCase服务的机器上,连同主要研发人员的电脑上,属于典型的Client/Server结构。

  ClearCase LT Server采用VOB(Versioned Object Base)存储配置管理数据,用户通过视图(VIEW)的方式获取VOB中存储的数据;UCM方式(参见“项目管理”部分)中,主要通过Stream(流)和Activity(活动)管理项目。

  VOB、VIEW

  VOB是ClearCase存储软件系统各个组成元素的任何版本数据的仓库,一个版本是其中包含的特定文档或目录;VIEW则是通过一定的规则选择出来的各个元素特定版本的集合,用户通过VIEW存取、修改各个元素。

  VOB和VIEW的关系如下图所示:

  

  视图有两种类型:快照视图(snapshot view)及动态视图(dynamic view)。

  快照视图,是将CC服务器中的视图内容拷贝到研发人员的机器中,研发人员需要经常和服务器同步以保持数据的一致性,快照视图的好处在于研发人员不必一直通过网络和CC服务器保持连接;动态视图则是动态的将CC服务器中的内容同步到研发人员的机器中,这就需要研发人员一直保持和服务器的网络连接。一般来讲,由管理员决定选用哪种视图。

  研发人员的研发涉及到两个视图:研发视图和集成视图。假如用户的名字为pat,参和的项目叫做test,那么两个视图缺省的名字为pat_test和pat_test_integration。

  研发视图用于研发人员的研发过程,研发人员在研发视图中完成软件的研发、修改、提交等工作;集成视图的作用是存放研发人员完成的工作,使得研发人员能够通过该视图中的内容对其研发进行验证。

  CHECK-IN & CHECK-OUT

  像其他配置管理工具相同,ClearCase LT通过Check-in和Check-out的方式实现配置管理。Check-out一个文档时,ClearCase就会在视图中创建该文档的一个可编辑的版本,能够对该文档进行修改;Check-in一个文档时,ClearCase就在VOB中创建该文档的一个新的永久的版本,本地视图中对应的文档就会变成只读属性,无法修改。

  基线(Baseline)

  在软件研发过程中,能够将各个元素的不同的版本组合成一个基线。通过基线表示软件项目研发达到了一定的需要,也能够说是里程碑。

  项目管理员能够根据情况配置相应的基线,并随着项目的发展逐步配置新的基线。

  

  活动(Activity)

  活动是研发者为完成、提交一项研发任务而创建的,是用来记录研发者创建或修改的文档集合(变化集合)的对象,例如下图所示的修改BUG。一个活动包含一个组件(Component)两个或多个元件(Element)的多个版本。

  活动是UCM的基本对象。

  

  上图表明活动Fixing bug(排错) 2144包含foo.c和bar.c。

  通过活动,研发者能够一次完成对多个文档的操作,而不必一一处理,能够极大地提高工作效率。

  流(Stream)

  流记录了在项目的私有工作区和共享工作区中的任何活动历史。流同时也定义了研发者通过私有工作区能够存取相应元件(例如文档foo.c)的哪个版本。

  下图表示了一个流:

  

  装ClearCase LT Server

  安装ClearCase LT Server的步骤参见后续章节的ClearCase安装部分。

  安装完毕ClearCase LT Server以后,需要进行一些配置,主要是数据的准备、环境变量配置、权限配置等。

  生成基础VOB

  ClearCase 服务器安装完毕之后,会自动启动ClearCase 服务器配置向导,配置初始的VOB。

  也可在以后单独运行该向导。

  假如需要额外的VOB数据,需要通过ClearCase 管理控制台(Administration Console)完成。

  配置环境变量

  由于Windows NT/2000中的BUG,ClearCase要正常完成授权管理,必须配置环境变量:

  a.打开控制面板,选择"系统"进入"系统特性"配置

  b.选择"高级"页面,点击"环境变量"按钮,进入环境变量配置。在"用户变量"一栏中点击"新建"按钮,输入变量名称:CLEARCASE_PRIMARY_GROUP 变量值配置为将要访问ClearCase的用户组,例如CLEARCASE_USERS,表示CLEARCASE_USERS组能够访问ClearCase。(在安装ClearCase Client的Windows 2000/NT的机器里面也必须配置CLEARCASE_PRIMARY_GROUP,方法参照b;Windows98需要在autoexec.bat文档里面配置该环境变量)

  权限管理

  权限管理在ClearCase的使用管理中十分重要,必须正确配置权限,才能正常使用ClearCase的各种功能。

  · ClearCase LT 服务器端的权限配置

  ClearCase通过Windows提供的用户组(或UNIX用户组)实现用户登录管理,因此必须配置相应的能够访问ClearCase功能的用户组。

  以上一节提供的数据为例,ClearCase管理员需要在ClearCase服务器上生成一个用户组CLEARCASE_USERS,然后产生要使用ClearCase进行软件研发的用户账号,并且将这些账号指定到CLEARCASE_USERS组。

  注意:指定的用户组名称必须和前面配置的环境变量CLEARCASE_PRIMARY_GROUP中的名字相同!

  · ClearCase 客户的配置

  ClearCase客户端必须采用在服务器中提供的账户,登录到服务器域,才能使用ClearCase。

  · 其他事项

  假如碰到问题,能够使用ClearCase提供的“Rational ClearCase LT Doctor”检查问题所在,然后根据他提供的方法解决问题。

  该工具在ClearCase LT 服务器和客户端都有。

  ClearCase Client安装、配置

  · 配置License Server(许可服务器)

  运行ClearCase安装程式,根据提示逐步进行,到达如下画面:

  

  点击按钮"Configure Licenses…"(配置许可):

  

  点击按钮"下一步(N) >":

  在弹出的新的对话框中继续点击按钮"下一步(N) >":

  

  在Server Name(服务器名称)中输入认证服务器的名称或IP地址,如上图为192.168.0.12,然后点击按钮"完成"。

  假如配置正确,将会弹出如下窗口:

  

  关闭Rational License Key Administrator(Rational许可密钥管理器),这时,安装界面变成了如下形式:

  

  能够看出,Rational ClearCase LT Client和Rational ClearCase LT Server前面出现了绿色的"√"。

  安装ClearCase LT软件

  要安装ClearCase LT Server,则使用鼠标选中"Rational ClearCase LT Server",然后点击按钮"下一步",开始安装Server。

  要安装ClearCase LT Client,则使用鼠标选中"Rational ClearCase LT Client",然后点击按钮"下一步",开始安装Client软件。

  根据提示,继续安装,就能够完成Server或是Client的安装。

  ClientCase 客户端配置

  安装完毕客户端软件后,需要对客户端系统进行一些配置。

  首先配置用户组,具体方法参照3.3配置环境变量。对于Windows 98中配置环境变量的方法,请自行参考相应的文档。

  其次配置网络属性,配置客户机的网络ID连同登陆的域。注意:需要在域中填写ClearCase LT Server所在电脑的域名称。

  在Windows 2000中,通过控制面板打开"系统"功能,进入"网络标识"页面,点击"属性"按钮,配置电脑名称和所属的域。

  用户每次登录电脑时,必须选择登录到域。输入在ClearCase LT Server电脑上的用户名称和密码,这样才能使用ClearCase提供的服务。

  项目管理

  使用CC进行项目管理,能够采用两种方式:Base ClearCase方式和UCM(Unified Change Management)方式。

  Base ClearCase方式是基于文档的管理方式,UCM方式则主要采用Activity方式进行项目管理。和Base ClearCase方式相比,UCM方式具备以下一些长处:

  · UCM比Base ClearCase更加有效

  · UCM使用Stream方式管理项目,比Base ClearCase采用Branch方式管理项目的方式减少了配置工作

  · UCM方式对基线的管理更加自动化并提供了附加的执行操作

  · UCM方式使用活动管理项目,更加简单,并提供了和ClearQuest工具集成的功能

  · UCM方式更加有利于并行研发模式

  下面对项目管理的讨论主要基于UCM方式。

  UCM基础

  项目管理周期

  

  UCM方式采用一种迭代研发过程,研发人员在同一个UCM项目中工作。

  项目管理者负责创建项目,维护项目公共区域。

  一个项目包括了公共区域和多个私有工作区域,私有工作区域允许研发人员在活动上各自单独地进行工作。

  工作过程如下:

  · 项目管理者创建项目并且为项目中的元件确定初始基线集合;

  · 研发人员通过创建私有工作区域、获取项目基线内容,加入该项目;

  · 研发人员创建活动并且一次在一个活动上工作,和活动相关的文档集合称为变化集;

  · 当研发人员完成活动,并且在其私有工作区对其工作进行了测试后,通过执行交付将其工作和研发组共享。交付操作将研发者私有区域中的工作合并到项目共享区域。

  · 项目管理者在项目共享区域集成研发人员交付的工作。

  · 项目管理者定期在项目共享域创建新的基线,用来集成研发人员的工作。

  · 项目管理者执行快速验证测试,以确保新的基线能够正常工作。软件质量工程师将执行更多的扩展测试。

  · 项目管理者定期在基线的质量和稳定性提高后调整极限的晋升级别(如:创建、测试、发布)以反映适当的里程碑。当新的基线经过了足够的测试,项目管理者能够将其指定为推荐基线。

  · 研发者执行rebase操作来修改其私有工作区,使其包含新的推荐基线所确定的新版本集。

  · 研发者继续如下的研发循环:基于活动进行研发工作、发布完成的活动、根据新基线修改其私有工作区域。

  上述的任务能够分为两个循环:项目管理和研发

  

  创建项目

  

  创建并配置一个项目,需要按照以下步骤进行:

  · 创建存放项目信息的仓库

  · 创建包含研发者使用的文档集组件

  · 创建基线,以便研发人员能够确定开始其工作的文档版本

  · 选择希望采取的研发策略

  注意:创建新的项目应当以安装CC时使用的用户登录,其他用户才能正常使用该项目。

  创建步骤:

  a.使用安装了CC LT Server的电脑,运行其中的"Rational ClearCase LT Administration Console",加入保存新的项目数据所需要的VOB。

  

  在此创建的VOB为TEST(具体是否创建VOB根据实际需求而定)。

  b.打开运行Rational ClearCase程式组中的"Rational ClearCase LT Project Explorer",进入项目浏览器:

  

  按照上图,创建新的项目,根据提示操作,选择缺省的选项,一直到第三步:New Project - Step 3

  c.添加项目使用的基线

  

  点击"Add"按钮:

  

  从组件列表中选择指定的组件(component),在此,选择刚刚创建的组件TEST,然后基线列表中出现了和组件相关的基线,选择一个基线,新的组件只有一个基线:xxxx_INITIAL,此处选择的是TEST_INITIAL基线。点击OK:

  

  这样,就为将要创建的项目选择了初始基线,点击下一步,进入步骤四。

  d.配置可修改组件、调整项目策略

  

  选择项目中需要修改的组件,在此选择TEST,实际应用中需要根据实际情况做出选择。

  点击按钮"Policies",调整项目的策略:

  

  具体的项目策略应当根据实际情况进行调整,一般是将"For All deliveries"策略配置为Enabled.

  e.继续选择缺省的配置,完成项目的创建。这样就生成了一个以缺省VOB为基础的新项目,新项目生成一个缺省的Integration_Stream:testa_Integration(这里假定刚刚生成的新项目名称为testa)

  通知研发组成员加入新的项目

  创建了新项目后,需要通知、指导研发人员加入到新创建的项目中,具体的方法参见研发部分。

  管理项目

  当通知研发人员加入到新项目研发中后,项目管理员的职责就是不断监控项目研发的进展情况,对不同研发者提交的源代码进行相应的管理、验证工作;在研发进展到一定程度后,为项目生成新的基线;指定新的推荐基线,直到项目研发完毕。(参见UCM基础部分)

  · 生成新的基线

  管理员需要根据研发人员的研发情况,经常针对当前研发生成新的基线,以便更好的保存项目的研发过程。

  操作过程如下:

  (1)启动" Rational ClearCase LT Project Explorer",选择当前的项目,选中项目的集成视图,点击鼠标右键,选择"Properties"功能,修改属性:进入Lock页面,将状态改为Locked。锁定Integration Stream,防止用户提交新的数据。

  (2)选中项目的集成视图,点击鼠标右键,选择"make baseline…"功能,如下图所示:

  

  

  在弹出的"make baseline"对话框中,输入基线的名称、描述、类型,并且在"View Context"中选择对应的集成视图。上图中选择的是递增类型视图、以jim_testa_integration视图为基础。

  (3)按照(1)中的方法,将Integration Stream的状态改为Unlocked。

  · 管理基线

  在项目研发过程中会产生许多的基线,管理员需要根据项目研发的进展来管理基线,例如改变基线的属性、提升基线等。

  下面举例说明如何提升基线,这主要涉及到修改基线的属性。(能够在多个地方修改基线的属性,下面只是其中的一种)

  a.进入Integration Stream属性功能

  

  b.选择基线

  

  按照上图中的1、2、3、4的步骤进入基线属性功能。

  c.调整基线属性

  

  在晋升(promotion)下拉框中,列出了缺省的晋升级别,根据当前项目的进展情况选择一个,然后点击"确定"按钮。

  REJECTED表示该基线所代表的内容被拒绝接受;INITIAL表示该基线为初始基线;BUILT表示该基线的内容已创建成应用程式;TESTED表示该基线已被测试过;RELEASED表示该基线已发布。

  · 指定推荐基线

  在一个研发团队并行研发项目的过程中,很可能出现各个研发人员修改不同步的情况,有时会导致对同一个文档出现不同的版本,这就需要管理员对此进行跟踪管理,采用的主要手段是推荐基线。

  采用推荐基线就是需要各个研发人员将他的研发视图中的内容和基线所代表的内容保持一致,以避免冲突。

  对于各个研发人员提交的研发数据,管理人员进行审查、测试,创建基线,当提交的代码已达到一定的稳定程度或是一定规模后,管理人员可能认为需要让任何的研发人员和当前的代码保持一致,他就能够将认为可行的基线配置为推荐基线,然后需要各个研发人员rebase他们的研发视图和该推荐基线中的内容保持一致,然后再在此基础上继续研发。

  在一个项目的研发过程中,管理员不断的生成新的基线,根据实际情况变动推荐基线,以确保各研发人员工作的一致性。

  操作方法如下:(多种方式中的一种)

  

  

  管理员能够根据实际情况添加、删除或改变当前的基线。

  完成配置新的推荐基线后,需要通知各个研发人员rebase他们的研发视图,以便和推荐基线的内容保持一致。

阅读(844) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-08-05 13:18:42

SAP99,支持下,也欢迎访问我的博客, SAP资料多多 http://sap99.cublog.cn http://www.sap99.com SAP实施顾问宝典 :http://www.sap99.com/Soft/VIP/200803/182.html