利用全新的 CCRC.NET V7.1 实现软件开发变更管理
 

2010-01-22 作者:于 芳 来源:IBM

 
本文内容包括:
随着 IBM Rational ClearCase 7.1 版本的发布,CCRC(ClearCase Remote Client)在用户实际应用中的遇到的问题方面作了许多改进。相应的,作为 VisualStudio.NET(VS.NET)插件的 CCRC.NET,在功能方面和性能方面都得到了大幅度的提升,尤其是 CCRC 整合了 CQWeb 的部分功能,使得 Rational 的配置管理和缺陷跟踪功能在 VS.NET 中更加易于部署和实施。本文针对这些新特性向大家作以介绍。

随着 IBM Rational ClearCase 7.1 版本的发布,CCRC(ClearCase Remote Client)在用户实际应用中的遇到的问题方面作了许多改进。相应的,作为 VisualStudio.NET(VS.NET)插件的 CCRC.NET,在功能方面和性能方面都得到了大幅度的提升,尤其是 CCRC 整合了 CQWeb 的部分功能,使得 Rational 的配置管理和缺陷跟踪功能在 VS.NET 中更加易于部署和实施。本文针对这些新特性向大家作以介绍。

1. CCRC.NET V7.1 新特性

CCRC 满足了用户在 Web 环境下使用 ClearCase 访问 VOB 的需求。而 CCRC.Net 则是以 CCRC 与 Microsoft Visual Studio.NET(VS.NET)集成的形式,向 VS.NET 的用户提供 ClearCase 远程客户端操作。这一节,笔者将从功能、部署、性能和支持度几个方面介绍 CCRC.NET 7.1 的新特性。

从功能角度来说,ClearCase 7.1 之前的版本,已经在 Native GUI 和 Eclipse GUI(即 CCRC)上实现了与 VS.NET 的集成。但是,如果想要同时实现版本控制和缺陷跟踪操作, 就必须在客户端同时安装 ClearCase 客户端和 ClearQuest 客户端。CCRC 7.1 整合了 CQWeb 的部分功能,使得 Rational 的配置管理的功能和缺陷跟踪的基本功能在 VS.NET 中的实现由 CCRC.NET 独自完成。这对用户来说,无疑是莫大的方便。

从部属角度来说,7.1 之前的版本的 ClearQuest 与 VS.NET 的集成被局限在局域网内部;而由于 CCRC.NET 可以实现广域网连接,从而给开发环境的部署带来了更多的灵活性(如图1)。

图 1. VS.NET 上部署 UCM 集成环境
VS.NET 上部署 UCM 集成环境

从性能角度来说,7.1 版本中,由于 CM Server 架构(如图2)的引入,使得 CCRC.NET 的性能得到了间接的提升。

从对第三方软件的支持角度来说,与之前的版本不同,CCRC.NET7.1 不仅支持 VS.NET2005,而且增加了对 VS.NET 2008 的支持。

2.配置 UCM 集成环境

统一变更管理(UCM),是一种预配置的、基于活动的变更管理过程。CCRC V7.1 最重要的改进之一,即是 CCRC 与 ClearQuest Web 的 UCM 集成。这一节,我们将介绍在 CCRC.NET 环境下,UCM 集成环境的配置。

2.1 配置服务器端

首先,需要在服务器端安装 ClearCase 和 ClearQuest 的 Server 组件(如图2所示),其中包括 CM Server for ClearCase Remote Clients 和 CM Server for ClearQuest Web。

图2. 服务器端组件
服务器端组件

之后,我们需要对服务器端进行如下配置:

ClearQuest 配置:

1)启动 ClearQuest Maintainance Tool,选择 UCM Schema 创建 DBSET1

2)启动 ClearQuest Designer,根据用户角色,创建 User DB 的用户并设置其权限

ClearCase 配置:

1)创建 PVOB 和 CVOB

2)创建 UCM-Enabed 的项目

3)制定项目的 Policy

鉴于之前的文章已经介绍过如何用 GUI 完成以上 3 步,下面给出在 Windows 上用命令行创建 VOB 和 Project 的代码,供读者参考。

>cleartool mkstg -vob VOBs \\<hostname>\<shared-dir>\VOBs
>cleartool mkstg -view Views \\<hostname>\<shared-dir>\Views
>cleartool mkvob -nc -tag \pvob -ucm -stg VOBs
>cleartool mkvob -nc -tag \cvob -stg VOBs
>cleartool mkview -tag view1 -stg Views
>cleartool mount \pvob
>cleartool mount \cvob
>cd M:\view1
>crmregister add -database SAM1 -connection DBSET1 -user admin -password ""
>cleartool mkcomp -nc -root cvob cvob@pvob
>cleartool mkproj -nc -modcomp cvob -in RootFolder -crmenable SAM1 
    -connection DBSET1 -policy POLICY_INTERPROJECT_DELIVER proj@pvob
>cleartool mkstream -integration -in proj@ pvob -baseline cvob_INITIAL@pvob

该段代码完成了如下功能:创建 PVOB、CVOB、project,使该 project 关联 CQ 数据库连接 DBSET1(用户数据库为 SAM1),使能了 proj 的 POLICY_INTERPROJECT_DELIVER,并为 proj 创建了初始基线 cvob_INITIAL。

4)确认 CM Server 运行正常:在浏览器地址输入服务地址,如果出现如图3的内容,则说明 CM Server 运行正常。

图 3. CM Server 正常运行
CM Server 正常运行

2.2 在客户端安装 CCRC.NET V7.1

客户端机器上,首先安装 VS.NET(V2005 或者 V2008),之后再安装 CCRC.NET。在 Installation Manager 的 File->Preference 设置项里添加 Repository 地址,并点击 Install。Installation Manager 可以自动检测出已经安装的 VS.NET 应用程序。组件安装界面如图 4。

图 4. 安装 CCRC.NET
安装 CCRC.NET

安装成功之后,启动 VS.NET2008,主菜单上会出现“ClearCase”菜单项。

3.CCRC.NET 上的 UCM 典型应用

UCM 的典型应用可以简略地概括为:加入项目,创建流和视图 -> 修改工件,并与缺陷关联 -> 交付 -> 制定基线 -> 同步。在介绍这些步骤在 CCRC.NET 上的具体操作之前,先来看一下主菜单栏上 ClearCase 子菜单的功能(如图 5)。可以看到,在新版本的 CCRC.NET 中增加了 Make baseline 和 Recommend Baseline 功能。

图 5. ClearCase 子菜单
ClearCase 子菜单

3.1 加入项目

在菜单栏上的“ClearCase”子菜单上选择“Front Desk”,ClearCase 的 Front Desk 视图就会出现。在 Front Desk 的视图上点击“Join Project”,如果需要连接一个新的 Server,则在对话框上点击“connect”按钮,并按照图 6 输入服务地址、用户名和密码。

图 7 显示了创建开发流、开发视图和集成流视图的过程。其中 Copy Area 指定了视图在本地存储的位置。当试图创建完成时,加载已经在服务器端创建好的 cvob。

3.2 修改工件并关联缺陷

现在,创建一个项目,并把它加入到 ClearCase 的管理中。点击菜单栏上的 File->Create Project,在 Location 一栏中填入刚刚创建的开发流视图中加载的 VOB 目录中(如图 8)。

接下来,将该项目“Add to ClearCase Source Control”(如图 9)。此时,对 cvob 的更改就会触发与 ClearQuest 的关联(如图 11)。由于是首次连接 CQ 数据集,需要输入身份认证(如图 10)。登陆成功后,在 AddtoSource 对话框上,可选择的记录类型(由服务器端 project 的属性指定)(如图 12),新建一条 CQ 记录(如图 13);也可以通过“Find”按钮浏览当前数据集中的记录(如图 14)。

图 6. 连接服务器
连接服务器

图 7. 创建开发流、开发视图和集成视图
创建开发流、开发视图和集成视图

图 8. 在 VOB 中创建项目
在 VOB 中创建项目

图 9. 将项目加入 ClearCase 管理
将项目加入 ClearCase 管理

图 10. 登陆 CQ 数据集
登陆 CQ 数据集

图 11. 版本变更活动关联 CQ 记录
版本变更活动关联 CQ 记录

图 12. 选择记录类型
选择记录类型

图 13. 新建 CQ 记录
新建 CQ 记录

图 14. 浏览 CQ记录
浏览 CQ记录

3.3 交付

根据项目的规划,开发人员会定期将自己的开发流向集成流交付(如图 15)。操作过程为:右键开发流视图 -> Deliver -> Default。

图 15. 交付到默认集成流
交付到默认集成流

CCRC.NET(包括 CCRC)不支持项目之间(inter-project)交付,但支持项目内部(intra-project)交付。由于我们在服务器端设置了 proj 的 policy POLICY_INTERPROJECT_DELIVE,因此可以在 proj 内部向其他开发流交付(如图 16)。

图 16. 高级交付对话框
高级交付对话框

3.4 制定基线

基线标志着软件开发过程中一个稳定的构成。如果严格按照 ClearCase 的角色来划分,制定基线(baseline)的工作属于 ClearCase Integrator 的职责。在 ClearCase 中可以在 Project Explorer 中通过 Policy 来规定普通开发人员是否有权限更改该项目集成流的基线。但是在客户端,可以给开发流单独创建基线,如图 17 所示。

图 17. 创建基线
创建基线

另外,被推荐的基线能够自动为新加入项目的开发流的确定所包含的工件内容。而且,在默认的情况下,被推荐的基线也是同步的准绳之一。图 18 展示了如何推荐基线。

图 18. 推荐基线
推荐基线

3.4 同步

对于 CCRC.NET 所支持的 Web 视图来说,同步过程的实质是将集成流上被某个基线标记的工件拷贝到开发流视图的 CopyArea 的过程,目的是达到开发团队内部的协调一致。

右键一个开发流视图 -> Rebase->Default,默认的同步窗口出现,此时可以选择被推荐的基线或者最新的基线(如图 19)。当同步完成时,CCRC 的同步结果视图会显示出被更新的工件(如图 20)。

图 19. 默认同步
默认同步

图 20. 同步结果
同步结果

对于 Advanced Rebase 而言,其功能之一是退回到以前的某个基线上(如图 21),这样一旦项目有任何失误,能够及时恢复。

图 21. 高级同步
高级同步

这一小节介绍了在 CCRC.NET 上,Clearcase 与 clearquest 以 UCM 方式集成的典型应用。对以 VS 作为开发平台的项目,这种应用方式实现了全面的软件开发变更管理。

总结

本文介绍了 IBM Rational ClearCase Remote Client 7.1 for VisualStudio.NET 的新特性、UCM 配置步骤以及 UCM 在 VS.NET 上的典型应用。希望对读者能有所帮助。

参考资料

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。

资源网站: UML软件工程组织