Диаграмма прецедентов UML: как строить, примеры и элементы
-
Диаграмма прецедентов в UML помогает визуализировать, как пользователи взаимодействуют с системой. Она показывает роли акторов и ключевые функции, которые система предоставляет. Это инструмент для фиксации требований на ранних этапах разработки.
Зачем она нужна? Диаграмма упрощает общение между аналитиками, заказчиками и разработчиками. Она решает проблему недопонимания функционала, когда текстовые описания размываются. С её помощью легко выявить пробелы в требованиях и спланировать роли.
Основные элементы диаграммы прецедентов
Диаграмма прецедентов строится вокруг простых графических элементов, которые отражают реальные сценарии использования системы. Актеры обозначаются человечками или прямоугольниками, прецеденты — овалами, а система ограничивается рамкой. Это позволяет быстро понять, кто что делает, без углубления в внутреннюю логику.
Например, в банковском приложении актер «Клиент» взаимодействует с прецедентами «Перевод средств» и «Просмотр баланса». Актер «Администратор» имеет доступ к «Блокировке аккаунта». Такие диаграммы используются в бизнес-анализе для описания внешних требований, игнорируя нефункциональные детали вроде языка программирования.
Вот ключевые элементы:
- Актер: Сущность вне системы (человек, внешний сервис), обозначается фигуркой человечка. Может быть обобщен, показывая иерархию ролей.
- Прецедент: Овал с названием функции, которую система выполняет для актора. Связан с атомарным сценарием обмена сообщениями.
- Система: Прямоугольник, группирующий прецеденты, определяет границы проекта.
- Пакет: Логическая группировка элементов для крупных систем, как модули в ERP.
Элемент Символ Пример Актер Человечек Клиент, Админ Прецедент Овал Оформить заказ Ассоциация Линия Клиент → Оформить заказ Система Рамка Онлайн-магазин Обобщение актера: Стрелка с треугольником показывает, что один актер наследует поведение другого, например, «Студент» от «Пользователь».
Отношения между элементами
Отношения в диаграмме прецедентов связывают акторов с функциями и прецеденты между собой. Они уточняют, как работает взаимодействие: ассоциация показывает прямую связь, include — обязательное включение одного прецедента в другой. Extend добавляет опциональное поведение, а обобщение создает иерархию.
Возьмем систему онлайн-магазина. Прецедент «Оформить заказ» ассоциирован с актером «Покупатель». Он include прецедент «Выбрать товар» и extend «Применить промокод». Обобщение прецедента позволяет показать, что «Оплатить картой» — частный случай «Оплатить». Это помогает моделировать сложные сценарии без дублирования.
Типы отношений:
- Ассоциация: Простая линия между актером и прецедентом.
- Include: Пунктирная стрелка «<>» — обязательный подпроцесс.
- Extend: Пунктирная стрелка «<>» — опциональное расширение.
- Обобщение актера: Сплошная линия с треугольником от частного к общему.
- Обобщение прецедента: Аналогично, для функций.
Отношение Тип линии Когда использовать Ассоциация Сплошная Основная связь Include Пунктир + <> Обязательный шаг Extend Пунктир + <> Дополнительный сценарий Обобщение Сплошная + треугольник Иерархия Важно: Отношения не показывают последовательность — для этого есть диаграммы последовательностей.
Примеры диаграмм прецедентов
На практике диаграммы прецедентов рисуют для реальных проектов, начиная с текстового описания от заказчика. В системе доставки еды акторы: «Клиент», «Курьер», «Менеджер». Прецеденты группируют по пакетам: «Заказы», «Доставка». Связи показывают взаимодействия, помогая выявить роли.
Рассмотрим пример приложения доставки цветов. Актер «Клиент» использует «Просмотр каталога» и «Оформление заказа» (include «Оплата»). «Курьер» — «Получить заказ» (extend «Отменить доставку»). Пакеты: «Пользователи», «Каталог», «Заказы». Такая диаграмма фиксирует функционал перед разработкой.
Простой пример в таблице:
Актор Прецеденты Клиент Просмотр, Заказ, Оплата Курьер Доставка, Отчет Админ Управление, Блокировка - В ERP-системе пакеты: «Продажи» (прецеденты «Заказ», «Оплата»), «Склад» («Отгрузка»).
- Сценарий прецедента: Описывается текстом как последовательность шагов с альтернативами.
- Для больших систем добавляют пакеты, чтобы не перегружать диаграмму.
Шаги по созданию диаграммы
Создание начинается с интервью с заинтересованными сторонами. Выявите акторов, перечислите функции, свяжите их отношениями. Используйте инструменты вроде Draw.io или Lucidchart. Начните с черновика, уточните сценарии, добавьте комментарии UML.
Пример для СЭД (системы электронного документооборота): Актеры «Инициатор», «Исполнитель». Прецеденты «Создать маршрут», «Согласовать задачу» (с состояниями: новый, выполняется, завершен). Include для подзадач, extend для отмены. Это помогает спроектировать маршруты документов.
Процесс в списке:
- Определите акторов и их цели.
- Перечислите прецеденты от лица актора (что система делает).
- Добавьте отношения и пакеты.
- Опишите сценарии текстом.
- Проверьте на полноту с командой.
Границы: Диаграмма не детализирует внутренние процессы — фокус на внешнем поведении.
Шаг Действие Инструмент 1 Акторы Брейншторм 2 Прецеденты Текст 3 Связи Draw.io 4 Проверка Отзывы Когда применять диаграмму прецедентов
Диаграмму используют на этапе анализа требований, особенно в agile-командах для спринтов. Она дополняет user stories, показывая связи ролей. В крупных проектах комбинируют с диаграммами классов или последовательностей для полного покрытия.
Ограничения: не подходит для внутренних алгоритмов — здесь лучше активности или последовательности. Для динамики добавьте диаграммы состояний. Стоит подумать о комбинации с другими UML-диаграммами, чтобы охватить все аспекты системы от ролей до реализации.
© 2024 - 2026 ExLends, Inc. Все права защищены.