Инженерия требований

Бизнес-варианты использования и системные варианты использования

Коротко Бизнес-вариант использования описывает, что происходит в бизнесе, когда кто-то извне хочет получить от него результат; системный вариант использования описывает, как пользователь работает с ИТ-системой, которая поддерживает часть этой работы. Если разделять их, проще определить границы проекта до того, как вы начнёте специфицировать ПО.

По материалам: А. Белин, «Бизнес-анализ. Этап начала проекта» (слайды тренинга «UML для IT бизнес-аналитиков», 2005), слайды 35–70.

На этой странице

Главные идеи#

Два вида вариантов использования#

Это разделение не входит в базовый UML (его вводят через расширения UML), но широко распространено на практике, и Белин делает его явным:

  • Бизнес-вариант использования (business use case) описывает взаимодействие с бизнесом в целом, а не с ИТ-системой. Это последовательность действий, которая даёт ценный результат конкретному действующему лицу бизнеса. Пример Белина из страхования: подача заявления о страховом случае.
  • Системный вариант использования (system use case) описывает взаимодействие с ИТ-системой, которая поддерживает часть бизнес-процесса. В том же примере: зарегистрировать заявление, проверить случай, назначить ответственного. У каждого такого варианта обычно одно основное действующее лицо, он выполняется за один сеанс, а в конце пользователь чувствует, что достиг чего-то значимого для бизнеса.

Обычные варианты использования, которые пишет большинство команд, в этом смысле — системные.

Кто изображается на диаграмме бизнес-вариантов использования#

  • Действующие лица бизнеса (business actors) — люди или организации вне бизнеса, например клиенты и поставщики.
  • Работники (workers) — люди внутри бизнеса. Расширенная нотация делит их на работников, взаимодействующих с внешними действующими лицами (case workers), и внутренних работников (internal workers), которые имеют дело только с коллегами.
  • Ассоциации, которые связывают действующих лиц с вариантами использования, где те участвуют.

От бизнес-вариантов к системным: шаги BOOM#

На тренинге Белина представлен BOOM (Business Object Oriented Modeling) — подход из пяти шагов, который встраивает эту работу в проект:

  1. Начало (Initiation): моделирование бизнес-вариантов использования, определение границ, ранние архитектурные решения. Соответствует фазе Envisioning в MSF и Inception в RUP. Подробнее: (а) диаграммы бизнес-вариантов использования и диаграммы деятельности для их содержания; (б) системные варианты использования: действующих лиц находят с помощью карты ролей, а сами варианты группируют в пакеты; (в) первая диаграмма классов для ключевых бизнес-классов; (г) фиксация базовой версии предварительного документа бизнес-требований (BRD).
  2. Исследование (Discovery): полный анализ поведения системы, ключевые архитектурные решения, пик работы над требованиями. Сюда входят описания вариантов использования, диаграммы состояний для ключевых бизнес-объектов, диаграммы классов с атрибутами и операциями, тестовые сценарии, план реализации и вторая базовая версия.
  3. Построение (Construction): проектирование, кодирование, интеграция и тестирование. В каскадных проектах анализ к этому моменту уже завершён; в гибких шаги этапа «Исследование» повторяются в каждой итерации.
  4. Итоговая верификация и валидация (Final Verification and Validation): финальное тестирование перед вводом в эксплуатацию; аналитик проверяет, что каждое требование протестировано.
  5. Завершение (Closeout): поддержка развёртывания и участие в анализе результатов после внедрения.

Выбор нотации для описания потока работ#

Чтобы описать содержание бизнес-варианта использования, нужна нотация потоков работ (workflow). Белин сравнивает пять нотаций; вкратце:

Нотация Сильная сторона Слабая сторона
Системная блок-схема (system flowchart) Интуитивно понятна; для каждого вида входа и выхода свой символ Не UML; много символов, которые нужно выучить
Диаграмма потока работ с дорожками (swimlane) Показывает, кто что делает Не UML
Диаграмма последовательности UML; точно показывает, кто инициирует и кто выполняет каждое действие Часто неинтуитивна для читателей со стороны бизнеса
Диаграмма деятельности UML; простые символы; ветвления и параллельная работа на одной диаграмме Может стать слишком сложной, если нанести на неё все случаи
Диаграмма процесса BPMN Достаточно выразительна для тонких правил потока работ Не UML; трудно читать без подготовки

Вывод Белина: для ИТ-бизнес-аналитика самая полезная из пяти — диаграмма деятельности, потому что её могут читать и аналитики, и конечные пользователи.

Основные элементы диаграммы деятельности: начальный узел, действия, потоки управления, решения со сторожевыми условиями в квадратных скобках, слияния, события (они задерживают поток, пока что-то не произойдёт), разветвления и соединения (fork и join) для параллельной работы и конечный узел. Разделы (partitions), или дорожки, показывают, кто выполняет каждое действие: по одной дорожке на каждое действующее лицо, работника или, если нужно, систему.

Как применять#

  1. Сначала нарисуйте бизнес-варианты использования. Спросите, каких результатов внешние стороны хотят от бизнеса.
  2. Опишите каждый диаграммой деятельности с дорожками — по одной на действующее лицо или работника.
  3. Отметьте действия, которые будет поддерживать ИТ-система. Каждая группа поддерживаемых действий, которые один человек выполняет за один сеанс, — кандидат в системные варианты использования.
  4. Составьте список системных вариантов использования с их основными действующими лицами и сгруппируйте их в пакеты.
  5. Набросайте ключевые бизнес-классы, которые упоминаются в вариантах использования, как первую модель данных.
  6. Зафиксируйте базовую версию документа бизнес-требований до начала детальной спецификации.

Пример#

В «Мастерской» (вымышленной сети веломастерских) бизнес-вариант использования — «Отремонтировать велосипед». Действующее лицо бизнеса — клиент; работники — сотрудники стойки приёма (работники, взаимодействующие с внешними участниками) и механики (внутренние работники); поставщик запчастей — второе действующее лицо бизнеса.

Диаграмма деятельности с дорожками для клиента, стойки приёма, механика и поставщика показывает: запись, сдача велосипеда, диагностика, заказ запчасти при необходимости, ремонт, уведомление, получение велосипеда и оплата. Разветвление позволяет механику взяться за другую работу, пока запчасть в заказе; соединение ждёт завершения обеих ветвей, прежде чем ремонт будет закончен.

На этой основе аналитик выделяет системные варианты использования: Записаться на ремонт (клиент), Зарегистрировать сдачу велосипеда (стойка приёма), Обновить статус ремонта (механик), Заказать запчасть (управляющий мастерской) и Отправить уведомление о готовности (запускается сменой статуса). «Диагностировать неисправность» остаётся ручным шагом без системного варианта использования.

Подводные камни#

  • ИТ-систему вписывают в бизнес-вариант использования. На уровне бизнеса описывайте, что происходит, а не какой экран используется.
  • Каждый шаг бизнеса превращают в системный вариант использования. Некоторые шаги остаются ручными; решение оставить их за границами нужно записать.
  • Перегруженные диаграммы деятельности. Разделите диаграмму по сценариям, когда за ней становится трудно следить.

Источники и что почитать#

  • А. Белин. Бизнес-анализ. Этап начала проекта (тренинг «UML для IT бизнес-аналитиков»), слайды. Luxoft, 2005. Слайды 35–70.