UML软件工程组织

应用IBM Rational ClearQuest CTSecure 完成电子记录跟踪及电子签名管理
白 璇 (baixuan@cn.ibm.com), IBM中国软件开发实验室 Rational Team 软件工程师

本文旨在介绍通过配置CTSecure以及在具体项目中应用Rational ClearQuest / ClearCase产品来进行统一变更管理,以按照21 CFR Part 11的规范来完成电子签名和电子记录在实际项目中的应用。实现记录处理过程的所有变更以及电子签名的更高安全级别的处理。

1.前言

成熟的软件开发流程和配置管理流程可简化软件开发团体中的"良好电子记录管理(GERM)"开发。来自IBM Rational的业内领先的产品ClearCase 和 ClearQuest为在自动化系统的生命周期中生成的工件的管理提供了健壮的配置管理和变更请求管理解决方案,满足了当前的GERM实践,并且在此基础上实现CTSecure( 电子签名以及电子记录变更跟踪)功能提供额外的记录保护。

产品描述:

Rational ClearCase——ClearCase是软件配置管理(SCM)和版本控制(VC)系统。在ClearCase中,不但可存储软件,还可以存储能在本机文件系统上存储的几乎所有文件类型。这些文件类型的例子包括文档、需求、模型、代码、目录等。

Rational ClearQuest——ClearQuest是变更请求管理(CRM)系统,用于与自动化系统有关的更改请求或软件缺陷(defect)的跟踪。 ClearQuest可适应几乎所有的自动化流程设计。ClearQuest支持用户定义、工作流支持(可定制的状态机)、字段、表单和电子邮件通知。

回页首

2. CTSecure 功能介绍

CTSecure 是ClearQuest的扩展功能,它支持"良好电子记录管理(GERM)"以及满足用户对21 CFR 11标准的需求。CTSeure采用作为ClearQuest的Package的形式来进行应用部署。

* CTSecure 支持各组织执行操作来满足FDA 21CFR 11标准的需求。
* CTSecure 通过提供以下的执行操作来帮助企业验证计算机系统是否支持FDA协议
o 跟踪审核所有的变更
o 使用电子签名
o 记录处理过程

21 CFR 11是美国FDA(Food and Drug Administration)政府组织的一系列协议规定,在审核过程中它使用电子记录以及电子签名来代替手写的记录及签名。这个协议需要在发展过程中记录保持审核变更的过程以及变更信息。成熟的软件开发流程和配置管理流程可简化软件开发团体中的GERM开发,公司企业如果依照21 CFR 11协议,他们将从自动化以及电子记录中获益。

回页首

3. CleatQuest的Package

Package是Rational CleatQuest schema的一系列组成部分,通过应用 package到已经存在的schema上可以完成用户需求的功能。这些新增的功能也永久的成为这个schema的一部分。

Package的默认安装路径是:"c:\Program Files\Rational\ClearQuest\package" 用户可以检查当前安装的package的最新版本及属性。

通过应用 Package到schema可以完成ClearQuest和Rational其他产品的集成之后的数据交换以及和第三方产品的集成使用,比如MicroSoft的Project Tracker.

CTSecure使用的两个Package分别为:

* AuditTrail : 记录所有变更处理的过程,更加方便的管理电子记录的变更情况。 当前可用版本信息为1.0
* eSignature : 记录变更操作进行电子签名,在安全机制上确保是当前用户对记录的变更操作处理,当前可用版本信息为1.0

回页首

4.CTSecure适用于什么企业及角色

对于Rational CTSecure来说理想的适用角色是任何致力于21 CFR 11协议的资深工程,IT组织,配置管理负责人,项目经理以及应用工程师,开发工具管理经理等角色都会从CTSecure获益。

回页首

5.CTSecure功能对照

表一:CTSecure功能对照

在对CTSecure有个初步了解之后,下一步我们关心的就是CTSecure的具体部署以及实际应用了,如何配置部署CTSecure:

* 只在ClearQuest中应用使用
* 在ClearQuest/ClearCase集成使用

回页首

6. 配置CTSecure在Rational ClearQuest中单独使用

作为CQ的Package,若想应用CTSecure的功能,首先要在CQ中应用这个Package。在变更管理工具CQ中配置CTSecure,实现对电子记录的跟踪记录。具体配置过程如下描述:

1) 自定义安装ClearQuest(在此只列出最基本的CQ使用环境),打开Maintenance Tool 选择create schema repository选项,并选择create Sample DataBase(建立一个Sample用户数据库方便我们模拟数据)

如图 1 创建Schema Repository同时创建一个Sample UserDB:

图1 :创建Schema Repository同时创建一个Sample UserDB

2) 打开CQ Designer, 选择当前创建用户数据库的schema,点击check out,用户可以根据需要对schema进行自定义编辑,包括新创建一个自定义的记录类型(Record Type);值得注意的是,如果用户需要创建自定义的state-less的记录类型,一定要在应用 package之前添加到schema中,否则这个package不会应用到自定义的state-less的记录类型中;这是由于state-less的记录类型是不能够列出在"setup Record Types for packages"中,所以在应用 package到schema的过程中,如果想应用这个package在这个记录类型就必须先创建它。

如图 2 创建自定义的记录类型:

图 2 : 创建自定义的记录类型

3) 点击菜单栏的"Package"在下拉列表中选择"package wizard",之后点击"ok", 在弹出的package列表中选择 "more package" 按钮,之后看到所有CQ的package列表;选择"Audit Trail" 之后选择"下一步" 会有应用这个package到那些记录类型(Record Type)的一个界面,对于state-less的纪录类型如果要应用这个package,一定要现在选择。

如图 3 应用package到schema:

图 3 :应用package到schema

如图 4 应用package到每个记录类型:

图 4 :应用package到每个记录类型

最后,点击完成,这个package将成功的应用到你选择的schema以及记录类型中。应用Audit Trail之后,在CQ Client会增加另外一种记录类型:AuditTrailLog,同时在被应用这个package的记录类型中会增加一个Tab,名为Audit Trail, 其中列出了这个记录的所有变更信息。对于Audit Trail的功能介绍会在下面的具体功能介绍中详细描述。

另外,我们可以在CQ Designer中对field 的一些属性进行设定,比如对于文本框的滚动条的设置等等。首先每个field是依存于提交形式(Form)中的,打开这个Form,双击这个field就是列出它的属性,我们可以自定义设置。

如图 5 设置Field的属性:

图 5 :设置Field的属性

4) 同样,应用 eSignature package到这个schema.

如图 6 应用eSignature到schema上:

图 6 :应用eSignature到schema上

应用eSignature之后,在CQ Client会另外增加两种记录类型,分别是:eSig_Config,完成对于要设置签名的记录类型的具体配置情况;以及eSig_Log来记录签名日志。同时在被应用这个package的记录类型中会增加一个Tab, 用来完成具体的签名操作。对于eSig_Config的操作会在下面的具体功能介绍中详细介绍。

5) 最后,升级用户数据库,使以上的操作真正同步到用户数据库。

以上步骤就是CTSecure在CQ中单独应用执行需要配置的环境。下面我们详细了解一下CTSecure的具体功能特点及操作过程(此部分操作在CQ Client中执行):

Audit Trail----对所有的变更处理过程的跟踪记录

Audit Trail的主要功能是记录所有变更处理的过程,更加方便的管理电子记录的变更情况。1.创建一条"defect"记录,点击"ok", 运行"Query"进行查询;在Audit Trail页中查找所有的变更情况。在下图中我们可以看到CTSecure记录的所有变更处理:

如图7、8 创建一条记录,并查看Audit Trail的信息。

创建一条记录:

图7 :创建一条记录

之后,查看Audit Trail的具体跟踪信息:

图8 :并查看Audit Trail的信息

我们可以通过Audit Trail的变更跟踪记录管理的功能,来详细查看对某条记录的修改情况以及记录的具体的改变情况。

2.创建记录类型是"AuditTrai Log"的Query,来查看跟踪日志。应用CTSecure的Audit Trail这个Package会增加一种记录类型:Audit Trail Log. 以便用户可以方便的查询记录变更的日志情况。在这个记录类型中会明确是那种记录类型的日志,以及这个记录的id.

如图9 创建记录类型是"Audit Trail Log"的Query,查询日志:

图9 :创建记录类型是"Audit Trail Log"的Query,查询日志

eSignature ----电子签名

eSignature的主要功能就是根据安全性考虑对记录变更操作进行电子签名,在安全机制上确保是当前用户对记录的变更操作处理。应用 eSignature之后,在CQ Client增加两种记录类型,分别是:eSig_Config,完成对于要设置签名的记录类型的具体配置情况;以及eSig_Log来记录签名日志。

1.创建"eSig_config", 确定对于要签名的记录类型的具体配置情况。在eSig_Config中包括的field为:Record Type; Sign by State; Sign by Action;下面我们来分别介绍一下他们的功能:

Record Type: 所有应用了eSignature这个package的记录类型都会列在下拉列表中,用户可以根据自己项目的实际,创建需要在变更记录中签名的记录类型。

Sign by State: 选择在什么状态的时候需要签名,也即按状态来进行签名;包括两个字段分别是States 和 Sign When;

State: 选择需要签名的状态转换

Sign When: 签名时间,选择在进入,修改,或是退出的情况下

Sign by Action: 选择在执行什么操作的情况下要签名,也即按操作来进行签署

如图10 eSig_Config的所有字段:

图10 :eSig_Config的所有字段

2.对创建eSig_Config的记录类型,我们可以来创建相应的记录验证eSignature的功能比如,我们创建一条记录,选择"Defect"这种记录类型在变更的时候需要签名;并写选择Assign, 的状态签名。

值得注意的是,电子签名是对记录修改的更高安全的控制,所以不支持密码为空的用户签名,如果密码为空,需要签名的字段会作为密码不正确处理。

如图11、12 创建一条记录需要签名。

创建eSig_Config:

图11 :创建一条记录需要签名

之后,如图 12 Assign 一条记录类型为"Defect"的记录:

图 12 :Assign 一条记录类型为"Defect"的记录

可以看到,除了基本的信息之前外,eSignature电子签名也必须完成(当前登录用户),才能保存对记录的修改。

如图 13 电子签名的界面:

图 13 :电子签名的界面

在eSignature Log中显示的就是当前登录用户的具体信息,可以方便查询用户对记录的修改信息。当保存修改之后,Signature is current这个字段会设置为"True"的状态。

3.创建记录类型是"eSig_Log"的Query,来跟踪查询电子签名日志。

如图 14 电子签名日志:

图 14 :电子签名日志

同样,"Text"文本框的滚动条的设置在Designer.

回页首

7. 在ClearCase/ClearQuest 集成中应用CTSecure

Rational ClearCase作为业界领先的配置管理工具,同ClearQuest有着良好的集成,CC/CQ的集成被广泛的应用到实际的项目中;给项目开发带来更准确方便的管理。

在CC/CQ的集成中应用CTSecure,可以更好的跟踪记录变更过程,以及对UCM(Unified Change Management) Project更高的安全级别的控制,可以更方便的查看所有我们关心的UCM Project的相关变更处理过程及变更信息。下面我们来简单了解一下UCM: 统一变更管理(UCM):随着开发团队的成长、产品发布周期的加速以及对软件资产(包括代码、文档等)控制的加强,对配置管理工具和过程的需要变得越来越大。Rational软件的统一变更管理(UCM)通过Rational ClearCase,Rational ClearQuest以及Rational Suite所提供的开发平台实现了贯穿整个软件开发周期的配置管理过程,即基于活动对软件构件和项目进行变更管理。

下面我们一起了解一下CC/CQ集成创建UCM Project的过程:

1. 打开Project Explore,新建一个Project,导入它的component(可以是之前先建好的cvob)

2. Join Project,在Join Project的过程中创建Stream,Baseline,以及view。

3. 在Project的属性中选择ClearQuest Enable,完成CC UCM与CQ的集成。

如图 15 创建UCM Project, 在CC的Project中enable ClearQuest:

图 15 :创建UCM Project

点击Policies可以对这个Project进行一些基本的设置。

需要注意的是,在CC/CQ集成过程中,CQ的Schema中必须包括UCM Package,或者最方便的是直接应用UCM Schema.如果在CQ中使用的是DefectTracking schema,需要在这个schema上应用UCM Package同样可以完成和CC UCM project的集成。

创建完成UCM Project和CQ进行集成之后,这个UCM Project同样存在于ClearQuest中,可以通过CTSecure的电子签名和变更跟踪管理来对这个项目进行安全控制。

比如,我们在CQ中设置了UCM_Project的eSig_Config之后,对这个UCM_Project的Policy的基本设置就只能在CQ中完成。

如图16 使用CTSecure对UCM_Project进行管理之后:

图16 :使用CTSecure对UCM_Project进行管理之后

当对这个Project的设置进行修改时,由于我们已经在CQ中应用CTSecure对他进行了安全控制管理,所以系统会提示在修改Project 之前需要签名;同时在CQ中,我们也可以通过审计跟踪(AuditTrail)来查看这个UCM_Project的修改,以及Deliver等等的信息。

如图 17 在CQ中对UCM_Project的管理:

图17 :使用CTSecure对UCM_Project进行管理之后

此外,CTSecure应用部属于UCM_Project中最直接的影响还是针对于Activity,也就是对缺陷记录的更好的管理,在 ClearCase中对元素(element)进行的操作会和某一个Activity相关联,和CQ集成之后,这个Activity就是对应的CQ的一条记录。那么,如果我们在CQ中对这个记录类型进行CTSecure的管理,在对这个元素的操作中可以更加方便的了解它的变更情况以及更高的安全要求设置。

如图 18 将某一元素Add source control的过程:

图 18 :将某一元素Add source control的过程

回页首

8. 利用CQ Hook机制自定义配置CTSecure

在ClearQuest里,Hook可以认为是用户用某种语言编写的一小段代码,会在操作某个记录(Record)的特定时候触发执行。它可以检查某个记录的字段是否满足复杂的约束条件,可以限制特定的当前用户才有权限操作,可以限制上传文件的大小,可以在对特定的事件记录日志,可以动态灵活的生成各种选择列表。

在上面的介绍中,提到了CTSecure的基本功能;比如Audit Trail的变更记录,eSignature的电子签名,是ClearQuest的Package的默认功能及界面设定。CQ为用户提供了方便的接口,用户可以通过CQ Hook机制,按照自己的需求自定义用户界面。比如我们可以根据自己的喜好通过CQ Hook机制改变默认的AuditTrail的用户界面。CQ为我们提供了VB以及Perl两种脚本语言。

比如,在CQ Designer中我们可以加一小段Script来完成对Audit Trail界面的自定义(Perl script):

清单 1 :对Audit Trail界面的自定义 Perl 脚本

# Audit Trail format
# Note: This example doesn't record which fields actually changed.

sub atCust_CreateLogEntry {
my($session, $entity, $timestamp, $action,
$state, $login, $fullname, $groups) = @_;
return "AuditTrail: " ."\n" . $timestamp . "\n" . $action .
"\n" . $state . "\n". $login . "\n" . $fullname . "\n" .
$groups . "\n**** Test ******\n";
}

具体步骤如下:

1. 打开CQ Designer, 打开全局脚本,我们以Perl脚本为例,添加一段perl语言的脚本

图 19:添加一段perl语言的脚本

2. Hook函数定义

图 20 :Hook 函数定义

3. 调用这个函数,自定义脚本。

图 21 :调用函数

4. Check in schema并且升级数据库

5. 之后我们就可以在客户端查看脚本执行情况了

图 22 :脚本执行情况

可以看到,我们自定义的script正确调用。

回页首

9.总结

本文介绍了应用CTSecure进行电子记录电子签名管理的具体应用部属,以及CTSecure的具体概念介绍,对比。实现记录处理过程的所有变更以及电子签名的更高安全级别的处理。希望对相关项目管理人员有一定的帮助。


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