Новые приемы управления требованиями с помощью Rational RequisitePro: Часть 1Источник: IBM developerWorks Россия Кумар Мани, старший IT-архитектор, IBM
В данной серии статей Кумара Мани предлагаются новые приемы, помогающие выявить и проследить архитектурные требования, а также управлять ими. ВведениеВ этой статье описываются новые архитектурные методы и приемы, направленные на проектирование требований, на умение их собирать, анализировать и управлять ими в течение всего жизненного цикла проекта. Хотя в данной статье для иллюстрации этих приемов используется набор инструментов Rational, она не является учебным пособием по использованию этих продуктов. Ваша цель - использовать основные архитектурные методы и применять их в своих проектах. Конечно же, IT-архитекторы, знакомые с Rational, смогут без труда воспроизвести эти методы в своих проектах. Требования важны, поскольку они образуют основу для разработки архитектур. На Рисунке 1 показан метод разработки архитектуры Open Group Architecture Framework Architecture Development Method (TOGAF ADM) и его восемь фаз. Рисунок 1. Метод разработки архитектуры TOGAF Требования, как выражение необходимости, возможности или недостатка, приводят в движение другие фазы в процессе. Однако управление требованиями часто упускается из виду или не применяется должным образом в проектах по разным причинам. IT-архитекторы часто задают следующие вопросы:
IT-специалисты хотели бы, чтобы их технические требования были четко выражены, чтобы им можно было начать кодирование. Менеджеры проектов и клиенты не совсем представляют себе преимущества таких инструментов, как Rational RequisitePro и возможность их использования с инструментами управления проектами, например, Rational Portfolio Manager. (В некоторых проектах используется весь набор инструментов Rational, кроме RequisitePro!) Ответам на эти вопросы и посвящена данная статья. Такие инструменты, как Rational, при правильном использовании могут дать значительные преимущества. Некоторые менеджеры проектов используют такие инструменты (например, RequisitePro) как репозитории для требований; то есть требования импортируются в инструмент как есть , и из него публикуются отчеты. Менеджерам проектов остаётся удивляться, почему они не видят никаких ощутимых преимуществ. Эта статья призвана устранить брешь между литературой о продуктах и литературой о процессах. Документация по инструментальным средствам Rational прекрасно описывает их функции и возможности; литература о процессах содержит описание разнообразных методов и передовой практики. Однако IT-архитекторы все же не представляют себе до конца, как можно извлечь максимальную пользу из этого инструмента. В этой статье вы узнаете о бизнес-требованиях, вариантах использования и базовой трассируемости, а затем о требованиях системного уровня, компонентизации и трассируемости во время тестирования. Корпорация Empire SystemsЧтобы продемонстрировать, как наилучшим образом использовать методы управления архитектурными требованиями, в этой серии статей я буду приводить гипотетические примеры из практики Empire Systems Corporation (ESC), вымышленного производителя и поставщика ПК, ноутбуков, компьютерных компонентов и сопутствующего оборудования, например, Web-камер и микрофонов. ESC уже представлена в Web, и многие из её приложений доступны через Интернет. Теперь руководству компании нужно перевести предприятие на следующий уровень путем рационализации процессов, автоматизации деловой активности, внедрения корпоративной архитектуры, и, в конечном счете, повышения доходов и рентабельности. Бизнес-требованияУдачные IT-проекты начинаются с хороших бизнес-требований. В технической литературе содержится описание многочисленных методов, приемов и передовой практики в области проектирования требований. Однако информация о требованиях, особенно о бизнес-требованиях, зачастую бывает малопонятна, беспорядочна, и, в общем, трудна для восприятия. Недостаточная ясность влияет на интерпретацию бизнес-требований, и, как следствие, на их преобразование в технические требования. Перечислим некоторые основные принципы выработки требований.
Пример требованийУ ESC есть несколько Web-приложений. Поскольку каждое приложение разрабатывалось самостоятельно, клиенты сталкиваются с такими проблемами, как необходимость регистрироваться отдельно в каждом приложении и работать с различными представлениями для каждой бизнес-функции, что вызывает недовольство. В ответ на это бизнес-группа ESC сформулировала следующее требование: BR264: клиенты должны иметь доступ ко всем приложениям ESC через единый интерфейс и регистрироваться только один раз. ESCWeb (основной коммерческий Web-сайт) должен иметь одинаковый вид и функции для всех клиентов. В результате должно сократится количество ошибок пользователей, а удобство работы с сайтом - повыситься. ESCWeb также должен поддерживать мобильных и удаленных клиентов. Очевидно, это требование может быть улучшено. Применяя принципы, мы можем переформулировать его следующим образом. BR264: В ESC5.0 клиенты смогут однократно зарегистрироваться для всех приложений ESC, в том числе ESCWeb, ESCOrderStatus, ESCVendor и ESCSupport.
Прием 1. Определение бизнес-требований в RequisiteProВ этом приеме для записи требования в RequisitePro главное - сохранить тот порядок, который был использован при сборе данных и уточнении требования. Этот прием включает три шага:
Прием 1 завершен. Вы записали понятное и точное бизнес-требование, и готовы перейти к следующей фазе. Этот приём показан на Рисунке 2. Рисунок 2. Использование приема 1 для записи бизнес-требования
Варианты использованияПрием 2 (Связь вариантов использования с требованиями) касается следующей фазы проекта. Как только бизнес-требования будут определены, бизнес-архитектор или аналитик разрабатывает варианты использования для большей ясности. Бизнес-аналитики часто сталкиваются с двумя проблемами, в особенности в больших или сложных проектах:
Как бизнес-требования связаны с вариантами использования? Варианты использования охватывают пользовательское представление; они определяют действия пользователя и ответы системы. Но бизнес-требования служат не только источником для создания вариантов использования. Когда их определяют как функциональные требования, они направляют содержание вариантов использования. Когда их определяют как качества или ограничения, они становятся атрибутами (или альтернативными потоками) вариантов использования. Мы должны уметь записывать естественную связь между бизнес-требованием и вариантом использования и совершать с ним значимые операции, например трассировку или анализ. Существует большое количество материала по моделированию вариантов использования. Обзор вариантов использования выходит за рамки этой статьи, однако мы представим соглашение об именах, которое применяется в реализации приема. Принцип именования для вариантов использованияПочему имеет значение имя варианта использования? Вспомните, для определения требований мы ввели структуру подлежащее-глагол. Это понятие здесь расширено. В модели варианта использования подлежащее представлено исполнителями (actors). Наш принцип именования вариантов использования заключается в том, что варианты использования должны быть названы при помощи настоящего времени или герундия (ing -формы) глагола. В некоторых случаях это помогает включить имя объекта, модифицированного глаголом.
Прием 2. Соединение вариантов использования с требованиямиТеперь пора определить варианты использования и соединить их с требованиями. Цели этого приема - поддерживать ясность в определении вариантов использования и обеспечить их связь с требованиями (трассируемость), выполняя следующие шаги.
Данный прием завершен. Вы начали с называния варианта использования в RequisitePro, что дало вам возможность определять, разрабатывать и трассировать вариант использования полностью в Rose. Это подчеркивает большое преимущество Rational: интеграцию между требованиями, моделированием и конструированием.
ТрассируемостьПочему важна трассируемость? Трассируемость - это способность отслеживать жизнь требования, начиная с происхождения, через различные воплощения, как вперед, так и в обратном направлении. По мере развития предприятий развиваются и системы (и их требования), которые их поддерживают. Трассируемость - это необходимое звено, которое связывает прошлое, настоящее и будущее требований. Отчеты о трассируемости содержат данные, на основании которых можно выполнять различные виды анализа проекта, например анализ затрат, охвата и воздействия. Трассируемость трудно достижима на практике. Главная проблема - в том, что трассируемость рассматривается как дополнительный аспект выработки требований. Требования определены в документах, а модели создаются в Rose. Трассируемость записывается, часто вручную, в электронные таблицы, после того, как завершена работа по моделированию. Поддерживать электронную таблицу сложно и чревато ошибками. Но в большей степени проекту вредит то, что сама электронная таблица служит отчетом о трассируемости и поэтому ее правильность нельзя проверить. Наш следующий прием решает эту проблему. Первая часть приема - ввести дисциплину прослеживания требований при их создании. (Мы показывали это в предыдущем приеме с вариантами использования.) Идея в том, чтобы поддерживать дисциплину во время всего рабочего цикла требования вплоть до теста. Вторая часть - cгенерировать отчеты об охвате (coverage) и "свисаниях" (danglers). Отчет о "свисании"(dangler) - первый уровень анализа воздействия. Основная идея - в том, что эти отчеты, генерируемые автоматически, запрашивают тщательную проверку во время анализа. Охват , судя по названию, предполагает, что каждое требование на одном уровне охватывается (или в дальнейшем определяется) на следующем уровне. Каждый вариант использования, например, должен быть охвачен набором тестовых данных. "Свисания"(danglers) - это требования, которые непреднамеренно "вползли" на один уровень, не имея прецедента на предшествующем уровне. Важно перехватить и то, и другое в начале цикла, поскольку гораздо легче обработать предупреждение на этой стадии, чем работать с отчетом об ошибках после реализации системы. Не менее важно автоматизировать эти функции.
Прием 3. Трассировка охвата и "свисаний"(danglers)Этот прием показывает, как построить представления Coverage и Dangler, чтобы найти пробелы между бизнес-требованиями и вариантами использования. Эти представления соответствуют стандартной инфраструктуре представления RequisitePro. Выполните следующие шаги.
Этот прием завершен. Вы трассировали варианты использования до первоначального бизнес-требования и устранили случайные (ложные) варианты использования и незавершенные бизнес-требования. Ваш проект теперь может спокойно переходить в стадию решения.
ВыводыВ этой статье рассмотрены основы выработки требований и представлены три новых приема для управления архитектурными требованиями. В ней дан обзор основных принципов требований и описаны три приема для управления бизнес-требованиями, вариантами использования и трассируемостью. Тем не менее, мы всё ещё находимся на этапе задачи. Настройтесь на работу с частью 2, которая познакомит вас с этапом решения и различными стадиями разработки решений (в плане архитектуры), и рассмотрит новые приемы по управлению созданием решений. |