Чтобы обеспечить контроль проектов разработки ПО и систем, а также их соответствие запросам заказчиков, необходимо рассматривать требования и управлять ими на протяжении всего жизненного цикла разработки. IBM Rational DOORS - это широко распространенное приложение трассировки и управления требованиями для разработки ПО и сложных систем. DOORS можно интегрировать с IBM Rational Team Concert, чтобы создать рабочую среду для всестороннего управления требованиями и совместной работы в любой точке жизненного цикла продукта.
В настоящее время требование глобального обмена информацией является жизненной важным для успеха проекта. Представьте себе, что аналитик требований использует DOORS для определения требований, находясь в Австралии, бизнес-аналитик вводит требования заказчика (чтобы определить значения критичных атрибутов) при помощи DOORS Web Access, находясь в Японии, системные инженеры разрабатывают требования и трассировку, находясь в Англии, а группы разработки и обеспечения качества (quality assurance - QA) находятся в Индии.
У разбросанных по всему миру групп разработчиков и серверы могут быть установлены в разных местах. Как заставить все это работать? В данной статье приводится информация по глобальной установке серверов, и предоставляются примеры. Читатели могут использовать приведенные конфигурации при настройке своей среды.
Предварительные условия
- Информация, приведенная в статье, основана на предположении, что читатели имеют средний уровень знаний в 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.
Совет.
Детали определения потока работ Requirement Change Request, типа элементов работ и соответствия между элементом работы и управлением изменениями в Rational Team Concert приведены в статье Настройка интеграции Rational DOORS и Rational Team Concert (Кристофер Финдлэй) на сайте Jazz.net (EN).
Настройка Rational Team Concert для соединения с DOORS
- Войдите в Rational Team Concert как администратор.
- Перейдите на страницу Application Administration, выберите Application Administration и Application, а затем в разделе Communication меню навигации выберите Consumers (Inbound), как показано на рисунке 1.
Рисунок 1. Consumers (Inbound)
- Создайте учетную запись клиента для Rational DOORS. Введите имя клиента (например, GlobLogistic Consume) и пароль, а затем нажмите Register. Запишите пароль клиента, поскольку его предстоит использовать позднее при настройке Rational DOORS.
Теперь Rational DOORS зарегистрирован в Rational Team Concert в качестве клиента.
- Перейдите к списку разрешенных ключей и запишите автоматически выделенный ключ. Его предстоит использовать позднее при настройке Rational DOORS.
Добавление Rational DOORS в Rational Team Concert в качестве друга (Friend)
- В меню навигации слева нажмите Friends (Outbound), а затем на панели Friends нажмите Add.
- Введите имя соединения (например, GlobLogistic Friends).
- Введите параметры сервиса Rational DOORS. Сервис по умолчанию расположен на Rational DOORS Web Access по URL-адресу https://hostname:8443/dwa/public/rootservices.
- Введите пароль для OAuth. Запишите пароль для OAuth, поскольку его предстоит использовать позднее при настройке Rational DOORS.
- Нажмите Create Friend. Появится подтверждающее сообщение зеленого цвета.
- Нажмите Next. Запишите временный ключ. Его предстоит использовать позднее при настройке Rational DOORS для доступа к Rational Team Concert.
- Нажмите Finish.
Добавление Rational DOORS в Whitelist в Rational Team Concert
- На странице навигации слева нажмите Whitelist (Outbound), а затем Add.
- На панели URL Whitelist введите URL-адрес базы данных Rational DOORS. URL по умолчанию:
https://hostname:8443/
- Нажмите Add. Опять появится подтверждающее сообщение.
Связывание Rational DOORS с проектом в Rational Team Concert
- Откройте проект. На странице Overview найдите Associations и нажмите Add, как показано на рисунке 2.
Рисунок 2. Associations
- В Application выберите соединение Rational DOORS. Отобразится имя, введенное в списке Friends (GlobLogistic Friends).
- Введите имя и пароль на странице входа в Rational DOORS Web Access.
- Вернитесь в Rational Team Concert.
- В Association выберите Provides - Implementation Requests.
- В Artifact Containers выберите модуль Rational DOORS, с которым собираетесь работать.
- Нажмите OK.
- В Association выберите Provides - Requirements Change Requests.
- В Artifact Containers выберите модуль Rational DOORS, с которым собираетесь работать.
- Нажмите OK, а затем Save, чтобы сохранить изменения проекта.
Настройка Rational DOORS для соединения с Rational Team Concert
- Войдите в Rational DOORS как менеджер базы данных.
- Щелкните правой кнопкой мыши на базе данных и выберите Properties. Прокрутите вкладки и выберите вкладку Remote Services.
- Добавьте сервер Rational Team Concert в Server List:
- Нажмите Add и введите имя соединения (например, DOORS_RTC).
- Введите URL-адрес корневых сервисов сервера Rational Team Concert:
https://hostname:port/ccm/rootservices
- Введите имя клиента и пароль OAuth. Вы записали их при настройке Rational Team Concert.
- Нажмите Register. Теперь сервер добавлен в список.
- Добавьте ссылки взаимодействий из проектов Rational Team Concert в базу данных Rational DOORS:
- На панели Collaboration Links нажмите Add.
- Выберите указанный ранее сервер DOORS_RTC. Если появится предупреждение системы безопасности, нажмите Yes.
- Введите имя и пароль на странице входа в Rational Team Concert.
- Выберите проект, к которому хотите обратиться из Rational DOORS (GlobLogistic), затем выберите тип в Link Type и нажмите Add.
- Вернитесь в Rational DOORS, где увидите этот проект на панели Collaboration Links вкладки Remote Services.
Определение шаблона конфигурации Rational DOORS
- Откройте Rational DOORS. Выберите Change Management > Define Configuration Templates, чтобы перейти на страницу Step 1 мастера Configuration Template.
- Введите имя шаблона (например, Configuration Template) и выберите OAuth в качестве способа аутентификации.
- Выберите созданную ранее область проекта Rational Team Concert (GlobLogistic) и нажмите Next, чтобы перейти на страницу входа в Rational Team Concert.
- Если появится окно Security Alert, нажмите Yes.
- Войдите в Rational Team Concert.
Страница Step 2 мастера Configuration Template в Rational DOORS отобразится автоматически.
- Отобразите действия и состояния потока работ Rational Team Concert на действия и состояния потока работ Requirements Change Management.
- По этим URL-адресам можно обратиться к XML-файлам со списками идентификаторов действий и состояний.
- В данном примере введите следующую информацию согласно 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
- Для 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.
- Нажмите Next.
Отобразится страница Step 3 мастера Configuration Template.
- В Use Submit Form выберите Plan Item и в Use Add Form также выберите Plan Item .
- Нажмите Next, пропустите Step 4, опять нажав Next, а затем нажмите Finish.
Новый шаблон конфигурации готов.
Настройка конфигурации модуля в Rational DOORS
Чтобы использовать интеграцию, необходимо настроить модуль в Rational DOORS на использование шаблона конфигурации.
- Откройте Rational DOORS.
- Откройте модуль, с которым будете работать, и выберите Change Management > Configure Module.
- Выберите шаблон Rational Team Concert под названием Configuration Template. Это определит проект для подключения в Rational Team Concert.
- Установите Integration Status в значение ON.
- Установите Enable Requirements Change Management в значение Requirements Change Requests. Вы можете редактировать связанные поля, но не меняйте следующие значения:
- Create RCR Attrs View
- Manage External Links
- Manage Internal DOORS Links
- Выберите DOORS Attributes Managed by RCRs, укажите атрибуты, которыми хотите управлять, и нажмите Apply.
- Установите Enable Requirements Implementation в значение Implementation Requests.
- Отметьте Create IR Attrs View.
- Нажмите Save.
Теперь Rational Team Concert можно использовать в качестве сервера управления изменениями. Прежде чем отправлять запросы изменения требований (RCR), выполните следующие настройки:
- В новом проекте перейдите на вкладку Work Items и выберите Editor Presentations.
- Нажмите пиктограмму плюс (+) со всплывающей подсказкой Add Presentation (см. рисунок 3).
Рисунок 3. Кнопка Add Presentation
- Отметьте Non-Attribute-based Presentation и в ниспадающем меню рядом с Kind выберите Workflow State (см. рисунок 4).
Рисунок 4. Окно Add Presentation
- Нажмите OK.
Workflow State потребуется для контроля состояний RCR между DOORS и Rational Team Concert.
Настройки интеграции 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 - не получена отметка времени OAuth |
Это может случиться на шаге добавления Service Link Type при настройке Rational DOORS для соединения с Rational Team Concert. |
Вероятная причина - несоответствие системного времени между серверами DOORS и Rational Team Concert более чем на 5 минут. Синхронизируйте серверы с сервером времени. Пользователи Windows могут сделать это на вкладке Internet Time в свойствах Microsoft Windows Date and Time Properties. |
Невозможно соединиться с сервером |
Это может случиться на шаге добавления Service Link Type при настройке Rational DOORS для соединения с Rational Team Concert. |
Сервер DOORS не может связаться с сервером Rational Team Concert. Необходимо убедиться, что серверы видят друг друга. |
Настройка серверов и клиентов DOORS в разных регионах
Естественно, сервер DOORS, клиент DOORS и сервер DOORS Web Access будут настраиваться на разных машинах.
Начальные условия
Предполагается, что вы знакомы с установкой сервера DOORS, клиента DOORS и сервера DOORS Web Access на одной и той же машине. Этот раздел посвящен настройке в случае их установки на разных машинах (см. таблицу 2).
Таблица 2. Тестирование виртуальных машин
Имя хоста |
Цель |
Язык |
DOORSServerDE |
сервер DOORS |
German |
DOORSClientJP |
клиент DOORS |
Japanese |
DWAUK |
DOORS Web Access |
English (United Kingdom) |
DOORSClientFR |
клиент DOORS |
French |
Rational Team Concert |
Rational Team Concert |
Simplified Chinese |
Было создано хранилище ключей dwa.keystore и модифицирован файл server.xml для поддержки протокола HTTPS. Подробная информация о хранилище ключей и модификации файла server.xml приведена в записи Create and navigate Implemented by links from DOORS/DWA to new Workitems in RTC блога, посвященного интеграции DOORS и DOORW Web Access (DWA).
Модификация файла DWA_HOME\1.5.0.0\server\festival\config\festival.xml
Измените f:property в соответствии с листингом 1.
Листинг 1. Изменение f: property
<!-- Настраиваемые системные свойства --> <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
- Откройте окно командной строки и перейдите в каталог DOORS_HOME \bin (замените своей информацией все, что выделено курсивом).
- Выполните следующую команду:
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 |
- Перезапустите 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 |
- Проверьте состояние DCN-сервисов при помощи параметра -dcnInfo:
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>dbadmin -data 36677 @DOORSServerDE -dcnInfo |
Состояние должно быть "Data Change Notifications are currently enabled...".
Настройка службы перенаправления DOORS
- Отредактируйте файл DWA_HOME \1.5.0.0\server\festival\config\doorsRedirector.properties.
Примечание.
Дополнительная информация приведена в разделе Служба перенаправления Rational DOORS информационного центра DOORS.
- Задайте значение doors.url.prefix, соответствующее серверу базы данных, обслуживающему Rational DOORS Web Access, в виде doors://host:port/, где host - это имя сервера базы данных Rational DOORS, а port - это номер используемого им порта (обычно, это 36677).
- В разделе Set up a DOORS database server укажите значения dwa.url.prefix, аналогичные значениям -dwaProtocol, -dwaHost и -dwaPort команды dbadmin (см. листинг 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> |
- В сервере InterOp выполните следующую команду:
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin >dbadmin -data 36677 @DOORSServerDE -urlPrefix https://DWAUK:8443/dwa |
Запуск DOORS Web Access
- Остановите сервис DOORS DB, если он еще не остановлен (используйте окно командной строки):
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>doorsd.exe -stop |
- Запустите сервис Web Broker (дважды щелкните левой кнопкой мыши на .bat-файле):
C:\Program Files (x86)\IBM\Rational\DOORS Web Access\1.5.0.0\broker.start.bat |
- Запустите сервер базы данных DOORS (используйте окно командной строки):
C:\Program Files (x86)\IBM\Rational\DOORS\9.4\bin>doorsd.exe -start |
- Запустите DOORS.exe с использованием параметра interop (используйте окно командной строки на машине DOORSClientJP):
C:\Program Files\IBM\Rational\DOORS\9.4\bin>doors.exe -interop -data36677 @DOORSServerDE -brokerHost DWAUK-brokerPort 61616 |
- Запустите сервер DOORS Web Access (дважды щелкните левой кнопкой мыши на .bat-файле):
C:\Program Files (x86)\IBM\Rational\DOORS Web Access\1.5.0.0\server.start.bat |
- Чтобы убедиться, что сервер DOORS Web Access запущен, войдите в https:// DWA_server :8443/dwa, используя свой браузер.
- Идентификатор и пароль те же, что использовались при входе в клиент DOORS.
Настройка серверов и клиентов DOORS в разных регионах
При установке сервера DOORS, клиента DOORS и сервера DOORS Web Access на разных машинах, в разных местах и часовых поясах убедитесь, что время на этих машинах синхронизировано. В противном случае может возникнуть проблема входа в DOORS Web Access (см. таблицу 3).
Таблица 3. Проблема входа и ее решение
Ошибка |
Описание проблемы |
Решение |
CRCRW5016I Login has failed: CRCRW5007I No licenses are available. Contact your Rational DOORS Database Administrator. (Попытка входа в систему не удалась. Нет доступных лицензий. Свяжитесь с администратором Rational DOORS Database.) |
Если время на сервере DOORS, клиенте DOORS и сервере DOORS Web Access не синхронизировано, при попытке входа в DOORS Web Access возникнет ошибка. Весьма вероятна, например, проблема, если на сервере DOORSServerDE 9 мая, на клиенте DOORSClientJP 10 мая, а на DOORSServerDE 8 мая. |
Вероятная причина - несоответствие времени системных часов на сервере DOORS, клиенте DOORS и сервере DOORS Web Access. Синхронизируйте машины с сервером времени. |
Варианты сценариев для мобильной группы
Аналитик требований отправляется из Японии в Сидней, Австралия, где находятся основные пользователи. Компания установила для разработки Rational DOORS Web Access и Rational Team Concert. В следующих подразделах приведены примеры групп, находящихся в разных местах и участвующих в одном проекте разработки.
Пример. Создание требований в DOORS или DOORS Web Access и осуществление запросов в Rational Team Concert из разных регионов
Аналитик требований Эгги отправляется из Токио в Сидней. Она будет находиться в Сиднее около полугода, поэтому устанавливает в своем лаптопе австралийское время.
На последнем совещании пользователи сообщили ей новые требования. При помощи клиента DOORS она добавляет новые требования в 13:15 27 июня по времени Сиднея (см. рисунок 5). Отметка времени этих требований для разработчиков из Великобритании - 4:15 до полудня 27 июня (см. рисунок 6).
Рисунок 5. Добавление нового требования в клиенте DOORS
Рисунок 6. Отметка времени нового требования в Великобритании
Сабрина является старшим менеджером, который руководит проектом. Находясь в Японии, она использует DOORS Web Access для подтверждения нового требования, поступившего в Rational Team Concert в 12:15 после полудня 27 июня (UTC+9) (см. рисунок 7).
Рисунок 7. Сабрина использует DOORS Web Access для подтверждения требования
Шэрон, менеджер проекта, должна создать задачи (Tasks) для группы разработчиков, чтобы они начали писать код. Она находится в Париже, Франция. При помощи Rational Team Concert она создает задачи на основании нового требования в 3:32 после полудня 2 июля (см. рисунок 8).
Рисунок 8. Ввод информации в Rational Team Concert для создания задачи на основании требования
Сабхаджит, разработчик из Мумбаи, Индия, увидит созданную задачу в 1:02 после полудня 2 июля (см. рисунок 9).
Рисунок 9. Просмотр задачи в Rational Team Concert
Пример. Изменение требований в DOORS или DOORS Web Access и существующих элементов работ в Rational Team Concert
Аналитик требований Эгги контактирует со старшим менеджером Сабриной в Японии. Она уточнила требования заказчика и поняла, что некоторые из них нужно изменить. Сабрина входит в DOORS Web Access и изменяет некоторые требования в 7:21 после полудня 26 июня в Токио. Эти изменения обрабатываются сервером Rational Team Concert, находящемся в Пекине, поэтому отметка времени для измененных требований - 6:21 после полудня 26 июня 2012 года (см. рисунок 10).
Рисунок 10. Отметка времени изменения требования в Rational Team Concert
Ссылки по теме