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