为分布在全球的员工配置 DOORS 和 Rational Team Concert

Rational DOORS 是一个获得广泛认可的需求管理和可跟踪性应用程序,适用于复杂的系统和软件开发。它可与 Rational Team Concert 相集成,提供了可用于整个产品开发生命周期中的全面的需求管理和协作式变更管理工作环境。但是可以想象这样一个场景:需求分析师在澳大利亚使用 DOORS 建立需求,业务分析师通过日本的 DOORS Web Access 输入利益相关者请求来建立关键属性价值,系统工程师从英国开发需求并创建可跟踪性,而开发和质量保证团队位于印度。此外,您的服务器可能没有安装在同一个位置。本文将介绍如何全球性地设置服务器和计算机,并会提供一些示例。读者可按照下面的配置来配置自己的工作环境。前提条件是:本文中的说明假设读者对 Rational Team Concert 和 Rational DOORS 的知识达到中等水平。

Aggie Tang, 软件工程师, IBM

Aggie 是位于中国的 IBM Globalization Shared Services Center 的软件工程师。她领导着 Rational 产品的全球化测试。



Sharon Chen, 项目经理, IBM

Sharon 是位于中国的 IBM Globalization Shared Services Center 的项目经理。她管理 Rational 产品的全球化测试和翻译。



Yu Qin Dong, 软件工程师, IBM

Yuqin 是位于中国的 IBM Globalization Shared Services Center 的软件工程师。她负责 Rational 产品的全球化测试。



2013 年 3 月 18 日

要确保系统和软件开发项目保持正轨且客户需求得以满足,必须在整个开发生命周期中考虑和管理需求。IBM® Rational® DOORS® 是一个得到广泛认可的需求管理和可跟踪性应用程序,适用于复杂的系统和软件开发。DOORS 可与 IBM® Rational Team Concert™ 相集成,在整个产品生命周期的任何阶段进行需求管理,并建立一个协作式工作环境。

如今,向全球传达需求对项目成功与否至关重要。想象这样一个场景:需求分析师在澳大利亚使用 DOORS 建立需求,业务分析师通过日本的 DOORS Web Access 输入利益相关者请求,从而确定关键属性值,系统工程师在英国开发需求和创建可跟踪性,开发和质量保证团队位于印度。

在一个全球分布的团队中,您可能没有将服务器安装在同一个位置。那么如何让它们正常工作?本文将重点介绍全球性地设置这些服务器的重要信息,并提供一些示例。您可按照下面的配置来配置自己的工作环境。

先决条件

  • 本文中的信息假设读者拥有对 Rational Team Concert 和 Rational DOORS 知识的中等水平。
  • 您还需要安装 Rational Team Concert。

安装和配置示例基于 DOORS 9.4 和 DOORS Web Access Version 1.5,Rational Team Concert 示例基于 Version 3.0.1。

在来自不同区域的 Rational Team Concert 和 DOORS 之间建立联系

这一节将介绍 Rational Team Concert 和 DOORS 在继续执行它们之间的业务流程之前的彼此识别(握手)过程。

现有条件

  • DOORS 和 DOORS Web Access 已启动,DOORS Web Access HTTPS 已启用。
  • 我们在 Rational Team Concert 中创建的项目区域称为 GlobLogistic

提示:
有关定义需求变请求工作流、工作项类型及变更管理与 Rational Team Concert 中的工作项之间的对应关系的详细信息,请参阅 Christopher Findlay 撰写的 Jazz.net 文章 “配置 Rational DOORS 和 Rational Team Concert 以集成它们”。

设置 Rational Team Concert 以允许建立来自 DOORS 的连接

  1. 以管理员身份登录到 Rational Team Concert。
  2. 转到 Application Administration 页面,选择 Application Administration,然后选择 Application,在导航菜单的 Communication 部分中,单击 Consumers (Inbound),如图 1 所示。
图 1. Consumers (Inbound)
Communication 菜单,选择了 Consumers (Inbound)
  1. 为 Rational DOORS 创建一个用户实体。输入一个用户名(例如 GlobLogistic Consume),输入一个用户密码,然后单击 Register。记下用户密码,因为在后面设置 Rational DOORS 时会用到它。

Rational DOORS 现在已在 Rational Team Concert 中注册为一个用户。

  1. 导航到已授权密钥的列表,记下自动分配的用户密钥。在后面设置 Rational DOORS 时会用到它。

将 Rational DOORS 作为一个好友添加到 Rational Team Concert 中

  1. 在左侧的导航菜单上,单击 Friends (Outbound),在 Friends 窗格中,单击 Add
  2. 为连接输入一个名称(例如 GlobLogistic Friends)。
  3. 输入 Rational DOORS 服务的详细信息。此服务使用以下默认 URL 托管在 Rational DOORS Web Access 上:
    https://hostname:8443/dwa/public/rootservices
  4. 输入一个 OAuth 密码。记住这个 OAuth 密码,因为在后面设置 Rational DOORS 时还会用到它。
  5. 单击 Create Friend。此时会显示一条绿色的确认消息。
  6. 单击 Next。记下配置密钥。在后面配置 Rational DOORS 来访问 Rational Team Concert 时会用到它。
  7. 单击 Finish

将 Rational DOORS 添加 Rational Team Concert 中的白名单中

  1. 在左侧的导航页面中,单击 Whitelist (Outbound),然后单击 Add
  2. 在 URL Whitelist 窗格中,输入 Rational DOORS 数据库的 URL。默认 URL 为:
    https://hostname:8443/
  3. 单击 Add。再次声明,您应获得一条确认通知。

将 Rational DOORS 与 Rational Team Concert 中的项目相关联

  1. 打开项目。在 Overview 页面上,向下滚动到 Associations,单击 Add,如图 2 所示。
图 2. Association
Associations 屏幕部分
  1. 在 Application 中,选择 Rational DOORS 连接。显示的名称与您在 Friends 列表中输入的名称相同 (GlobLogistic Friends)。
  2. 从 Rational DOORS Web Access 登录屏幕进行登录。
  3. 返回到 Rational Team Concert。
  4. 在 Association 中,选择 Provides - Implementation Requests
  5. 在 Artifact Containers 中,选择您希望使用的 Rational DOORS 模块。
  6. 单击 OK
  7. 在 Association 中,选择 Provides - Requirements Change Requests
  8. 在 Artifact Containers 中,选择您希望使用的 Rational DOORS 模块。
  9. 单击 OK,然后单击 Save 以保存项目更新。

设置 Rational DOORS 以连接 Rational Team Concert

  1. 以数据库经理身份登录 Rational DOORS。
  2. 右键单击数据库根,选择 Properties。滚动各个选项卡并单击 Remote Services 选项卡。
  3. 将 Rational Team Concert 服务器添加到 Server List 中:
    1. 单击 Add,为连接输入一个名称(例如 DOORS_RTC)。
    2. 输入 Rational Team Concert 服务器的根服务的 URL:
      https://hostname:port/ccm/rootservices。
    3. 输入用户密钥,然后在 OAuth 密码中输入用户密码。您已在设置 Rational Team Concert 时记下了这些信息。
    4. 单击 Register。服务器现在已添加到列表中。
  4. 将来自 Rational Team Concert 项目的协作链接添加到 Rational DOORS 数据库中:
    1. 在 Collaboration Links 窗格中,单击 Add
    2. 选择您注册的服务器 DOORS_RTC。如果显示安全警告,那么请单击 Yes
    3. 在 Rational Team Concert 的登录页面上登录。
    4. 选择您希望从 Rational DOORS 访问的项目 GlobLogistic,在 Link Type 下选择一个类型并单击 Add
  5. 返回到 Rational DOORS,您会在这里看到 Remote Services 选项卡的 Collaboration Links 窗格中显示了该项目。

在 Rational DOORS 中定义一个配置模板

  1. 打开 Rational DOORS。单击 Change Management > Define Configuration Templates 到达 Configuration Template 向导的第 1 步。
  2. 为模板输入一个名称(例如 Configuration Template),选择 OAuth 作为身份验证方法。
  3. 选择您配置的 Rational Team Concert 项目区域 (GlobLogistic),单击 Next 转到 Rational Team Concert 登录屏幕。
  4. 如果显示了一个 Security Alert 窗口,则单击 Yes
  5. 登录到 Rational Team Concert。

Rational DOORS 中的 Configuration Template 向导的第 2 步会自动显示。

  1. 将 Rational Team Concert 工作流状态和操作映射到 Requirements Change Management 工作流中的状态和操作。
  2. 当打开这些 URL 时,将会显示一个 XML 文件,用于列出状态标识符和操作标识符。
  3. 在本示例中,根据 XML 文件输入以下信息:
    • Assigned State:demo.workitem.rcrWorkflow.state.s5
    • Review State:demo.workitem.rcrWorkflow.state.s2
    • Approved State:demo.workitem.rcrWorkflow.state.s3
    • Applied State:demo.workitem.rcrWorkflow.state.s6
  4. 然后,对于 Rational Team Concert,选择:
    • 在 Apply Action Attribute 中,输入操作标识符:
      demo.workitem.rcrWorkflow.action.a1
    • 在 Review Action Attribute 中,输入操作标识符:demo.workitem.rcrWorkflow.action.a6
    • 在 State Attribute 中,输入 rtc_cm:state。
    • 在 RCR Submit Form 中,选择 Requirement Change Request
    • 在 Conflicting Proposal Behavior 中,选择 Take no action
    • 勾选 DOORS Web Access 中的 Show RCR Recording Report,并清除 Enable Reject 按钮。
  5. 单击 Next

此时将会显示 Configuration Template 向导的第 3 步。

  1. 在 Use Submit Form 中,选择 Plan Item,在 Use Add Form 中,也选择 Plan Item
  2. 单击 Next,保留第 4 步为空白,再次单击 Next,然后单击 Finish

现在新的配置模板已准备就绪。

在 Rational DOORS 中设置模块配置

要使用集成,必须在 Rational DOORS 设置该模块,以便使用配置模板。

  1. 打开 Rational DOORS。
  2. 打开您希望使用的模块,单击 Change Management > Configure Module
  3. 选择名为 Configuration Template 的 Rational Team Concert 模板。这定义了您将在 Rational Team Concert 中连接到的项目。
  4. 将 Integration Status 设置为 ON
  5. 设置 Enable Requirements Change Management,以便使用 Requirements Change Requests。您可以编辑相关的字段,但需要保留以下选择:
    • Create RCR Attrs View
    • Manage External Links
    • Manage Internal DOORS Links
  6. 选择 DOORS Attributes Managed by RCRs,选择您希望管理的属性,然后单击 Apply
  7. 设置 Enable Requirements Implementation,以便使用 Implementation Requests
  8. 勾选 Create IR Attrs View
  9. 单击 Save

现在可以使用 Rational Team Concert 作为变更管理服务器。在开始发送需求变更请求 (RCR) 之前,确保完成了以下配置:

  1. 在新项目中,单击 Work Items 选项卡,选择 Editor Presentations
  2. 单击 + (加号)图标,它的悬浮显示标题显示了 Add Presentation,如图 3 所示。
图 3. Add Presentation 按钮
单击 Add Presentations 上方的 X
  1. 勾选 Non-Attribute-based Presentation,从 Kind 的下拉菜单中选择 Workflow State,如图 4 所示。
图 4. Add Presentation 窗口
为 Kind 字段选择的 Workflow State
  1. 单击 OK

您需要使用 Workflow State 在 DOORS 和 Rational Team Concert 之间控制 RCR 状态。

集成来自不同区域的 DOORS 和 Rational Team Concert 的设置

当在不同区域设置 DOORS 和 Rational Team Concert 时,无论您将 DOORS 服务器和客户端或 Rational Team Concert 放在何处,日期和时间设置都应是该时区的本地设置。例如,如果 Rational Team Concert 位于中国北京,DOORS 服务器位于德国柏林,那么 DOORS 服务器的日期和时间设置应为欧洲中部时间 UTC+1,Rational Team Concert 的日期和时间设置应为太平洋时间 UTC+8。

表 1 提供了故障排除技巧。

表 1. 常见错误和解决方法
错误问题描述解决方法
GET failed – OAuth time stamp was refused 在设置 Rational DOORS 以允许建立来自 Rational Team Concert 的连接时,在添加 Service Link Type 的步骤中可能会出现这种情况。原因可能是 DOORS 服务器与 Rational Team Concert 服务器之间存在超过 5 分钟的系统时钟时间差异。请将机器与一个时间服务器同步。对于 Windows 用户,可通过 Microsoft Windows “Date and Time Properties” 的 Internet Time 选项卡来设置此值。
Unable to connect to server 在设置 Rational DOORS 以允许建立来自 Rational Team Concert 的连接时,在添加 Service Link Type 的步骤中可能会出现这种情况。DOORS 服务器无法连接 Rational Team Concert 服务器。应采取相应步骤,确保服务器可 “看到” 彼此。

在不同区域配置 DOORS 服务器和客户端

当然,您将在不同的机器上配置 DOORS 服务器、DOORS 客户端和 DOORS Web Access 服务器。

现有条件

这些说明假设您知道如何在同一个机器上安装 DOORS 服务器、DOORS 客户端和 DOORS Web Access。在以下各节中,我们会重点介绍将它们安装在不同机器上时的配置,如表 2 “测试虚拟机” 中所示。

表 2. 测试虚拟机
主机名用途语言
DOORSServerDE DOORS 服务器德语
DOORSClientJP DOORS 客户端日语
DWAUK DOORS Web Access 英语(英国)
DOORSClientFR DOORS 客户端法语
Rational Team Concert Rational Team Concert 简体中文

dwa.keystore 已生成,已经对 server.xml 文件进行了修改,以便支持 HTTPS。有关密钥库和 server.xml 文件修改的更多细节,请查阅 DOORS 或 DOORW Web Access (DWA) 集成中的 Create and navigate Implemented by links from DOORS/DWA to new Workitems in RTC 博客文章

Modify DWA_HOME\1.5.0.0\server\festival\config\festival.xml

修改 f:property,如清单 1 所示。

清单 1. 修改 f: 属性
<!-- Configurable system properties -->
  <f:properties>
      <f:property name="licence.server.location" value="27000@license server hostname"/>
      <f:property name="display.redirector.urls" value="true"/>            
      <f:property name="published.url.prefix" value="https://DWAUK.tw.ibm.com:8443/doors
      /redirector/"/>
                           
  <f:property name="ForceHttpsForAuthenticationForOAuth" value="true"/>
  <f:property name="oauth.domain" value="https://DWAUK.tw.ibm.com:8443/dwa"/> 
  </f:properties>

设置一个 DOORS 数据库服务器

  1. 打开一个命令提示符,将目录更改为(将所有斜体内容替换为您的信息)DOORS_HOME\bin。
  2. 执行以下命令:
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>dbadmin -data 36677
@DOORSServerDE -dcnEnable -dcnBrokerUri tcp://DWAUK:61616 -dcnChannelName dcn 
-dwaProtocol https -dwaHost DWAUK -dwaPort 8443
  1. 重新启动 DOORS,让数据增加操作生效:
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>doorsd -stop
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>doorsd -start
  1. 使用 -dcnInfo 参数检查 DCN 服务状态:
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>dbadmin -data 36677
@DOORSServerDE -dcnInfo

确保状态为 “Data Change Notifications are currently enabled...”

配置 DOORS 重定向服务

  1. 编辑 DWA_HOME\1.5.0.0\server\festival\config\doorsRedirector.properties 文件。

注意:
有关更多信息,请参阅 DOORS 信息中心中的 Rational DOORS 重定向服务 主题。

  1. 设置 doors.url.prefix 值,使之与 Rational DOORS Web Access in the doors://host:port/ 表单中提供 Rational DOORS Web Access 的数据库服务器匹配,其中 host 是 Rational DOORS 数据库服务器系统的名称,port 是它使用的端口号(通常为 36677)。
  2. 在 “Set up a DOORS database server” 部分中,将 dwa.url.prefix 值设置为您在 dbadmin 命令中为 -dwaProtocol、-dwaHost 和 –dwaPort 输入的值,如清单 2 所示。
清单 2. 设置 dwa.url.prefix 值
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties>
<comment>Configuration written: Mon Apr 30 10:19:07 CST 2012</comment>
<entry key="dwa.url.prefix">https://DWAUK.tw.ibm.com:8443/dwa</entry>
<entry key="doors.enable">true</entry>
<entry key="doors.url.prefix">doors://DOORSClientJP.tw.ibm.com:36677/</entry>
<entry key="dwa.enable">true</entry>
</properties>
  1. 在 InterOp 服务器中输入此命令:
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>dbadmin -data 36677
@DOORSServerDE -urlPrefix https://DWAUK:8443/dwa

运行 DOORS Web Access

  1. 停止 DOORS DB 服务,如果它还未停止(使用命令窗口)。
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>doorsd.exe -stop
  1. 启动 Web Broker 服务(双击 .bat 文件):
C:\Program Files (x86)\IBM\Rational\DOORS Web Access\1.5.0.0\broker.start.bat
  1. 启动 DOORS 数据库服务器(使用命令窗口:
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>doorsd.exe -start
  1. 使用 Interop 启动 DOORS.exe(使用 DOORSClientJP 机器上的命令窗口):
C:\Program Files\IBM\Rational\DOORS\9.4\bin>doors.exe -interop -data36677
@DOORSServerDE -brokerHost DWAUK-brokerPort 61616
  1. 启动 DOORS Web Access 服务器(双击 .bat 文件)
C:\Program Files (x86)\IBM\Rational\DOORS Web Access\1.5.0.0\server.start.bat
  1. 使用浏览器登录到 https://DWA_server:8443/dwa,验证 DOORS Web Access 服务器是否正在运行。
  2. ID 和密码与您用于登录 DOORS 客户端的 ID 和密码相同。

在不同区域配置 DOORS 服务器和客户端

在将 DOORS 服务器、DOORS 客户端和 DOORS Web Access 安装在具有不同位置和时区的不同机器上时,确保机器上的时间是同步的。否则,将发生 DOORS Web Access 登录问题,如表 3 所示。

表 3. 登录问题和解决方法
错误问题描述解决方法
CRCRW5016I Login has failed: CRCRW5007I No licenses are available.
联系您的 Rational DOORS 数据库管理员。
如果 DOORS 服务器、DOORS 客户端和 DOORS Web Access 的时间不同步,那么在登录到 DOORS Web Access 时,就会发生登录错误。例如,如果 DOORSServerDE 的日期为 5 月 9 日,DOORSClientJP 为 5 月 10 日,DWAUK 为 5 与 8 日,那么就有可能出现问题。原因可能是 DOORS 服务器或客户端与 DOORS Web Access 存在系统时钟时间差异。请将这些机器与时间服务器同步。

一个移动项目团队的用例场景

一位需求分析师从日本出差到澳大利亚悉尼,这里有一些重要用户。该公司为了进行开发工作而设置了 Rational DOORS Web Access 和 Rational Team Concert。后面几节提供了来自不同地点的团队实现同一个开发项目的示例。

示例:在 DOORS 或 DOORS Web Access 中创建需求,在不同区域的 Rational Team Concert 中实现请求

需求分析师 Aggie 将其笔记本电脑从东京带到悉尼。她将在悉尼停留半年,所以她将笔记本电脑的时间设置更改为澳大利亚时间。

在最近与用户的会面中,她了解到了一些新需求。她在悉尼的 6 月 27 日 13:15 使用 DOORS 客户端添加了新需求(图 5)。这些需求的时间戳对英国的开发人员而言是凌晨 6 月 27 日凌晨 4:15,如图 6 所示。

图 5. 在 DOORS 客户端中添加一个新需求
Submit Request 对话框窗口
图 6. 新需求在英国的时间戳
创建日期显示为 6 月 27 日凌晨 4:15

Sabrina 是发起该项目的高级经理。她居住在日本,在 6 月 27 日下午 12:15,她使用 DOORS Web Access 确认链接到 Rational Team Concert 的新需求(图 7)。

图 7. Sabrina 使用 DOORS Web Access 确认需求对象
Requirement Change Request 48 的对话框窗口

项目经理 Sharon 需要为开发团队创建任务,以便他们可开始编写代码。她位于法国巴黎。她在 7 月 2 日下午 3:32 使用 Rational Team Concert 根据新需求创建了任务(图 8)。

图 8. 在 Rational Team Concert 中输入详细信息,以便根据需求创建任务
在 7 月 2 日下午 3:32 创建任务

位于印度孟买的开发人员 Subhajit 将看到一个在 7 月 2 日下午 1:02 创建的任务(图 9)。

图 9. 从 Rational Team Concert 查看任务
任务的时间戳为 7 月 2 日下午 1:02

示例:更新 DOORS 或 DOORS Web Access 中的需求和 Rational Team Concert 中的现有工作项

需求分析师 Aggie 在日本会见了高级经理 Sabrina。她向这位利益相关者进一步阐述了需求,认识到其中一些需求需要更新。她登录到 DOORS Web Access 并在东京的 6 月 26 日下午 7:21 修改了一些需求。这些更改通过位于北京的 Rational Team Concert 服务器处理,所以更改的需求的时间戳将为 2012 年 6 月 26 日下午 6:21,如图 10 所示。

图 10. Rational Team Concert 中的需求更改时间戳
创建时间显示为 6 月 26 日下午 6:21

参考资料

学习

获得产品和技术

  • 获取 Rational DOORS Web Access 的 免费试用版下载
  • Jazz.net 下载 Rational Team Concert,并在多达 10 个项目上免费试用它,只要您愿意(需要注册)。如果您喜欢,可在沙盒中试用它,而无需将它安装在您自己的系统上。
  • 以最适合您的方式 评估 IBM 软件:下载试用版,在云环境中使用它,或者在 SOA 沙盒 中花几小时学习如何高效地实现面向服务的架构。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=863354
ArticleTitle=为分布在全球的员工配置 DOORS 和 Rational Team Concert
publish-date=03182013