Диаграмма вариантов использования: как показать сценарии и акторов
Коротко: Диаграмма вариантов использования показывает, какие акторы используют систему и какие функции она им предлагает; это простой понятный обзор для требований.
Подробнее: Диаграмма вариантов использования UML отвечает: кто пользуется системой для чего? Она не показывает потоков и технологии, а объём функций с точки зрения пользователя. Поэтому она подходит для технических заданий, бесед с клиентами и документации IHK.
Подробности
Строительные блоки
- Актор (человечек): роль вне системы (клиент, администратор, платёжный сервис, другая система).
- Вариант использования (эллипс): услуга для актора («оформить заказ», «заблокировать учётную запись»), называется как глагол + объект.
- Граница системы (прямоугольник): что относится к системе, а что нет.
- Ассоциация (линия): актор использует вариант использования.
- «include»: вариант использования всегда включает другой («заказ» → «войти»).
- «extend»: необязательное расширение («заказ» ← «применить купон»).
- Обобщение: частный случай (премиум-клиент — это клиент).
Пример (интернет-магазин)
Клиент ──── Искать товары
Клиент ──── Оформить заказ ──«include»→ Войти
←«extend»── Применить купон
Администратор ──── Вести товары
Платёжный сервис ── Обработать платёж
Акторы стоят вне границы системы, варианты использования — внутри.
Описание и проверка
- К каждому варианту использования краткое описание: триггер, предусловие, ход (основной сценарий), альтернативные и ошибочные случаи, результат, постусловие. Из этого возникают пользовательские истории, тестовые случаи и диаграммы деятельности/последовательности.
- Названия с точки зрения пользователя, не технические («сбросить пароль», а не «изменить запись в базе данных»).
- Не слишком подробно: для обзора достаточно диаграммы с 5–15 вариантами использования.
- Проверьте всех акторов и варианты использования с клиентом.
Ограничения и инструменты
Диаграммы вариантов использования не показывают последовательность, данные, требования к качеству (производительность, безопасность); они отражаются в тексте, диаграммах деятельности, модели данных, нефункциональных требованиях. Инструменты: draw.io, PlantUML, Mermaid, StarUML, Lucidchart. Текстовые (PlantUML) можно версионировать в репозитории.
См. также: Диаграмма классов и последовательности UML, Моделирование (UML, EPC, BPMN), Документы требований и технического задания, Пользовательские истории