Clear Case 与Clear Quest的集成

2023-12-15 20:30
文章标签 集成 case clear quest

本文主要是介绍Clear Case 与Clear Quest的集成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘自@商慧波 的文章 :http://www.ibm.com/developerworks/cn/rational/r-shb/

 

 

引言

ClearCase 是业界非常优秀的软件版本控制工具和软件资源配置管理工具,在实际的软件开发过程中,采用ClearCase进行版本控制能够实现真正意义的并行开发,提高开发效率。ClearCase具有两种应用的方式:Base ClearCase 以及 UCM ClearCase。这两种方式拥有着各自不同的概念、功能和应用范围:由于Base ClearCase 的概念相对简单,功能也比较单一,因而它易于掌握,适用于小型软件项目的开发过程中;而UCM ClearCase涉及的概念比较多,逻辑也相对复杂,它提供了更加丰富和完善的功能,因而较多的应用于大型软件系统的开发过程中。

ClearQuest作为软件变更管理和缺陷跟踪工具,在实际开发中,对于保障软件产品的质量,协调各开发团队之间的合作起到了相当重要的作用。ClearQuest是高度可配置的,可适应几乎所有的自动化流程设计,同时支持用户定义、工作流支持(可定制的状态机)、字段、表单和电子邮件通知等。


一、 ClearCase 与ClearQuest的集成

所谓ClearCase和ClearQuest的集成,就是指将ClearQuest中的变更请求(Change Request)关联到ClearCase中某元素(element)的某一版本(Version)上。一个变更请求可以被关联到一个或多个版本上,这些版本被称为变更请求的变更集(Change Set)。一个版本可以被关联到一个或多个变更请求,这些变更请求被称作版本的请求集(Request Set)。由于ClearCase的应用分为两种方式:Base 和 UCM,因而,ClearCase 与 ClearQuest的集成也具有两种方式:Base ClearCase 与 ClearQuest的集成以及UCM ClearCase 与 ClearQuest的集成。本文主要介绍的是UCM ClearCase 与 ClearQuest 的集成方式。


二、 UCM ClearCase 与 ClearQuest 集成的应用过程介绍

工程(Project)是UCM ClearCase的一个重要概念,要实现UCM ClearCase与ClearQuest的集成,首先必须在ClearCase UCM的环境里创建一个CQ Enabled Project,即一个激活了ClearQuest相应功能的工程(Project)。

下面将详细阐述UCM ClearCase 与 ClearQuest 集成环境的搭建,以及具体的集成的应用过程。

1. 环境搭建

1) ClearCase 方面,首先要创建一个Project VOB和 Component VOB,并且将新创建的Component VOB成为Project VOB的一个Component。

Windows 环境下:

  • 创建Project VOB:选择Programs > IBM Rational > Rational ClearCase > Administration > Create VOB,输入VOB名称:pvob;选择"Create as a UCM project VOB"选项,表示要创建的是一个Project VOB;在选择administrator vob一项里,选择none。其他采用默认值,在确认页上单击"继续" ,完成Project VOB的创建过程。
  • 创建Component VOB:选择Programs > IBM Rational > Rational ClearCase > Administration > Create VOB,输入VOB名称:cvob;选择"contain UCM objects",表示要创建的是一个Component VOB;在选择administrator vob一项里,选择刚刚创建的pvob, 建立这两个VOB之间的关系。其他采用默认值,最后在确认页上单击"继续",完成Component VOB的创建工作。
  • 使cvob成为pvob的一个Component:从开始菜单里选择 Programs -> IBM Rational -> Rational ClearCase -> Project Explorer,选中pvob,从菜单中选择Tools ' Import ' VOB as Component,在弹出的选择页面中从左面的备选框中选择cvob,加入到右面的已选框,最后单击"import"。


图1 Import VOB
图1  Import VOB 

Unix环境下,可以使用命令行完成以上过程:

  • 创建Project VOB:
    > cleartool mkvob -nc -ucmproject -tag /var/tmp/pvob /var/tmp/pvob.vbs
  • 创建 Component VOB:
    > cleartool mkvob -nc -tag /var/tmp/cvob /var/tmp/cvob.vbs
  • 创建Project VOB的component:
    > cleartool mkcomp -nc -root /var/tmp/cvob comp_1

2) 在ClearQuest方面,需要做的准备工作有:

  • 在选定的数据库关系系统上,创建schema 数据库和user 数据库;
  • 如果是在Windows环境下应用UCM ClearCase 与 ClearQuest的集成,只需利用Windows 环境下的ClearQuest Maintenance Tool创建repository schema。

创建Sample DB时,Schema 的类型需要选择 UCM 类型:


图2 选择UCM 的 Schema 类型
图2  选择UCM 的 Schema 类型 

  • 如果是在Unix环境下应用UCM ClearCase与ClearQuest的集成,需要另外准备一台装有ClearQuest Maintenance tool的机器,帮助建立repository schema, 然后再在Unix机器上创建相应的connection 。这是因为,目前ClearQuest产品在Unix平台上还没有提供图形界面的Maintenance tool。

2. 创建CQ Enabled Project

下面主要以Windows环境为例,介绍CQ Enabled Project的创建过程。两种方式创建一个CQ Enabled Project:

  • 创建Project 的过程中,指定该Project是CQ Enabled 从开始菜单里选择 Programs -> IBM Rational -> Rational ClearCase -> Project Explorer,选中pvob,从菜单里选择File ' New ' Project,为Project 设定一个名称,下一步;是否以一个已知的baseline为起点来创建这个Project,选择"否",下一步;加入Component的baseline,点击add,选择initial baseline;选中cvob前方的复选框,使得这个VOB可以被修改,即在将来的操作中可以在这个VOB里加入元素,或者对元素进行修改;选择"yes",使得所创建的Project 是可以和ClearQuest相关联的。这时,connection的下拉列表中会显示出之前在ClearQuest 端已经创建好的Connection的名称,从下拉列表里选中这个Connection,则User Database项会自动显示出与这个Connection 所对应的Sample DB的名称。 如果是初次登陆ClearQuest数据库,会出现一个登陆窗口,这里假设使用QE帐户登陆,也就意味着在接下来的操作中,只有分配给QE帐户的ClearQuest记录才能被关联。在确认页中选择"continue",一个CQ Enabled的Project:myproject 创建成功。

    图3 创建CQ Enabled 工程 
    图3  创建CQ Enabled 工程
  • Project创建完成之后,修改Project的属性,指定其CQ Enabled。 在Project Explorer中,选中刚刚创建的Project,右键,选择属性(properties),在打开的属性页中选择"ClearQuest"页。此时"Project is CQ enabled"复选框应该是出于未被选中状态。选中复选框,从下来列表中选择已经在ClearQuest建好的Connection 和Sample DB。"确定",完成操作。

    图4 在工程属性中指定工程为CQ Enabled 
    图4  在工程属性中指定工程为CQ Enabled

3. Join project:创建集成流,开发流,集成试图,开发视图。在开发视图环境下创建新的文件,或者对文件进行检出检入操作打开ClearCase Explorer,选择开发视图,在cvob的根目录里创建一个新的文件,选择"Add to source control",将这个文件加入源控制。在"Add to source control"的界面上,需要选择一个与这个文件的版本相关联的活动(activity)。


图5 为元素新版本指定活动(activity)
图5  为元素新版本指定活动(activity) 

在设定相关联的activity的时候,有三种方式:选择"New",新创建一个ClearQuest的记录类型(defect 或者BaseCMActivity两种类型可供选择);或者在下拉列表中选择一个已有的defect与之关联;或者使用"browse"查询一个满足一定条件的记录。

下面分别详细介绍这几种方式:

  • 新建方式

    选择"New",默认情况下,可以选择新建两种类型的activity :defect和BaseCMActivity。单击"New",可以看到这两种记录类型,如图所示:



    图6 可选的记录类型 
    图6  可选的记录类型

    是否可以创建这两种类型的记录,或者只能创建哪一种是可以自由设定的。方法是:在Project Explorer 里,右键选中pvob,在右键菜单中选中"policies"策略。如果"Do not allow submitting of records from ClearCase client"选项是被选中状态,就意味着不允许在ClearCase端创建ClearQuest的记录,在将文件加入源控制、对元素检入、检出操作时,关联activity的界面中也不会出现"New"这个操作按钮;相反的,如果"Do not allow submitting of records from ClearCase client"选项是不被选中的状态,就意味着用户可以在ClearCase 端创建ClearQuest的记录,但是,在"Allowed record types"中限定了允许创建的记录类型,如果选中了"defect",说明可以新创建defect类型的记录,在ClearCase里点击"New"时,在弹出的选择页里相应的也只能看到"defect"这一类型。对于BaseCMActivity也是同样的。默认的情况下,这两种类型都是被选中的。



    图7 设定可以在ClearCase端提交的类型 
    图7 设定可以在ClearCase端提交的类型

    这里假设单击了"New" 之后,选择的是defect,则会调用ClearQuest的新建defect的窗口:



    图8 新建Defect 
    图8  新建Defect

    输入必要的信息后保存,新建的defect的headline就会出现在activity对应的下拉列表选择框内,可以默认的选择这个新建的defect,完成相应的ClearCase的操作。如果使用QE用户登陆到ClearQuest的客户端,运行关于defect的 查询,则会查询到刚刚创建的defect,并且此时这个defect是处于opened状态的。



    图9 Defect处于Opened 状态 
    图9  Defect处于Opened 状态
  • 选择已有的defect 
    如果事先在ClearQuest客户端中已经创建了一些记录,那在activity的下拉列表中就会自动列出来这些记录。不过,哪些纪录会列在列表里也是有一定的限制条件的:

    1) 这些defect的所有人(owner)必须和ClearCase中作集成时登陆ClearQuest所使用的用户帐户是一致的,也就是说只有那些分配给这个用户处理的defect才能在备选的活动列表里出现。

    2) 只有处于Assigned、 Opened状态的defect才会被列到activity的备用下拉列表中,而处于submitted状态和resolved以及closed状态的defect则不会出现在备选下拉列表中。

  • "Browse"方式 
    选择"Browse"按钮,弹出"Activity Entity Browser"窗口。可以在这个窗口中选择"New Query"建立一个新的Query,设定查询条件,选择满足需要的记录。设定好查询结果要显示的字段以及查询条件后,可以将这个查询保存(保存后的查询也可以直接在ClearQuest客户端中被使用)。新创建的查询会列在"Activity Entity Browser"的窗口中,选中这个查询,或者选择其他已经在ClearQuest中创建的查询,点击"运行"(run)按钮,在查询结果中选择正确的记录,作为与ClearCase中的文件版本相关联的活动(activity)。



    图 10 查询相关记录 
    图 10  查询相关记录

4. Deliver操作

Deliver操作开始后,ClearCase中会自动生成一个对应的Activity,这个Activity的名称中包含"deliver"的字样,以及执行Deliver操作的时间。对应这个Activity,会自动建立一个ClearQuest的"UCMUtilityActivity"类型的记录,这个记录的状态随着Deliver状态的改变而改变。

  • Deliver操作进行到最后,不确认结束Deliver的操作

    在Project Explorer中,右键选中开发流,选择"Deliver from Stream> to Default",开启Deliver的操作,采用默认的设置,在最后的确认页中选择"Close"。



    图11 是否完成Deliver操作 
    图11  是否完成Deliver操作

    用QE用户登陆ClearQuest的客户端(建Project指定CQ Enable时,假设使用QE帐户登陆到ClearQuest数据库)。新建一个查询,查询对象是UCMUtilityActivity类型的记录,运行查询,在查询结果中找出headline是ClearCase中deliver activity名称的记录,查看目前这个记录的状态应该是"Active"。

  • 取消Deliver操作

    如果之前没有确认结束(在Deliver的最后提示页中选择Close)Deliver操作,重新开启"Deliver from Stream > to Default"之后,会出现让用户选择"继续"还是"取消"的询问界面,这里选择"Undo the Delivery"。 Deliver的操作被取消后, ClearQuest中对应的UCMUtilityActivity类型的记录也不复存在了。

  • Deliver操作进行到最后,确认结束Deliver的操作

    重新开启Deliver操作,并且在最后的确认页中选中"Complete",在ClearQuest客户端,登陆到数据库,运行上面创建的查询,看到以ClearCase的activity名作为headline的记录出现在查询结果列表中,并且此时的状态改为:"Complete"。


    图12 UCMUtilityActivity 的记录状态改为Complete 
    图12  UCMUtilityActivity 的记录状态改为Complete

5. Rebase操作

同样地,对于Rebase操作,也会自动生成一个ClearCase的Activity,名称中包含"rebase"字样以及执行Rebase的时间。在ClearQuest中也会自动创建一个"UCMUtilityActivity"类型的记录。随着Rebase操作进行到不同的程度,记录的状态也随之改变,三种不同的状态和Deliver的情况相同,这里不作过多赘述。

6. 在ClearQuest界面执行ClearCase的一些操作

实现了UCM ClearCase与ClearQuest的集成之后,不仅可以在ClearCase端执行例如新建一个defect 等ClearQuest的操作,同时,也可以在ClearQuest端执行例如检入、查看历史信息等ClearCase的操作。

从以上的介绍中可以了解到,在ClearCase Explorer中,当对一个文件进行加入源控制、检入、检出操作时,会使活动(activity)指向ClearQuest的某一个记录。其实,这种关联建立之后,也把这个文件加入到了ClearQuest所对应的记录的变化集(change set)当中。

在ClearQuest中通过查询得到和ClearCase中某个文件版本相关联的记录(defect或者其它类型的记录),打开他的变化集(change set),会看到与之相关联的文件及其版本。右键点击这个文件,在弹出的菜单中可以进行ClearCase的一些相关操作。如图所示:


图13 可以在ClearQuest中进行的ClearCase的操作
图13  可以在ClearQuest中进行的ClearCase的操作 

7. 如何取消Project 的CQ Enabled的特性。

如果一个Project 此时是CQ Enabled的,在Project Explorer中,选中这个工程(Project),右键,选择属性(properties),在打开的属性页中选择"ClearQuest"页。此时"Project is CQ enabled"复选框应该是被选中的状态。想要取消这个工程(Project)的CQ Enabled 特性,只要去掉复选框的选中状态即可。"确定"之后,系统会提示取消的操作会涉及到多少个ClearQuest的记录。


三、 总结

本文首先简要介绍了IBM 的软件版本控制和配置管理工具ClearCase以及缺陷跟踪管理工具ClearQuest,并论述了ClearCase 与 ClearQuest集成的真正含义。ClearCase 与 ClearQuest的集成主要分成两种方式:Base ClearCase 与 ClearQuest的集成以及UCM ClearCase 与 ClearQuest的集成。本文以UCM ClearCase 与 ClearQuest的集成为主,详细阐述了集成应用的一般操作过程。希望通过阅读本文,能为从事相关工作的开发人员提供实际的使用指导。


参考资料

  • Software Configuration Management -A Clear Case for IBM Rational- UCM ClearCase and ClearQuest.

  • ClearCase product manual: UCM development guide

  • ClearCase product manual: UCM project introduction

  • Multiple DBset application for UCM ClearCase ClearQuest integration

  • 使用IBM Rational ClearCase和IBM Rational ClearQuest进行良好的电子记录管理

这篇关于Clear Case 与Clear Quest的集成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/497774

相关文章

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

系统架构师-ERP+集成

ERP   集成平台end:就懒得画新的页

Spring Boot集成Tess4J实现OCR

1.什么是Tess4j? Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。Tess4J是一个基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,说白了,就是封装了它的API,让Java可以直接调用。 Tess

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

Spring Boot集成PDFBox实现电子签章

概述 随着无纸化办公的普及,电子文档的使用越来越广泛。电子签章作为一种有效的身份验证方式,在很多场景下替代了传统的纸质文件签名。Apache PDFBox 是一个开源的Java库,可以用来渲染、生成、填写PDF文档等操作。本文将介绍如何使用Spring Boot框架结合PDFBox来实现电子签章功能。 准备工作 环境搭建:确保你的开发环境中安装了JDK 8或更高版本,并且配置好了Maven或

springboot+maven搭建的项目,集成单元测试

springboot+maven搭建的项目,集成单元测试 1.在pom.xml文件中引入单元测试的依赖包 <!--单元测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></depen

Java消息队列:RabbitMQ与Kafka的集成与应用

Java消息队列:RabbitMQ与Kafka的集成与应用 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的分布式系统中,消息队列是实现系统间通信、解耦和提高可扩展性的重要组件。RabbitMQ和Kafka是两个广泛使用的消息队列系统,它们各有特点和优势。本文将介绍如何在Java应用中集成RabbitMQ和Kafka,并展示它们的应用场景。 消息队

java后端服务监控与告警:Prometheus与Grafana集成

Java后端服务监控与告警:Prometheus与Grafana集成 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的微服务架构中,监控和告警是确保服务稳定性的关键组成部分。Prometheus和Grafana是两个强大的工具,它们可以集成在一起,为Java后端服务提供实时监控和可视化告警。 服务监控的重要性 服务监控可以帮助我们实时了解服务的健

环信_Android_第一部_JAR包集成

自己新建 project...不用easeui的包,太不友好了..全部自己解封.自己写 个是在要Android studio 3.3.2版本中测试有效在android7和8(API24,25,26,27)四个个版本中有效. 如果到了Adnroid9(API28,Q)会有so报错.在AndroidMaifest.xml有两处用☆标出来 注意三点. 1:复制两个文件夹文件 libs.av 是