Управление прецедентами с помощью Rational Rose и Rational RequisiteProИсточник: Interface Ltd
Содержание
Если неспособность ответить на эти вопросы привела к срыву Ваших планов, пересмотру графиков или поставке продуктов низкого качества - эта статья для Вас! Интегрированное управление прецедентами расширяет возможности моделирования прецедентов в Rational Rose мощными средствами управления требованиями. Дополняя диаграммы прецедентов сортируемыми атрибутами, документами и возможностями трассировки, Интегрированное управление прецедентами помогает управлять большим количеством прецедентов, используемых проектной группой. На современном рынке это наиболее тесный и прочный вид интеграции между инструментами визуального моделирования и управления требованиями. Зачем нужно управление требованиями? Управление требованиями представляет собой систематический подход к поиску, документированию и организации требований. В его отсутствие более двух третей проектов завершаются тем, что они не удовлетворяют потребностям пользователя, выходят за рамки сроков или бюджета (данные отчета CHAOS, подготовленного Standish Group). Почему так много? Причина, как правило, заключается в том, что управление требованиями сродни управлению изменением - а управлять изменением тяжело. К тому же изменение склонно распространяться. Мы живем в динамическом мире: клиенты меняют свое мнение, конкуренты находят лучшие решения прежде, чем мы предлагаем свои, изменяется бизнес-среда. Быть открытым изменениям этой среды, конечно, хорошо, но Вы можете в них увязнуть. Само по себе изменение не так уж плохо. Зло таится в неконтролируемом изменении, влияние которого не было оценено заранее. Управление требованиями повышает вероятность того, что Вы сможете предложить своевременное решение реальных проблем Ваших клиентов. Зачем нужно управление прецедентами? Поскольку прецеденты отражают представление пользователя о том, что должна делать система, они являются требованиями. Следовательно, прецеденты должны участвовать в управлении всеми системными требованиями. Большинство проектов по разработке ПО содержат множество прецедентов, каждый из которых имеет свой приоритет и зависимости, как и любое другое требование. Например, прецедент, описывающий обработку заказа через Интернет, может вытекать из бизнес-потребности повышения прибыли, создаваемой с помощью Интернет. Создание четкой зависимости между прецедентом и его бизнес-потребностью позволяет лучше отреагировать на изменение, влияющее на какое-либо из этих требований. Установка приоритетной, по сравнению с другими, реализации этого прецедента помогает узнать, с чего следует начинать работу. Управление прецедентами вместе со всеми другими требованиями является ключом к пониманию состояния проекта и позволяет создать правильную систему. Значение Интегрированного управления прецедентами состоит в том, что оно полностью интегрирует прецеденты с информацией о требованиях. Интегрированное управление прецедентами начинается с ассоциирования модели Rational Rose с проектом RequisitePro. Эта ассоциация дает контекст для выбора шаблонов документов и атрибутов прецедента из среды Rational Rose. Установить эту ассоциацию можно либо на уровне модели, либо на уровне пакета, где каждый пакет можно ассоциировать с его собственным проектом RequisitePro. Ассоциация пакетов больше подходит для крупных проектов по разработке ПО, в которых могут использоваться либо несколько проектов RequisitePro (как правило, по одному на каждую подсистему), либо различные шаблоны документов прецедента (для бизнес-прецедентов и для системных прецедентов). Проект Rational RequisitePro состоит из нескольких документов Microsoft Word и базы данных (Microsoft Access, Microsoft SQL Server или Oracle) , в которой организована информация о требованиях. Документы прецедентов в RequisitePro содержат обычные текстовые описания прецедентов. Требования в этих документах связаны с базой данных, в которой хранится дополнительная информация о требованиях - атрибуты, трассируемые связи, сведения о версии, история изменений, уровень обеспечения безопасности проекта и другие данные. Из базы данных RequisitePro можно запросить информацию о требовании для проверки его выполнения и оценки влияния изменения. Навигация между Word-средой RequisitePro и Rational Rose достаточно проста. Средства управления требованиями в Rational Rose Средства управления требованиями можно найти в стандартном меню быстрого вызова в навигаторе Rational Rose. Чтобы увидеть новые пункты меню прецедента, просто щелкните прецедент в Rose правой кнопкой мыши (см. рис. 1). К управлению требованиями относятся следующие пункты:
Рисунок 1. Новые пункты меню быстрого вызова в Rose. Рассмотрим эти возможности более подробно. Раньше в Rose для создания документов прецедента и их присоединения к модели прецедента использовалось свойство External File (внешний файл). Новая возможность Интегрированного управления прецедентами выходит за рамки простого присоединения файла к прецеденту Rose. То, что присоединяемые к прецедентам документы являются документами Rational RequisitePro, дает следующие преимущества:
Рисунок 2. Требования в документе Rational RequisitePro.
Чтобы ассоциировать документ с прецедентом Rose, щелкните правой кнопкой мыши прецедент в навигаторе Rose и выберите в меню быстрого вызова пункт Use Case Document > New (Документ прецедента > Создать). Запустится Word-среда RequisitePro с готовым к редактированию документом на основе шаблона. С прецедентом Rose можно также ассоциировать существующий документ RequisitePro, выбрав пункт меню Use Case Document > Associate (Документ прецедента > Ассоциировать). Вторым новым дополнением в меню быстрого вызова является пункт "Requirements Properties" (свойства требований). Требования, как и прецеденты, выражаются не только текстом. У них имеются дополнительные свойства, такие как атрибуты, трассируемые связи, журнал ревизий, а прецеденты также могут быть представлены диаграммами. Атрибуты помогают управлять функциональными границами. Являясь особенно полезными при итеративной разработке, атрибуты позволяют достаточно просто управлять функциональными границами каждой итерации проекта. Благодаря им процесс выбора прецедентов для реализации в конкретном выпуске становится более объективным. Организации слишком часто выбирают прецеденты для реализации на основании личных планов, эмоций или пристрастий. Изменение реализации неудачных решений, принятых в самом начале проекта, обходится тем дороже, чем дальше развивается проект в своем жизненном цикле. Применение атрибутов дает простой способ присвоения объективного весового фактора прецедентам и требованиям. Трассировка помогает оценить влияние изменения и убедиться в выполнении требований. С его помощью можно, например, определить прецеденты, на которые может повлиять будущее изменение бизнеса. Определение трассируемых связей позволяет выполнить запрос по требованиям и ответить на такие вопросы, как "Все ли бизнес-потребности реализованы на уровне прецедентов?" или "У всех ли прецедентов есть тестовые требования?" (Примечание для пользователей Rational Unified Process: Вы можете ознакомиться с информационным документом RUP Стратегии трассировки при управлении требованиями с использованием прецедентов. В нем содержится обзор различных методов трассировки, выбираемых в зависимости от конкретных потребностей.) Ревизии помогают следить за изменениями, их автором, временем и причинами в целях формирования контрольного журнала изменений требования. Это помогает оценить стабильность требований и сконцентрировать усилия в первую очередь на более стабильных из них, по сути уменьшая объем изменений. Чтобы установить атрибуты и отношения прецедента в Rational Rose, щелкните правой кнопкой мыши прецедент в навигаторе Rose и выберите в меню быстрого вызова пункт Requirement Properties > Open (Свойства требования > Открыть). В появившемся диалоговом окне перейдите на вкладку Attributes (атрибуты) и установите значения атрибутов (см. рис. 3). Обратите внимание на то, что предустановленные атрибуты прецедента и их значения можно изменить в проекте RequisitePro, ассоциированном с моделью. В том же диалоговом окне перейдите на вкладку Traceability (трассировка) и установите трассируемые связи между прецедентом и другими требованиями. Рисунок 3. Просмотр и изменение свойств требования для прецедента в Rational Rose. Преимущества управления прецедентами После того, как к прецеденту в Rational Rose был присоединен документ или ему были присвоены свойства требования, он становится частью набора требований в RequisitePro. После этого можно использовать любые возможности Rational RequisitePro для сортировки прецедентов (по приоритету, по номеру итерации и т.д.), для запроса по конкретным прецедентам (например, для выбора прецедентов, запланированных на следующую итерацию) и даже для создания метрик требований. С помощью представления матрицы атрибутов в Rational RequisitePro (см. рис. 4) можно просмотреть все или выбранное подмножество прецедентов и их соответствующие атрибуты. Это помогает организовать информацию о прецедентах и ответить на первый вопрос, поставленный в начале этой статьи: "Как Вы организуете прецеденты?" Вы можете выполнить запросы для определения ответственных за прецеденты, сложности реализации прецедентов или выпуска, в котором они должны быть реализованы ("Можете ли Вы назвать выпуск, в котором реализуется конкретный прецедент?"). Рисунок 4. Представление матрицы атрибутов для прецедентов в Rational RequisitePro. После выбора прецедентов, реализуемых в следующей итерации, следует проверить трассируемость к ним тестовых требований, убедившись в том, что все функции будут протестированы. Представление матрицы трассируемости на рис. 5 показывает связи, установленные между прецедентами и тестовыми сценариями. С помощью этой матрицы можно найти прецеденты, не трассируемые к тестовым требованиям (отвечая на вопрос "Все ли функциональные возможности системы тестируются?" ). Кроме того, тестеры могут выполнить запрос по тестовым требованиям, потенциально задетым изменениями прецедентов, чтобы убедиться в том, что они тестируют наиболее свежие версии функций. Подозрительная связь (красная пунктирная стрелка на рис. 5) указывает на необходимость проверки тестового сценария ТС1.2, вызванную изменением прецедента UC1.3. Запрос по подозрительным связям дает ответ на наш последний вопрос: "На какие тесты влияет изменение какого-либо прецедента?" Рисунок 5. Отношения трассируемости между прецедентами и тестовыми сценариями в Rational RequisitePro. Интегрированное управление прецедентами дополняет прецеденты информацией о требованиях. Это дает пользователю Rational Rose окно реального времени для изменения атрибутов прецедентов, трассируемости и просмотра журнала ревизий из Rose, одновременно с возможностью быстрого перехода к документу прецедента из Rational RequisitePro. Интегрированное управление прецедентами дает менеджерам по требованиям более точную и своевременную рабочую информацию, получаемую непосредственно от пользователей Rose. Совместное управление прецедентами и остальными требованиями улучшает организацию функциональных границ проекта, позволяет контролировать изменения и проверять выполнение требований. Кратко говоря, Интегрированное управление прецедентами помогает обеспечить реализацию именно тех функциональных возможностей, которые были запланированы, и их полное тестирование. |