Варіанти використання та сценарії (Use Cases and Scenarios)
Варіанти використання та сценарії описують, як людина або система взаємодіє з рішенням, що моделюється, для досягнення мети.
Варіанти використання та сценарії це одна з методик BABOK v3 (розділ 10.47).
Опис варіантів використання та сценарії (Use Cases and Scenarios) у BABOKv3 (10.47.2)
Варіанти використання описують взаємодію між основним актором, рішенням і вторинними акторами, необхідними для досягнення мети основного актора. Варіанти використання зазвичай запускаються первинним актором, але в деяких методах можуть також запускатися іншою системою, зовнішньою подією або таймером.
Варіант використання описує можливі результати спроби досягти певної мети, яку має підтримати рішення. Він деталізує різні шляхи, якими можна піти, визначаючи основні та альтернативні потоки. Основний або базовий потік - це найпряміший шлях до досягнення мети варіанту використання.
Особливі обставини та винятки, які призводять до неможливості досягнення мети варіанту використання, документуються в альтернативних потоках або потоках винятків. Варіанти використання пишуться з точки зору актора і уникають опису внутрішньої роботи рішення.
Діаграми варіантів використання - це графічне представлення взаємозв'язків між акторами та одним або декількома варіантами використання, що підтримуються рішенням.
Деякі підходи розрізняють бізнес-кейси та системні кейси, де бізнес-кейси описують, як актори взаємодіють з певним процесом або бізнес-функцією, а системні кейси описують взаємодію між актором і програмним додатком.
Сценарій описує лише один спосіб, яким актор може досягти певної мети. Сценарії пишуться як серія кроків, що виконуються акторами або рішення, які дозволяють актору досягти мети. Варіант використання описує кілька сценаріїв.
Елементи варіантів використання та сценарії (Use Cases and Scenarios) у BABOKv3 (10.47.3)
Не існує фіксованого, універсального формату для опису варіантів використання. Наступні елементи часто зустрічаються в описі варіантів використання.
Діаграма варіантів використання (Use Case Diagram)
Діаграма варіантів використання візуально відображає сферу застосування рішення, показуючи акторів, які взаємодіють з рішенням, варіанти використання, з якими вони взаємодіють, і будь-які взаємозв'язки між варіантами використання.
Unified Modelling Language™ (UML®) описує стандартну нотацію для діаграми варіантів використання.
Взаємовідносини (Relationships)
Зв'язки між акторами та варіантами використання називаються асоціаціями. Лінія асоціації вказує на те, що актор має доступ до функціональності, представленої варіантом використання. Асоціації не відображають вхід, вихід, час або залежність.
Існує два найпоширеніші відношення між варіантами використання:
- Розширити (Extend): дозволяє вставити у варіант використання додаткову поведінку. Варіант використання, який розширюється, повинен бути повністю функціональним сам по собі і не повинен залежати від розширюваного варіанту використання для його успішного виконання. Цей зв'язок може бути використаний для того, щоб показати, що до існуючого варіанту використання було додано альтернативний потік (що представляє нові вимоги).
- Включити (Include): дозволяє варіанту використання використовувати функціональність, наявну в іншому варіанті використання. Включений варіант використання не обов'язково має бути повноцінним варіантом використання, якщо він не викликається безпосередньо актором. Цей зв'язок найчастіше використовується або коли деяка спільна функціональність потрібна кільком варіантам використання, або щоб абстрагуватися від складної логіки.
Опис варіанту використання (Use Case Description)
Ім'я (Name) - Варіант використання має унікальну назву. Ім'я зазвичай включає дієслово, що описує дію, яку виконує актор, та іменник, який описує або те, що робиться, або об'єкт дії.
Мета (Goal) - це короткий опис успішного результату варіанту використання з точки зору основного учасника. Це діє як резюме варіанту використання.
Актори (Actors) - це будь-яка людина або система, зовнішня по відношенню до рішення, яка взаємодіє з цим рішенням. Кожному актору присвоюється унікальне ім'я, яке відображає роль, яку він відіграє у взаємодії з рішенням. Деякі підходи до написання варіантів використання не рекомендують використовувати системи або події в якості акторів. Варіант використання починається актором, який називається основним актором для цього варіанту використання. Інші актори, які беруть участь у варіанті використання у допоміжних ролях, називаються вторинними акторами.
Передумови (Preconditions) - це будь-який факт, який повинен бути істинним перед початком виконання варіанту використання. Передумова не перевіряється у варіанті використання, але діє як обмеження на його виконання.
Тригер (Trigger) - це подія, яка ініціює потік подій для варіанту використання. Найпоширенішим тригером є дія, яку виконує головний актор. Тимчасова подія (наприклад, час) може ініціювати варіант використання. Зазвичай це використовується для запуску варіанту використання, який має бути виконаний на основі часу доби або певної календарної дати, наприклад, рутина в кінці робочого дня або звірка системи в кінці місяця.
Потік подій (Flow of Events) - Потік подій - це набір кроків, що виконуються актором і рішенням під час виконання варіанту використання. Більшість описів варіантів використання виокремлюють базовий, первинний або основний потік успіху, який представляє найкоротший або найпростіший шлях досягнення мети актора. Варіанти використання можуть також включати альтернативні потоки та потоки винятків. Альтернативні потоки описують інші шляхи, які можуть бути використані, щоб дозволити акторові успішно досягти мети варіанту використання. Потоки виключень описують бажану реакцію рішення, коли мета недосяжна і варіант використання не може бути успішно завершений.
Пост-умови або гарантії (Post-conditions or Guarantees) - Пост-умова - це будь-який факт, який повинен бути істинним, коли варіант використання завершиться. Постумови повинні бути істинними для всіх можливих потоків, що проходять через варіант використання, включаючи як основний, так і альтернативні потоки. Варіант використання може описувати окремі постумови, які є істинними для успішного та неуспішного виконання варіанту використання. Їх можна назвати гарантіями; гарантія успіху описує постумови успіху. Мінімальні гарантії описують умови, які повинні бути істинними, навіть якщо мета актора не досягнута, і можуть стосуватися таких питань, як вимоги безпеки або цілісність даних.
Міркування щодо варіантів використання та сценарії (Use Cases and Scenarios) у BABOKv3 (10.47.4)
Сильні сторони варіантів використання та сценарії (Use Cases and Scenarios)
- Діаграми варіантів використання можуть прояснити сферу застосування та забезпечити розуміння вимог на високому рівні.
- Описи варіантів використання легко зрозуміти зацікавленим сторонам завдяки їхній наративній формі.
- Включення бажаної мети або результату гарантує, що бізнес-цінність варіанту використання сформульована.
- Описи варіантів використання формулюють функціональну поведінку системи.
Обмеження використання варіантів використання та сценарії (Use Cases and Scenarios)
- Гнучкість формату опису варіантів використання може призвести до включення інформації, яку краще фіксувати за допомогою інших методів, таких як взаємодія з користувацьким інтерфейсом, нефункціональні вимоги та бізнес-правила.
- Рішення та бізнес-правила, що їх визначають, не повинні записуватися безпосередньо у варіантах використання, а управлятися окремо і пов'язуватися з ними з відповідного кроку.
- Гнучкий формат варіантів використання може призвести до фіксації недоречних або непотрібних деталей у спробі показати кожен крок або взаємодію.
- Варіанти використання навмисно не пов'язані з дизайном рішення, і, як наслідок, при розробці можуть знадобитися значні зусилля, щоб відобразити кроки варіантів використання в архітектурі програмного забезпечення.