Бизнес-варианты использования и системные варианты использования
Коротко Бизнес-вариант использования описывает, что происходит в бизнесе, когда кто-то извне хочет получить от него результат; системный вариант использования описывает, как пользователь работает с ИТ-системой, которая поддерживает часть этой работы. Если разделять их, проще определить границы проекта до того, как вы начнёте специфицировать ПО.
По материалам: А. Белин, «Бизнес-анализ. Этап начала проекта» (слайды тренинга «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) — подход из пяти шагов, который встраивает эту работу в проект:
- Начало (Initiation): моделирование бизнес-вариантов использования, определение границ, ранние архитектурные решения. Соответствует фазе Envisioning в MSF и Inception в RUP. Подробнее: (а) диаграммы бизнес-вариантов использования и диаграммы деятельности для их содержания; (б) системные варианты использования: действующих лиц находят с помощью карты ролей, а сами варианты группируют в пакеты; (в) первая диаграмма классов для ключевых бизнес-классов; (г) фиксация базовой версии предварительного документа бизнес-требований (BRD).
- Исследование (Discovery): полный анализ поведения системы, ключевые архитектурные решения, пик работы над требованиями. Сюда входят описания вариантов использования, диаграммы состояний для ключевых бизнес-объектов, диаграммы классов с атрибутами и операциями, тестовые сценарии, план реализации и вторая базовая версия.
- Построение (Construction): проектирование, кодирование, интеграция и тестирование. В каскадных проектах анализ к этому моменту уже завершён; в гибких шаги этапа «Исследование» повторяются в каждой итерации.
- Итоговая верификация и валидация (Final Verification and Validation): финальное тестирование перед вводом в эксплуатацию; аналитик проверяет, что каждое требование протестировано.
- Завершение (Closeout): поддержка развёртывания и участие в анализе результатов после внедрения.
Выбор нотации для описания потока работ#
Чтобы описать содержание бизнес-варианта использования, нужна нотация потоков работ (workflow). Белин сравнивает пять нотаций; вкратце:
| Нотация | Сильная сторона | Слабая сторона |
|---|---|---|
| Системная блок-схема (system flowchart) | Интуитивно понятна; для каждого вида входа и выхода свой символ | Не UML; много символов, которые нужно выучить |
| Диаграмма потока работ с дорожками (swimlane) | Показывает, кто что делает | Не UML |
| Диаграмма последовательности | UML; точно показывает, кто инициирует и кто выполняет каждое действие | Часто неинтуитивна для читателей со стороны бизнеса |
| Диаграмма деятельности | UML; простые символы; ветвления и параллельная работа на одной диаграмме | Может стать слишком сложной, если нанести на неё все случаи |
| Диаграмма процесса BPMN | Достаточно выразительна для тонких правил потока работ | Не UML; трудно читать без подготовки |
Вывод Белина: для ИТ-бизнес-аналитика самая полезная из пяти — диаграмма деятельности, потому что её могут читать и аналитики, и конечные пользователи.
Основные элементы диаграммы деятельности: начальный узел, действия, потоки управления, решения со сторожевыми условиями в квадратных скобках, слияния, события (они задерживают поток, пока что-то не произойдёт), разветвления и соединения (fork и join) для параллельной работы и конечный узел. Разделы (partitions), или дорожки, показывают, кто выполняет каждое действие: по одной дорожке на каждое действующее лицо, работника или, если нужно, систему.
Как применять#
- Сначала нарисуйте бизнес-варианты использования. Спросите, каких результатов внешние стороны хотят от бизнеса.
- Опишите каждый диаграммой деятельности с дорожками — по одной на действующее лицо или работника.
- Отметьте действия, которые будет поддерживать ИТ-система. Каждая группа поддерживаемых действий, которые один человек выполняет за один сеанс, — кандидат в системные варианты использования.
- Составьте список системных вариантов использования с их основными действующими лицами и сгруппируйте их в пакеты.
- Набросайте ключевые бизнес-классы, которые упоминаются в вариантах использования, как первую модель данных.
- Зафиксируйте базовую версию документа бизнес-требований до начала детальной спецификации.
Пример#
В «Мастерской» (вымышленной сети веломастерских) бизнес-вариант использования — «Отремонтировать велосипед». Действующее лицо бизнеса — клиент; работники — сотрудники стойки приёма (работники, взаимодействующие с внешними участниками) и механики (внутренние работники); поставщик запчастей — второе действующее лицо бизнеса.
Диаграмма деятельности с дорожками для клиента, стойки приёма, механика и поставщика показывает: запись, сдача велосипеда, диагностика, заказ запчасти при необходимости, ремонт, уведомление, получение велосипеда и оплата. Разветвление позволяет механику взяться за другую работу, пока запчасть в заказе; соединение ждёт завершения обеих ветвей, прежде чем ремонт будет закончен.
На этой основе аналитик выделяет системные варианты использования: Записаться на ремонт (клиент), Зарегистрировать сдачу велосипеда (стойка приёма), Обновить статус ремонта (механик), Заказать запчасть (управляющий мастерской) и Отправить уведомление о готовности (запускается сменой статуса). «Диагностировать неисправность» остаётся ручным шагом без системного варианта использования.
Подводные камни#
- ИТ-систему вписывают в бизнес-вариант использования. На уровне бизнеса описывайте, что происходит, а не какой экран используется.
- Каждый шаг бизнеса превращают в системный вариант использования. Некоторые шаги остаются ручными; решение оставить их за границами нужно записать.
- Перегруженные диаграммы деятельности. Разделите диаграмму по сценариям, когда за ней становится трудно следить.
Источники и что почитать#
- А. Белин. Бизнес-анализ. Этап начала проекта (тренинг «UML для IT бизнес-аналитиков»), слайды. Luxoft, 2005. Слайды 35–70.