ClearQuest如何进行定制开发
【IT168 技术文档】
前言
ClearQuest是业界优秀的变更管理工具,为很多软件开发团队的管理提供服务。IBM Rational为ClearQuest提供了很多开箱即用的模式,使开发团队能很快的上手,使用ClearQuest。但目前越来越多的软件企业希望定制满足企业需要的流程(如为了过CMMI的需要),通过ClearQuest提供的定制开发功能可以满足这类软件企业的需要。本文通过一个具体的实例来帮助读者了解如何进行定制,以期帮助从事相关工作的人员能更好的掌握这门工具。
对流程定制开发的准备
在这里笔者使用了一个大家都熟悉的缺陷流程的例子(图1),虽然ClearQuest提供此开箱即用的模式,但现在我们可以考虑自己定制此过程,通过此过程加深对ClearQuest定制开发的理解。在考虑定制时,我们需要注意以下几点:
图1
对流程的考虑
对流程的考虑主要来自于两个方面,一是状态,一是动作或操作。流程中某个阶段性的结果,我们以状态来表示,通过动作将一系列的状态连接起来构成流程,可参考图1。
我们可通过场景来验证所定制的状态是否合适,针对不合适的状态可做适当的调整,保证定制的流程符合实际的需要,本例的场景如下:
1、 已提交状态:缺陷的创建,测试人员在测试中发现Bug提交缺陷,填写缺陷记录单,完成后提交缺陷,该缺陷记录进入系统并标识此时的缺陷状态为已提交。
2、 已分配状态:项目经理针对提交上来的缺陷进行评估,确定责任人负责修改此缺陷,并进行人员分配,此时的缺陷状态为已分配。
3、 已打开状态:缺陷处理人(通常是开发人员)接到分配给自己的缺陷修改任务,对缺陷记录进行初步分析评估,开始进行缺陷的处理,此时的缺陷状态为已打开。已打开状态的来源分为三种情况:
-来自已分配状态,表示当前是项目经理新分配的任务。
-来自已解决状态,表示修改的缺陷被测试人员验证时没有通过,需要重新修改。
-来自于已关闭状态,表示缺陷没有修改完全,需要继续修改。
4、 已解决状态:当缺陷处理人(通常是开发人员)已修改当前的缺陷,并在自测通过后,希望测试人员进行验证,此时的缺陷状态为已解决。
5、 已关闭状态:测试人员对于缺陷处理人已修改的结果进行确认,验证通过后,将缺陷状态变为已关闭,表示此缺陷已处理完。
6、 已推迟状态:此状态可以来自于多个源状态,表明在当前阶段无法解决此缺陷,需要在后续某个阶段再对此缺陷进行修改。
7、 已重复阶段:表示当前提交的缺陷和以前某个缺陷相类似,可参考先前缺陷的处理结果。
和状态相对应的动作描述,如表1:

对使用流程人员的考虑
流程是需要不同的人员协同工作才能完成的,所以在流程中需要确定角色,哪些角色执行流程中要求的哪些动作。在本例中,我们考虑如下的角色划分。
角色描述:
测试人员:发现缺陷,提交缺陷记录,验证缺陷的处理结果,关闭缺陷。
项目经理:分析处理提交的缺陷,把该缺陷分配给相应的开发人员进行处理。
开发人员:接受项目经理所分配的缺陷修改任务,对缺陷进行修改,并将修改的结果提交缺陷提交人进行验证。
将角色和动作、状态相结合形成表2

对流程所提交信息的考虑
一般在手工流程的传递的过程中,我们习惯于打印出一系列的表格,当表格流转到不同人的手中时,填写表格中相应的项并签字,实际上这些就是我们在流程中所提交的信息。在考虑所提交的信息时,一方面我们要考虑一些通用的信息,如标题、描述等,另一方面我们要考虑和流程相关的一些属性信息,如本例的优先级、严重性等,供日后统计分析时使用。在本例中,我们考虑如下要提交的信息,见表3。

使用ClearQuest实现定制开发
下面我们用ClearQuest来实现这个定制的缺陷流程。
启动ClearQuest Designer,选择“文件->新建模式”菜单,创建一个新的的模式。ClearQuest提供了很多的模式模板,我们选择blank模式作为我们需要的模板,并起一个新的名称,在这里我们命名为new_defect,见图2和图3。在建立了一个新的模式后,ClearQuest会提示我们是否创建一个与此模式关联的数据库,在这里我们选择“否”,先不创建。检出new_defect进行编辑。

图2

图3
创建记录类型
当有了所需要的模式new_defect以后,我们就可开始定制开发了。首先建立一个记录类型,定制开发的后续工作需要在记录类型中完成。在“记录类型”上点击右键,选择“添加”菜单建立一个新的记录类型,见图4,在这里我们命名记录类型为“D缺陷”。

图4
每个记录类型会对应一个数据库名称,在这里我们把“D缺陷”记录类型的数据库名称命名为“Defect”,见图5。

图5
创建好的记录类型如图6所示。

图6
状态矩阵的设计
有了记录类型后,通常会考虑状态和动作的实现,ClearQuest提供了状态过渡矩阵功能帮助我们完成状态的设计工作。我们在“状态过渡矩阵”上点击右键,选择“打开”菜单,出现如图7的窗口。

图7
在状态过渡矩阵中,ClearQuest以二维的矩阵表示状态的变化,“From”表示源状态,以列的方式显示,“To”表示目标状态,以行的方式显示。中间白色区域表示连接状态的动作或操作。在图7中我们看到,“状态过渡矩阵”已经创建了一个缺省的状态“Submitted”,我们需要对这个状态重命名。选中“Submitted”所在的行,右键选择“重命名状态”,键入新的名称“已提交”,结果如图8。

图8
当修改完“已提交”状态后,我们需要在“状态过渡矩阵”中添加其它的状态,选择一个新的空行,点击右键选择“添加状态”菜单,输入新的状态名称。在这里,我们输入表1状态列所列出的状态,状态过渡矩阵设计完成后,结果见图9。

图9
操作的设计
有了状态,我们需要设定动作将两个或多个状态连接起来,在ClearQuest中由“操作”完成此功能。在“操作”上点击右键选择“打开”菜单,可添加新的操作。参考图1和表1,添加所有的操作。在此,我们以表1中“分配”为例讲述如何增加新的操作。
在“操作名称”列下新的空行上,点击右键,选择“添加操作”菜单,出现“D缺陷操作”窗口。在操作名称处键入“分配”,保持类型为change_state,见图10。点击“状态”Tab,出现源状态和目标状态,根据图1,在源状态选择“已提交”,在目标状态选择“已分配”,见图11,并保存,“分配”操作添加完成。

根据图1和表1添加剩余的操作,除了“重复”操作的类型选择duplicate外,其余的操作类型都为change_state,完成的结果如图12。

图12
所添加的“操作”在“状态过渡矩阵”中的效果,如图13,可和图9进行比较。

图13
表单界面的设计
当实现了“状态矩阵”和“操作”后,需要完成对用户界面的设计。
首先,我们需要在“字段”域加入我们需要的字段,参考表3我们分别加入标题、描述、优先级、严重性、症状和所有者等字段。我们将标题、优先级、严重性的类型定义为short_string,描述、症状的类型定义为multiling_string,所有者的类型定义为reference。
在字段名称空白行点击右键选择“添加字段”菜单即可添加,输入字段名称、数据库列名,如headline,见图14。

图14
创建所有者字段时需要注意,在“引用”处选择users,如图15。

图15
添加好字段后,参考表3在优先级和严重性的“选项列表”处选择常量列表,输入枚举选项,分别如图16和图17。

图16

图17
此时,针对“字段”域的操作完成,我们需要开始对表单的设计。在ClearQuest中,表单分为两种类型,一类是提交表单,另一类是记录表单。提交表单用于第一次提交信息时使用,以后的状态流转都使用的是记录表单。在表单处点击右键即可添加新表单,本例中我们将提交表单命名为defect_submit,将记录表单命名为defect_base。设计完成的提交表单如图18。 
图18
在ClearQuest中,有些表单内容已经预定义好供设计者直接使用,现在我们将这些预定义好的表单添加到我们设计的表单中。点击菜单“软件包-->软件包向导”,分别添加Attachments、history、notes和Resolution软件包,注意语言选择中文。并与相关的模式与记录类型相关联,参见图19、图20和图21。

图19

图20

图21
这时,我们再打开记录表单defect_base,会发现多了四个Tab,分别为“附件”、“历史记录”、“注释”和“解决方案”,见图22。并在提交表单defect_submit中,也增加了一个“附件”的Tab。

图22
在表3中,我们希望“提交表单”中的标题、优先级和严重性为必填项。在ClearQuest中,打开“行为”,在“已提交”列下,将字段headline、priority和severity点击右键改为“必需”即可,如图23。

图23
用户权限的考虑
最后,需要考虑在ClearQuest中用户权限的问题。在本例中,我们考虑了三类角色,项目经理、测试人员和开发人员,我们将这三类角色定义为三个组,分别是经理组、测试组和开发组,只有属于这些组的成员才可以进行相应的操作。点击菜单“工具-->用户管理”,可添加用户和组,结果见图24。

图24
在“操作”上点击右键“打开”,更改“访问控制”列的权限,参考表2将操作的权限从“所有用户”替换为相应的用户组可操作,见图25。

图25
在测试库中测试新的流程
恭喜,现在是检验我们定制开发成果的时候了。首先,选择菜单“文件-->检入”检入我们当前的工作版本,然后,创建测试库验证我们的流程。
创建测试库的步骤如下,在此我们以Access数据库为例。第一步,选择菜单“数据库-->新建数据库”,在“逻辑数据库名称”域键入defect;第二步,选择供应商为ms_access,并选中测试数据库,参考图26;第三步,指定用户和数据库保持空闲连接时间;第四步,选择测试数据库与我们创建的模式new_defect的最新版本相关联,参考图27。

图26

图27
测试数据库创建好后,我们重新打开模式new_defect。选择“文件-->测试工作”菜单,键入测试数据库名称、用户名和密码,开始验证我们的流程,参考图28和图29。至此,我们完成了缺陷流程的定制开发工作。

图28

图29
总结
本文通过一个实例简要介绍了 ClearQuest 的定制开发过程。笔者希望通过本文,能为软件开发企业使用 ClearQuest做定制开发的人员或对此感兴趣的读者在流程定制方面,提供一定的参考。
参考资料
访问 Rational ClearQuest 产品页面,了解更多关于 ClearQuest 的产品信息
IBM Rational ClearQuest Administrator's Guide
关于作者
程燕宾,IBM Rational 高级信息工程。