Основы использования Rational RequisiteProД.А. Лесин, С.Н. Томащенко
ОглавлениеВведениеВ последние годы большинство специалистов, связанных с областью производства программного обеспечения (ПО), наверняка много слышали о средствах организации процесса разработки, поставляемых компанией Rational. В линейке продуктов этой компании важное место занимает Rational RequisitePro, основная цель которого - автоматизация процесса управления требованиями. Цель данного документа - продемонстрировать общую последовательность действий, которые обычно выполняются при работе с RequisitePro, и рассказать о некоторых его технических особенностях. Здесь не описываются назначение и все возможности продукта. Также не раскрывается смысл многих терминов, что достаточно подробно выполнено в Rational Unified Process (рубрика "Glossary") Начало работыСразу после запуска RequisitePro появляется небольшая панель (рис.1). Она позволяет выполнять общие действия, например, операции с проектами (создавать, удалять, открывать, закрывать, настраивать), операции с пользователями (добавлять, удалять, устанавливать права), операции с документами и требованиями, находящимися в этих документах, и т.д Рис. 1 С помощью панели RequisitePro происходит запуск трех основных подсистем, которые позволяют:
Создание и настройка проектаСоздание проектаРабота с продуктом начинается с создания нового или открытия существующего проекта RequisitePro. Компания Rational рекомендует создавать только один проект для проектируемой системы и лишь в некоторых случаях - несколько (например, если разрабатывается большая и сложная система, состоящая из ряда автономных частей, то можно создать по одному проекту RequisitePro на каждую часть). Для создания нового проекта выбираем пункт меню панели RequisitePro "Project\New…". Появляется диалоговое окно "Create Rational RequisitePro Project" (рис.2). Рис. 2 Здесь необходимо указать шаблон, на основе которого будет создан новый проект. Шаблоны "Composite Template", "Traditional Template" и "Use-Case Template" содержат готовые наборы типов требований и типов документов, которые можно использовать для начала нового проекта RequisitePro. При выборе одного из указанных шаблонов эти типы требований и документов будут добавлены в новый проект. Описание того, что из себя представляет выделенный шаблон, можно получить в нижнем поле окна "Create Reational RequisitePro Project" (например, на рис.2 описанием выделенного шаблона "Blank" является "Use this template to create a blank project"). Выбор пустого шаблона "Blank" позволит создать новый проект с чистого листа. Выбор "Make New Template" запускает специальный мастер, позволяющий самостоятельно построить новый шаблон на основе имеющегося проекта. При этом в шаблон войдут уже имеющиеся требования и документы этого проекта. Выбираем шаблон "Blank" и нажимаем кнопку "Create". Появляется новый диалог "Rational RequisitePro Project Properties" (рис.3), в котором необходимо указать название создаваемого проекта (под которым он будет зарегистрирован в RequisitePro), заранее созданную папку на диске (где будут храниться файлы проекта), тип базы данных (эта база данных будет содержать требования проекта и некоторую дополнительную информацию) и описание проекта. Рис. 3 Правильный выбор базы данных крайне важен. RequisitePro позволяет взаимодействовать с базами данных, созданными для Microsoft Access , Microsoft SQL Server и Oracle . Компания Rational утверждает, что для команд численностью до 255 человек достаточно использовать базу данных под управлением Microsoft Access , созданную на сервере в одной из папок общего доступа. Для более крупных проектов придется использовать Microsoft SQL Server или Oracle . Кроме того, Web-интерфейс RequisitePro, который позволяет участникам проекта работать с продуктом, используя обычный Интернет-браузер, может быть использован только с Microsoft SQL Server (от версии 7.0 и выше) или Oracle (от версии 7.3 и выше). В данном примере выбран тип базы данных - Microsoft Access. В окне "Select a Project" диалога "Open Project and Documents" (рис.4) выводится список зарегистрированных проектов. RequisitePro автоматически регистрирует создаваемые проекты. Но если проект был создан на другом компьютере, то для работы с ним на текущем его необходимо зарегистрировать. Для этого следует нажать кнопку "Add…" и в появившемся диалоге указать путь к файлам этого проекта. После подтверждения название нового проекта будет добавлено в список зарегистрированных проектов. Чтобы работать с зарегистрированным проектом в RequisitePro, его необходимо открыть. Сразу же после создания этого делать не надо, так как он открывается автоматически. Но в дальнейшем после запуска программы RequisitePro проект должен быть открыт с помощью диалогового окна "Open Project and Documents", которое запускается выбором пункта меню или нажатием кнопки панели инструментов "Open Project…". Проект может быть открыт в режиме "exclusive" (рис.4), который обеспечивает работу только одного пользователя (того, кто открыл этот проект). Никто более не сможет открыть проект до тех пор, пока данный пользователь не закроет его. Режим "exclusive" следует использовать при необходимости изменения каких-либо существенных характеристик проекта (например, удаления атрибутов требований или изменения типа базы данных) Рис. 4 После указанных выше действий необходимо выполнить следующие шаги:
Создание типов требованийКаждое требование должно иметь свой заранее заданный тип, который определяет назначение этого требования (область использования в проекте) и его характеристики. Выбираем пункт меню "Properties" панели RequisitePro, появляется диалог "Project Properties". Для добавления новых типов требований активизируем вкладку "Requirement Types" (рис.5). Рис. 5 Для добавления нового типа требований необходимо нажать на кнопку "Add…", а для редактирования существующего - кнопку "Edit…". После этого в открывшемся диалоге "Requirement Type" (рис.6) заполняются следующие поля:
Поля "Requirement Tag Prefix" и "Initial Requirement #" используются в RequisitePro для служебных целей. Рис. 6 Определение атрибутовДля созданных типов требований необходимо определить атрибуты, которые позволяют ввести своеобразные метрики для оценки требований с пользовательской точки зрения. Примеры атрибутов:
Некоторые атрибуты определяются только для служебных целей и создаются автоматически при выполнении определенных операций. Например, атрибуты "RoseItemId", "RoseModePath" и "RoseType" создаются при выполнении интеграции некоторой модели Rational Rose с проектом RequisitePro. А перед проведением операции по интегрированию базы данных запросов на изменения ClearQuest с текущим проектом RequisitePro, наоборот, необходимо вручную создать атрибуты "Defect" и "Enhancement Request" (если база данных запросов на изменения создана на основе одной из стандартных схем ClearQuest). Разумеется, искусственное удаление в будущем любого из этих атрибутов приведет к нарушению соответствующей функциональности. Для добавления или изменения атрибутов необходимо активизировать вкладку "Attributes" (рис.7). Рис. 7 В левом окне группы "Requirement Attributes" перечислены основные атрибуты типа требования, выбранного в "Requirement Type". Если выделен один из этих атрибутов, то справа по нему выводится дополнительная информация (см. далее). Активный элемент управления "Labels for Attributes" означает, что кнопки группы "Requirement Attributes" позволяют выполнять соответствующие операции над атрибутами списка (добавить атрибут - кнопка "Add…", изменить свойства атрибута - кнопка "Edit…", удалить атрибут - "Delete", передвинуть атрибут в списке - соответственно кнопки "Move Up" и "Move Down"). Нажатие на кнопку "Add" приводит к появлению диалогового окна "Add Attribute" (рис.8). Рис. 8 Поля для заполнения:
Кнопка "Edit…" позволяет вывести похожее диалоговое окно "Edit Attribute". Если атрибут, выделенный в "Labels for Attributes" (рис.7), имеет тип "список значений", то справа от списка атрибутов выводится дополнительное окно "Values per Attribute". В нем для этого атрибута отображается список возможных значений, который может быть отредактирован (можно добавлять, изменять или удалять значения). Редактирование выполняется теми же кнопками, как и при работе с самим списков атрибутов, но при этом должна быть активирована радиокнопка "Values per Attribute". Для атрибутов других типов справа от списка атрибутов просто выводится дополнительная информация о выделенном атрибуте. При создании нового типа требований RequisitePro по умолчанию создает для него начальный набор атрибутов, который можно взять за основу. Создание типов документовКаждый документ RequisitePro должен иметь свой тип, который определяет основное назначение этого документа (область использования в проекте). Для создания нового типа документов необходимо активизировать вкладку "Document Types" (рис.9) и нажать кнопку "Add…". Рис. 9 Открывается диалоговое окно "Document Type" (рис.10). Поля для заполнения:
Рис. 10 Требований в документах RequisitePro может быть очень много, и было бы затруднительно вручную устанавливать для каждого создаваемого требования его тип. Чтобы этого избежать RequisitePro позволяет для каждого типа документов задавать тип требования по умолчанию. Для этого в элементе управления "Default Requirement Type" из списка существующих типов требований выбирается тот, который будет типом требований по умолчанию. Если необходимый тип требований еще не создан, то с помощью кнопки "New…" можно создать новый тип требований, не закрывая текущего окна диалога. Группа элементов управления "Outline" позволяет определить шаблон Microsoft Word, который будет загружаться при создании новых документов данного типа документов. Для добавления собственного шаблона к группе шаблонов "Outline" необходимо выполнить следующее:
Добавление требованийТребования в документахМножество документов проекта может содержать самые разнообразные требования к создаваемому продукту или к процессу создания этого продукта. Такие документы должны быть созданы или импортированы в проект RequisitePro. Далее в них будут созданы необходимые требования описанным впоследствии способом (рис.12). Создать документ в RequisitePro можно двумя способами:
Рис. 11 В открывшемся диалоге "Document Properties" доступны следующие поля:
Заполнив новый документ, можно начать создавать требования в нем. Для этого выделяется необходимый фрагмент текста, который представляет очередное требование, и с помощью главного или контекстного меню Word активируется пункт "Create Requirements" (рис.12). Рис. 12 В открывшемся многостраничном диалоговом окне "Requirement Properties" указываются следующие данные:
При создании или изменении требования следует указать, с какими другими требованиями трассируется данное ("Trace To"). Т.е. фактически задается направление трассировки (рис.13). Здесь же можно указать те требования, которые ссылаются на текущее ("Trace From"). Рис. 13 RequisitePro ViewsИногда полезно раскрыть какое-либо требование, разбив его на дочерние (в дальнейшем будет проще отследить, какая часть родительского требования уже выполнена, а какая еще нет). Но эти дочерние требования необязательно должны входить в какой-нибудь из документов проекта. Тогда приходится создавать требования прямо в базе данных. Такие операции выполняются с помощью модуля RequisitePro Views. Для того, чтобы работать с требованиями в RequisitePro Views, прежде всего, необходимо создать вид. Вид представляет собой способ графического отображения определенных списков требований (вид можно создать, выбрав пункт главного меню "File\New View…" модуля RequisitePro Views). Виды позволяют применять фильтрацию для вывода лишь части требований. Например, легко создать вид, который выведет все требования некоторого типа со значением "Нереализовано" атрибута "Статус" и назначенные для исполнения одному из участников проекта. Основные два типа видов, с которыми приходится работать больше всего:
Рис. 14
Трассировка требований определяет логическую связь между двумя различными требованиями. При добавлении нового требования необходимо оценить, изменение каких требований может привести к изменению добавляемого (или, иначе говоря, какие другие требования будут подозреваться на изменение при изменении текущего). Если такие требования выявлены, то необходимо установить трассировку по отношению к ним со стороны текущего. Виды типа "Traceability Matrix " позволяют устанавливать такую трассировку, а также диагностировать, какие требования подозреваются на изменение. При создании вида этого типа необходимо указать типы требований, между требованиями которых установлена трассировка (рис.15). Можно трассировать требования одного или разных типов. Более того, можно трассировать требования, расположенные в разных проектах RequisitePro. Для этого в свойствах данного типа требований должен быть установлен переключатель "Allow External Traceability" (рис.6). Рис. 15 Открытие вида типа "Traceability Matrix" отображает связи между трассируемыми требованиями в виде стрелок. При этом особое внимание следует уделять тем требованиям, стрелки которых перечеркнуты. Таким образом выделяются требования, которые подозреваются на изменение. RequisitePro автоматически перечеркивает стрелки трассируемых требований, если изменяется одно из них. Кроме того, Вы вручную можете перечеркнуть стрелку, выбрав пункт контекстного меню "Mark Suspected" для соответствующего поля вида. Виды типа "Traceability Matrix" используются для выявления требований, которые могут потребовать корректировки. Общий порядок работы в этом случае следующий:
Рис. 16 ОбсужденияRequisitePro позволяет проводить и сохранять обсуждения в текущем проекте. Они проводятся между участниками этого проекта. Обсуждения могут быть привязаны:
Работа с обсуждениями осуществляется в окне "Discussion" (рис.17), которое вызывается выбором пункта меню "Project\Discussions" или соответствующей кнопки панели инструментов RequisitePro (рис.1). Рис. 17 Каждое обсуждение представляет собой определенную тему, которая отображается в виде главного узла, и комментарии к ней, отображаемые в виде дочерних узлов. Тема для обсуждения задается с помощью кнопки "Create…". На рис.17 можно видеть две заданные темы для обсуждений: "Microsoft SQL Server" и "Предлагаю новый прецедент для модели прецедентов". Свой собственный комментарий добавляется с помощью кнопки "Reply…". Можно создавать комментарии для всей темы (тогда перед нажатием кнопки "Reply…" следует мышью выделить узел этой темы) или для отдельного комментария другого участника обсуждения (в этом случае необходимо выделить указанный комментарий). Непрочитанные темы и непрочитанные комментарии к ним выделяются жирным шрифтом для текущего пользователя. Удалить можно только всю тему целиком, но не отдельные ее комментарии. Сделать это может только тот участник проекта, который создал эту тему. При этом она должна быть закрыта. Для закрытия темы необходимо выделить ее узел и нажать на кнопку "Properties". Появится диалоговое окно "Discussion Properties". Теперь следует активировать вкладку "Attrbutes" (рис.18). Затем изменить значение "Status" на "Closed" и нажать кнопку "OK". Следствием проделанного выше будет доступность кнопки "Delete" (рис.17) для выделенной темы, что позволит удалить все обсуждение (включая все комментарии) по ней. Рис. 18 Кнопка "Filter…" позволяет создавать фильтры, которые будут ограничивать область использования тех или иных тем для обсуждений. Эти фильтры позволяют привязать обсуждение лишь к определенным требованиям и(или) участникам проекта, отобразить только заданные темы. Можно, например, отфильтровать темы по их названиям, по приоритету (высокий, средний, низкий), по статусу (открытый, закрытый), по наличию прочитанных или непрочитанных комментариев в своем составе. P.S.Совсем необязательно использовать RequisitePro только для процесса управления требованиями. Он может быть полезен и тогда, когда создается множество взаимосвязанной документации. Определяя в RequisitePro различные части этих документов, как требования, и устанавливая трассировку между ними, появляется возможность отслеживания изменений в этих частях. Следовательно, если какая-либо часть одного из документов была изменена, то легко проследить, какие части этого или других документов необходимо в первую очередь просмотреть для внесения в них возможных исправлений. |