ClearQuest MultiSite 主控权的功能就是确保一个 ClearQuest 记录只可以同一时间在一个数据库镜像站点更新。一个登录到站点的用户若是没有记录的主控权,只能查看记录信息,而不可以对它进行修改。要想进行记录更新,用户必须登录到拥有主控权的站点。
考虑这样一个场景,客户在伦敦,支持表明在班加罗尔,开发人员在罗利,测试人员在北京。若是这个变动请求的确认发生在北京,这也是一个数据库镜像的地点,这个记录全部者可能要从一个站点更换到另外一个站点,好比这个记录的情况从活动变动到解决以及修正须要确认的状况。(注意:用户能够登录到任何一个镜像中来读取信息,可是必须登录到一个拥有主控权的镜像才能变动这个记录。)
乐观锁定
当两我的要更新同一个记录时,ClearQuest 就能够利用乐观锁定来处理这种状况。第一个保存记录更新的人——并非第一个为了更新而打开记录的人——会成功。其它的变动就不会被保存。所以,第二个试图更新记录的人将须要从新获得这个记录并从新进行他或者她的更新。(
中国软件工程网)
我能够推荐一个减小这些麻烦的技术,由于 IBM Rational 内部也使用它,就是利用一个叫做 Record_Script_Alias 的 ClearQuest scripted Action 类型建立一个记录。这个 Action 在一个远程的或者同时正在进行更新的记录上执行。它能够建立一个新的记录而且在这个带有 Action 记录 ID 的新记录上更新一个新的字段。ClearQuest 而后建立一个从这个新的记录 ID 到这个 Action 记录的 反向引用(back-reference),不论是否设置了主控权。这两个记录都是对方的相关扩展——直接在当前站点,接下来就镜像到其余站点。这个反向引用确保相链接的记录可以合适地更新。也就是说,当您建立一个记录并更新涉及的字段时,这个反向引用将会更新相关的记录,无论主控权仍是乐观锁的争用。
这里还有一个更进一步的提示:当建立子记录做为建立父记录的副产品时,使用您建立的父记录的 Commit Event 来建立这个子记录。
全部权(Ownership)的角色
因为镜像的局限性,对于 ClearQuest 来讲不能实时地肯定记录是否在更多的站点被建立或者变动。所以,若是记录在多个站点被建立并反向引用,对于用户来讲是不可能在事前知道这些状况的。您能够经过分配全部权和肯定最有可能执行 Action 的人(或者惟一的人员)来进行限制。这样就缩减了与记录相关的冗余的过程,更有效地建立一个虚拟调度机制。
这个方法同时还简化了主控权和乐观锁争用问题的解决。就是说,您便可以象上面所描述的同样来建立一个记录而后用反向引用链接记录,也能够用全部者指派的隐含更新来构建记录。您没必要同时使用两种方法。
基于角色的用户体验
为了设计、实现和管理变动管理系统,ClearQuest 产品支持基于角色的模型 。
为了咱们的中心目的,同时也为了说明 ClearQuest 文档的目的,IBM Rational 已经肯定了三个常见(实际上很是广泛)角色。大多数其它您可能肯定的角色都是这三个中的具体实例:用户、管理员,以及方案开发者。
用户角色覆盖了全部 ClearQuest 客户端可用的任务,这些任务用来在用户数据库中从新恢复、建立或者修改数据。普通用户任务包括从一个用户数据库中获取信息和对这些记录进行操做,提交变动请求、处理变动请求、修改记录中的信息,以及运行查询。用户多是提交客户请求的支持表明,也多是一个开发人员,质量工程师,信息开发人员,或者提交,分配,处理,解决,以及为一个产品特定发布版本进行变动请求确认的管理者。
管理员的角色用来对数据库、用户,小组进行管理,同时还包括安全策略的管理。一个管理员的常见任务包括配置和维护数据库、管理用户账号,以及设置轻量级目录访问协议(LDAP)的受权。(
中国软件工程网)
方案开发者的角色包括大多数 ClearQuest Designer 中用创建方案的功能,这些方案将定义用户在 ClearQuest 程序用户界面工做的数据库。一个被执行的常见任务包含全部的方案设计以及开发,包括开发状态转变模型、记录、字段和动做类型,以及每一个记录类型、字段和动做的行为,包括钩子(hook) 和脚本,同时还为 ClearQuest 客户端的用户开发窗体。(
中国软件工程网)
在许多变动管理的实现中,可能只有少数的方案开发人员和管理员,可是却有至关多客户端程序的用户——可能有几千的用户。在 IBM Rational 内部开发小组中的确是这样的,然而只有少数方案开发人员和管理员对 RATLC 方案进行支持,并继续进行完善。事实上咱们许多客户的开发团队也是这样的。
然而,这些角色之间的界限是模糊的。好比,同一我的常常会同时担任着管理员和方案开发者的双重角色。相似地,钩子的编写者或者窗体的设计者也多是安全策略的设计者或者管理用户组和许可(也叫作用户权限)的管理员。在 IBM Rational 也有这样的状况,可能有些用户有管理员权限能够建立查询并将它们保存到公共文件夹中,另外他们可以管理一些数据库,或者副本,或者用户和团队。