UML软件工程组织

ClearCase远程客户端实现功能详述(一)
作者:李小朝,慕容雪 IBM

ClearCase Remote Client可以实现大部分ClearCase客户端的功能,在本文第一部分中,您可以了解到UCM ClearCase与ClearQuest集成环境的配置以及为下一篇要谈到的在该集成环境下CCRC为用户提供的简单的操作程序和高效的管理流程做了环境上的准备;第二部分表述了CCRC中ClearCase版本树的应用,用户如何通过CCRC来查看ClearCase的版本树并进行简单的ClearCase操作。
1.配置管理工具ClearCase与缺陷管理工具ClearQuest的集成

1.1 集成概述

使用ClearQuest作为缺陷管理工具,并将ClearCase和ClearQuest进行集成,从而将变更请求和配置管理对象有机的联系到一起。这样所有的Activity可以通过ClearQuest获得。用户可直接管理需修改的程序模块,掌握软件变更状况。CC与CQ集成后,可以提供给用户软件某一版本曾经完成哪些变更的信息;某一个的功能增加共修改了哪些模块;在变更频繁的环境下,可以管理、跟踪及恢复任何的变更;查询变更需求实际修改了哪些程序模块;

1.2 集成分类

ClearQuest和ClearCase集成,主要的集成方式有以下两种:

1) ClearQuest与Base ClearCase集成

集成是通过将ClearCase的版本对象库(VOB)与ClearQuest的数据库相关联来实现的,集成后开发人员在修改代码(Check Out)时会自动弹出ClearQuest的变更请求列表,并强制开发人员将此次修改与特定的变更请求相关联。这样一来,开发人员在代码提交时可以清楚的知道哪些修改过的代码是对应哪些任务的,集成人员可以准确的了解到某次建立到底集成进来哪些变更请求。项目经理可以轻松的定位变更请求和哪些改动相关。

2) ClearQuest与UCM ClearCase集成

此种集成方式与上一种集成方式从实现机制上没有本质的区别,但从功能上二者的集成更加紧密,且很多功能更加自动化。如开发人员在提交代码时系统会自动检测出此次需要提交的变更请求,待开发人员确认后系统会自动对代码进行归并。总而言之,UCM对于开发人员来讲使用非常简便且不要出错,对于集成人员来讲,由于UCM采用组建式管理,使得系统架构更加清晰,集成工作更加快捷。对于项目经理来讲UCM为团队提供了一套完整且高效的变更管理流程。

ClearCase Remote Client可以实现大部分ClearCase客户端的功能,在本文第一部分中,您可以了解到UCM ClearCase与ClearQuest集成环境的配置以及为下一篇要谈到的在该集成环境下CCRC为用户提供的简单的操作程序和高效的管理流程做了环境上的准备;第二部分表述了CCRC中ClearCase版本树的应用,用户如何通过CCRC来查看ClearCase的版本树并进行简单的ClearCase操作。
1.配置管理工具ClearCase与缺陷管理工具ClearQuest的集成

1.1 集成概述

使用ClearQuest作为缺陷管理工具,并将ClearCase和ClearQuest进行集成,从而将变更请求和配置管理对象有机的联系到一起。这样所有的Activity可以通过ClearQuest获得。用户可直接管理需修改的程序模块,掌握软件变更状况。CC与CQ集成后,可以提供给用户软件某一版本曾经完成哪些变更的信息;某一个的功能增加共修改了哪些模块;在变更频繁的环境下,可以管理、跟踪及恢复任何的变更;查询变更需求实际修改了哪些程序模块;

1.2 集成分类

ClearQuest和ClearCase集成,主要的集成方式有以下两种:

1) ClearQuest与Base ClearCase集成

集成是通过将ClearCase的版本对象库(VOB)与ClearQuest的数据库相关联来实现的,集成后开发人员在修改代码(Check Out)时会自动弹出ClearQuest的变更请求列表,并强制开发人员将此次修改与特定的变更请求相关联。这样一来,开发人员在代码提交时可以清楚的知道哪些修改过的代码是对应哪些任务的,集成人员可以准确的了解到某次建立到底集成进来哪些变更请求。项目经理可以轻松的定位变更请求和哪些改动相关。

2) ClearQuest与UCM ClearCase集成

此种集成方式与上一种集成方式从实现机制上没有本质的区别,但从功能上二者的集成更加紧密,且很多功能更加自动化。如开发人员在提交代码时系统会自动检测出此次需要提交的变更请求,待开发人员确认后系统会自动对代码进行归并。总而言之,UCM对于开发人员来讲使用非常简便且不要出错,对于集成人员来讲,由于UCM采用组建式管理,使得系统架构更加清晰,集成工作更加快捷。对于项目经理来讲UCM为团队提供了一套完整且高效的变更管理流程。


回页首

2.CCRC 对ClearQuest与UCM ClearCase集成的支持

2.1 ClearCase远程客户端软件增强性的功能概述

新版本的CCRC对集成了ClearQuest的环境支持程度大大提高,本文介绍的特点与功能都是针对最新ClearCase版本上,ClearCase远程客户端所能实现的所有功能而言。读者可能因为自己的ClearCase版本的不够新而与本文所述部分内容不符。希望本文对ClearCase这些新特点,新功能的介绍,对您将来的工作与应用起到一点帮助。

一个关联了CQ的CCRC 服务器,表示该服务器上有一个或多个项目,建立了与ClearQuest之间的关联关系。当一个CCRC客户端连接到该服务器上并加入该关联项目,那么有关于该项目的所有活动与变更将被ClearQuest来进行存储和管理。

2.2 CCRC Server的两种配置模式及其模式特点

2.2.1 集成了ClearQuest的服务器(非Web)

该集成模式是CCRC较早些版本中能够实现的功能。在这种模式下,ClearQuest主要通过以下行为来管理所有的活动和变更请求。

  • 在客户端进行检入,检出或加入资源管理的动作时,用户点击了Browser按钮,随之显示的是属于该用户的所有ClearQuest活动记录列表;
  • 在用户选择了其中一个活动作为当前工作活动,则该活动在ClearQuest的状态自动转化为"Active"状态;同时,该活动与ClearCase的一个UCM活动建立关联关系。
  • 在ClearQuest中活动的转化过程,如果有某些必须的域内容缺失,那么自动转换过程不会成功结束,用户会收到错误提示,并且该转化过程被中断;为了完成该转化,用户需要从ClearQuest客户端登陆进CQ,找到该活动记录,补上所缺域内容并保存修改记录。再次进行活动转化,此时可以成功完成。
  • 对于建立了与CQ关联的项目,用户可以定制该项目的集成规则,如下图所示:如果选择了"Transition to Complete after Delivery",那么在用户结束"交付"动作时,CQ会自动将与该"交付"动作关联的CQ活动状态标志为"完成";
  • 如果用户定制了"Transitioned to COMPLETE after Changing Activity",显然,用户在完成一个活动后,会在CQ中被标志为"完成"状态;

CQ配置项,如下图所示:

非Web集成模式的图示如下:

2.2.2 集成了ClearQuest Web的服务器

CCRC新版本增加了对CQ Web的支持,使得CCRC客户端更具有易用性和灵活性。对于用户来说,更能方便的操作和使用ClearCase。

  • 与集成非Web模式相比而言最大的区别就是:在非Web模式的某些活动因为某些强制填充域内容缺失,而被终止的情况下,换作Web模式,该活动可以继续。解决方法就是,在自动转换过程中,调用系统的浏览器,用当前的用户登陆到服务器的cqweb上,以Web形式打开CQ管理的,与当前行为关联的那个活动记录;为用户提供这样一个便捷的方法来补足那些缺失内容的域,进而完成当前行为。特别的,缺失内容的域名称会用鲜明的红色来标示,指引用户能够快速而准确的补充所需内容。

Web集成模式的图示如下:

3.集成了CQ的CCRC服务器的配置

根据实际的不同情况,CCRC客户端,CCRC服务器,CQ服务器,CQWeb和CQ Web Application在各个机器上的部署情况是多种多样的,关于CCRC服务器的部署,在本文中暂不作详细介绍。在这个例子中,我们以Web模式的一个配置为例:

CCRC 服务器/ CQ服务器:linux

CCRC 客户端:windows

准备工作:

  • 在Linux平台上安装CC,CQ 产品,其中需要强调的必须安装的组件:CC Web 组件;因为要配置集成CQ Web的模式,还需要再安装CQ Web Application.
  • 在windows平台安装CCRC 客户端,另外需要安装ClearQuest。这是因为Linux平台不支持cq maintenance和cq designer工具的GUI界面。当用户需要定制自己的defect表单,需要一台安装了CQ 的windows平台来做这些工作。
  • 在CQ后台数据库中创建至少2个数据库实例,用作CQ的用户数据库和模式数据库。

3.1 配置Web参数

Web模式的关键在于CCRC服务器上ccweb.conf文件,该文件体现了CCRC和CQWeb之间的集成关系。在CCRC服务器<CCHome>\config\ccweb\目录下,将ccweb.conf文件拷贝至<CCHome>\var\config (Windows) 或/var/adm/rational/clearcase/config (Unix),所做的编辑工作都在这个拷贝副本上进行。

-cqweb_url参数。 该参数是否设置决定了集成是web还是非web模式。该参数指向的地址为CQWeb App所在位置。具体形式:http://<cqweb server>/cqweb

-cqweb_browser_timeout: 该参数表示客户端如果一直不关掉浏览器窗口,CCRC服务器的等待时间。该参数的默认值为30分钟。

-cqweb_autologin: 表示每次打开CQ Web是否为用户自动登录。默认值为true,会自动为用户登录CQ.用户也可以改为false,以增强安全级别。

3.2 在windows平台创建CQ模式库和用户数据库

打开CQ Maintenance工具,选择"模式库-〉创建",为该模式库命名;

选择数据库类型,依次填入服务器,数据库,用户名,密码,连接选项;这些项目的具体含义这里就不赘述,可以参考CQ用户使用手册来获得相关信息。

模式库成功创建后,如图所示:

接着,打开CQ Designer工具,来编辑模式文档。举例来说,我们选择"记录类型-〉Defect-〉字段",添加一个SHORT_STRING类型的字段,命名为"SQUIDWARD"。在"记录类型-〉Defect->状态和操作-〉行为"中,将该字段的"opened"属性设置为"Mandatory"参数。打开"表单-〉Defect_Base"一项,通过添加选项卡,将我们创建的"SQUIDWARD"域拖入该选项卡。至此,模式的简单编辑就算完成了。将该模式检入并基于此模式,生成一个用户数据库。

3.3 在CQ 服务器上创建连接到该模式库的数据库集和连接

执行此步骤的意义在于,令ClearCase服务器上的项目能够找到所要集成的ClearQuest数据库信息。

在Linux平台上,ClearQuest的安装目录下,执行clearquest命令,启动clearquest GUI.

打开"文件-〉数据库-〉管理连接",选择"添加数据库集",相当于把在windows上创建模式库的过程重复了一遍,模式库的名字可以重新命名,它只是一个在CCRC上对CQ 数据库注册的一个标示。添加成功后的数据库集显示在"可用的数据库集"一栏中,这还不够,还需要创建一个连接来登录该数据库,选"添加连接…."按钮。在弹出的对话框中,输入一个登录该数据库的用户名,该名称将被用于以后在集成环境中,再次登陆CQ数据库的登录名称。下图表示在Linux服务器上创建好了的数据库集与连接列表。可以创建多个数据库集,每个数据库集可以对应多个以不同用户登录的连接。

 

 

 

3.4 在CCRC 服务器上实现CQ与UCM ClearCase的集成设置

前面的环境都搭建成功的话,这一步可以说水到渠成,非常容易。将CC的项目与CQ集成,既可以在创建项目初期,也可以对一个既有项目进行集成配置。

  • 新建项目时,与CQ进行集成。创建项目的最后一步,将默认选项改为yes, 在CCRC服务器上注册的CQ 数据库信息将被搜索到并显示在下拉列表中。该信息的物理存储位置在<CQ_Home>/CQDB_rgys/目录下,当在CCRC服务器上生成一个数据库模式,就会在该目录下添加一条记录信息。

  • 对一个已有项目进行与CQ的集成打开CC Projects Explorer,选择要集成的项目,右键单击,选择"属性",打开ClearQuest页,勾上"Project is ClearQuest-enabled"选项,选择需要的CQ连接就可以了。

到这里,Web集成模式环境搭建已经完成。在下一篇,我们将详细介绍CCRC客户端在集成环境下如何进行版本控制;如何通过CQ的定制来实现活动状态自动转化;如何真正实现高效的变更管理流程。

4.版本树的简单介绍

1 版本树的简单介绍

基于CCRC的版本树和普通CC的版本树基本是相同的。都是将一个元素的版本用节点来表示,逻辑有序的排列起来,形成一个树状结构。版本树中不但可以显示版本、分支的信息,而且可以进行简单的CC操作。

1.1 节点

在版本树中,一个元素的分支和版本被显示成连接的节点。版本树的节点分为两种,一种是分支节点;一种是版本节点。每个版本节点上,会显示版本号,节点的旁边会显示于此版本相应的一些信息,例如:关联的活动名称,标签名称。

1.2 快速详细信息

版本树提供了一个显示一个节点详细信息的功能,即所谓的快速详细信息。打开版本树,右键单击一个节点,选择快速详细信息功能,可以打开快速详细信息窗口。快速详细信息窗口中显示的信息包括:

  • 分支/版本名称
  • 创建者
  • 创建时间
  • 分支状态(锁定/未锁定)

按下拴牢窗口按钮后,窗口会根据鼠标的选择,显示当前选择对象的详细信息。

2. 打开版本树的几个途径

版本树可以在任何一个包含CC控制的资源的Eclipse场景中打开。

2.1 在CC详细信息视图中

右键单击一个元素,选择工具->显示版本树。

2.2 从其他场景的小组集成菜单打开

选择一个元素,右键单击,小组->显示版本树.

2.3 从历史视图中打开

选择一个元素,打开它的历史视图。右键单击一行,选择显示版本树。

2.4 从CC导航器视图中打开

右键单击一个元素,选择工具->显示版本树。

3. CCRC版本树提供的各项功能

3.1 展开/收缩整个版本树

在实际的使用过程中,有可能版本树庞大。在这种情况下,可以选择显示部分版本树,在需要的时候也可以显示整个版本树。单击菜单栏上的按钮,可以展开/收缩版本树。

3.2 刷新版本树

当一个元素被修改而导致版本树发生了改变,点击刷新按钮,可以显示最新的更改。

3.3 显示/隐藏不感兴趣,合并箭头,废弃分支

所谓的感兴趣版本是至少满足下面几个条件中的一个条件的版本:

  • 带标签的版本
  • 构成当前版本的历史版本
  • 合并箭头的终点
  • 检出版本
  • 某个视图选择的版本

点击菜单栏上的显示隐藏不感兴趣版本按钮,可以显示隐藏不感兴趣的版本。一般情况下是一个分支的0版本。

点击菜单栏的隐藏合并箭头,可以显示/隐藏合并箭头。

在实际使用CC的过程中,有些分支会被废弃。对于废弃的分支,会有一个标志出现在分支节点的旁边。点击隐藏废弃的分支按钮,可以显示/隐藏这些废弃的分支。

3.4 菜单按钮

点击菜单栏的最右边有向下的箭头,点击这个按钮,所有菜单栏上提供的功能,在这里都可以看到。

3.5 放大、缩小版本树

为了方便的查看版本树,CCRC提供了放大/缩小版本树的功能,点击放大/缩小按钮,可以放大/缩小版本树。

3.6 查找特定版本

在实际的使用过程中,如果版本树过于庞大,则查找某个特定的版本困难。这时查找功能就会显示它的作用。

查找功能分两种:

  • 查找当前视图选定的版本。
  • 查找包含特定文本的对象,对象包括分支、标签、活动、版本。

查找的时候可以选择向前或者向后查找。

如果查找到相应的节点,则此版本就会显示在视图的可视范围当中,并且闪烁三次,节点旁边有一个箭头指示。

3.7 显示/隐藏分支前趋

有时候用户只对某个特定分支的版本有兴趣,这时候用户可以右键单击某个分支节点,选择隐藏分支前趋,则版本树就只显示这个特定分支。

如果需要打开分支前趋,则双击分支最上边的小图标,即可以打开这个分支的前趋。

3.8 未提取版本标记

如果一个版本树有多个分支,则默认只显示当前view选择版本所在的分支,其他分支会用一个标记来显示。如果需要显示其他分支,则双击此标记,就可以打开其它未提取的分支。

3.9 打开以前提取的版本树

在CCRC中,会保存一个以前提取的所有版本树的列表,可以通过这个列表,快速访问以前打开的所有版本树。

单击版本树视图中菜单栏上图标右边的尖头,打开版本树列表的下拉菜单,选择一个元素,就可以打开它的版本树。

单击此按钮,可以打开一个包含以前访问过的所有版本树的对话框。在这个对话框中,可以打开或者删除一个访问过的版本树记录。

3.10 打开所选版本的内容

如果一个元素的文件类型在系统中有关联的编辑器,在版本树中双击一个版本节点,可以打开这个版本的内容。也可以右键单击一个节点,选择"打开…"来打开版本内容。

4 版本树中的CC操作

在版本树中可以对节点进行一些CC的操作,当选定一个节点时,相应的操作就会在菜单栏和环境菜单显示。这些操作包括:

检出检入,取消检出

查看版本属性

标签相关操作

其中,检出、检入操作只对当前视图所选版本有效,

4.1 与前趋版本进行比较

在版本树中选择一个版本,点击菜单栏上的与前趋比较功能按钮,就可以打开版本比较对话框。

4.2 与其他版本进行比较

选择一个版本,点击与另外一个版本比较...,这时候会弹出一个指针,提示用户选择一个版本进行比较。选择要比较的版本并点击确定,则可以完成比较操作。

4.3 打开节点属性

右键单击一个节点,选择属性,就可以打开一个版本的属性对话框。

4.4 检出,检入

检出检入只对当前视图选择的版本有效。选定要检出或者检入的版本,右键点击或者选择菜单栏上的按钮,就可以进行检出检入操作。

4.5 撤销检出

右键点击检出的版本,可以进行撤销检出操作。

4.6 打Label

选择一个版本,右键点击,选择应用标签,即可以弹出应用标签对话框,进行应用标签的操作。

附录

1.Maintenance Tool

Maintenance Tool(安装目录中cqdbsetup.exe)是在使用CQ前必须配置的。

在Maintenance Tool中,必须Create或New Connection至少一个Schema Repository。无论是Designer、客户端还是Web服务器最后都必须连接Maintenance Tool中的Schema Repository。

模式库,所有的Designer中的模式都附属于特定的模式库

如果有多个Schema Repository,在使用designer、客户端、Web服务器的时候,必须选择特定的Schema Repository,之后的操作都在此Schema Repository中进行。

2.Desinger

Desinger(安装目录中的cqdesign.exe)是设计模式使用的。

在进入Desinger的时候,如果Maintenance Tool中有多个模式库,必须选择一个Schema Repository才能进入Desinger,此时在Desinger中设计的所有Schema都附属于此登陆的Schema Repository,并且所有Schema信息都储存于对应的数据库中。


版权所有:UML软件工程组织