Вариант использования (Use Case) — артефакт, описывающий цель актора и наблюдаемое поведение системы в виде сценария «актор — система»: с границами, пред- и постусловиями, основным потоком и ветвлениями. Этот шаблон — рабочий документ для спецификации; теория нотации и выбор подхода — в 02.03.03 Спецификация требований (SRS, Use Case, User Story) и 04.03 Use Case vs User Story — выбор подхода.

1. Назначение

Use Case фиксирует что система делает для роли или внешней системы и при каких условиях, без подмены технической спецификацией. Его читают заказчик, бизнес-аналитик, системный аналитик, разработка, QA и архитектор.

Шаблон закрывает три задачи:

  • Контракт поведения — сквозной сценарий с happy path, альтернативами и исключениями; один UC = одна измеримая цель primary actor. Include / extend — отдельные UC-ID, не вторая цель в том же документе.
  • Мост между бизнесом и реализацией — между BRD/Vision (зачем) и детализацией (User Story, API, БД, экраны, интеграции).
  • Точка трассировки — UC-ID → FR-ID в SRS → stories → test cases; шаги с UI/API — по ссылке на соседние артефакты, не копированием контрактов.

Порядок с SRS: upstream UC — только BRD (обязательно) и опционально epic-level ссылка в SRS, если FR уже заведены до детализации. FR-ID в SRS создаются или уточняются после Approved UC — из шагов, extensions и postconditions. Не дублируйте формулировки «сверху» и «снизу»: UC — источник поведения, SRS-FR — атомарные проверяемые требования. Полная модель цепочки — 02.03.04 Трассировка требований (концепция) и 10.01.15 Шаблон матрицы трассировки.

Use Case в разделе 10.01 — уровень сценария, а не единица бэклога: один UC часто декомпозируется в несколько 10.01.01 Шаблон User Story.

2. Когда использовать

Матрица «UC vs User Story», agile vs contract, CRUD vs сквозной процесс — 04.03 Use Case vs User Story — выбор подхода.

Уникально для этого шаблона:

  • нужен fully dressed с extensions checklist (§3.7) — регламент, compliance, MVP с ветвлениями;
  • каталог UC на диаграмме — форма Brief (таблица форм в §3); углубление в fully dressed по триггеру (релиз, compliance, инцидент).

Входные условия: роли согласованы (10.01.11 Шаблон ролевой модели), границы системы зафиксированы (03.01.02 Моделирование контекста системы (Context Diagram)), business goal привязан к BRD.

Уровни Cockburn (Summary / User goal / Subfunction): в одном документе не смешивайте. Шаблон ниже — для User goal; subfunction — отдельный UC с include-ссылкой. Подробнее об уровнях, include и subfunction — 02.03.03 Спецификация требований (SRS, Use Case, User Story).

3. Структура документа

Ниже — пояснение полей (§3.1–3.11). Готовый скелет для копирования — в §3.12. Скопируйте блок в Confluence, EA, draw.io или RM-инструмент (07.04 Инструменты моделирования (Sparx EA, Lucidchart, draw.io), 02.05.06 Инструменты управления требованиями (Jama, DOORS, Confluence)). Поля с пометкой обяз. нужны для согласования; остальные — по контексту.

Допустимы три формы одного шаблона:

ФормаНазначениеОбязательные разделы
BriefКаталог UC на диаграмме или в backlog§3.1 (ID, название, level, upstream BRD), §3.2 (краткое описание, goal), primary actor. §3.6 не заполняется — goal в §3.2 достаточен
CasualБыстрое согласование сценарияBrief + §3.3 scope, §3.4 trigger, §3.5 pre/post (success), §3.6 основной поток (≥ 3 шага)
SummaryОдностраничный UC для каталогаBrief + §3.3–3.5; §3.6 — один абзац без нумерации вместо пошагового потока
Fully dressedКонтракт, compliance, MVPВсе §3.1–3.11; extensions обязательны или обоснованы (см. §3.7)

3.1. Метаданные

ПолеОбяз.Что писать
IDдаУникальный идентификатор, напр. UC-LEAVE-012. Схема ID — 10.01.15 Шаблон матрицы трассировки.
НазваниедаГлагол + объект: «Оформить заявку на отпуск». Без UI-жаргона («Нажать Сохранить»).
Версия, статус, датадаDraft → Review → Approved; автор последнего изменения.
Продукт / подсистемадаСистема или bounded context; граница UC.
Level (Cockburn)даUser goal (по умолчанию) / Summary / Subfunction.
Epic / релизнетСвязь с инициативой или milestone.
Upstream: BRDдаBRD-GOAL-xxx — business goal, который закрывает UC.
Upstream: SRS (опц.)нетEpic-level SRS-REQ-xxx, если FR заведены до UC; не подменяет downstream FR из шагов.
Согласующий (sign-off)нет*Роль или stakeholder для Review → Approved (*обяз. для compliance / contract). Не путать с primary actor — см. 10.01.11 Шаблон ролевой модели.
Связанные UCнетInclude / extend: отдельный UC-xxx + postcondition include. Не склеивайте subfunction в тот же fully dressed.
Критичность / частота (опц.)нетПоля RM-инструмента при необходимости — 02.05.06 Инструменты управления требованиями (Jama, DOORS, Confluence).

3.2. Краткое описание и ценность

ПолеОбяз.Что писать
Краткое описаниеда1–3 предложения: какую ценность получает актор.
Goal / результат для акторадаИзмеримый или проверяемый outcome («заявка в статусе „На согласовании“»).

3.3. Scope и границы

ПолеОбяз.Что писать
Scope (внутри)даКакая система/модуль выполняет шаги сценария.
Out of scopeдаЧто явно не входит: другие UC, интеграции «чёрным ящиком», смежные модули.

3.4. Акторы и триггер

ПолеОбяз.Что писать
Primary actorдаРоль или внешняя система, которой нужен результат; из 10.01.11 Шаблон ролевой модели. Паттерн «инициатор — внешняя система»: primary = система-клиент, human roles — secondary.
Secondary actorsнетПоддерживающие роли и внешние системы (уведомления, платёжный шлюз).
TriggerдаСобытие, запускающее UC и не входящее в нумерованные шаги: «сотрудник выбирает „Подать заявку“», «получено сообщение из очереди X». Шаг 1 начинается после trigger. Для UC, инициируемого обработчиком события, trigger — «получено сообщение …» со ссылкой на 10.01.07 Шаблон спецификации Consumer (Kafka, RabbitMQ) или задачу в 10.01.08 Шаблон сквозной фичи (BPMN-процесс).

3.5. Пред- и постусловия

ПолеОбяз.Что писать
PreconditionsдаФакты, истинные до trigger (система + бизнес): «сотрудник авторизован», «справочник отпусков загружен». Не пересказ шагов.
Postconditions (success)даСостояние после успешного завершения основного потока.
Minimal guaranteesнетЧто сохраняется даже при сбое (Cockburn): «черновик не потерян», «аудит-запись создана».
Postconditions (failure)нет*Состояние при прерывании без успеха. *Обязательны для финансов, compliance, необратимых операций; иначе достаточно extensions + minimal guarantees.

3.6. Основной сценарий (Main success scenario)

ПолеОбяз.Что писать
ШагидаНумерованный список после trigger; чередование «актор / система»; один шаг — одно действие или один наблюдаемый ответ. User goal / Casual: минимум 3 шага. Summary: один абзац без нумерации. Brief: раздел не заполняется.
Уровень детализациидаЕдинообразный внутри UC: «система отображает форму» или «система вызывает API-LEAVE-003» — со ссылкой на spec, не SQL внутри шага.

Правила качества шагов:

3.7. Расширения и альтернативы (Extensions / alternate flows)

ПолеОбяз.Что писать
Extensionsда*Ветки от шага базового потока: 4a, 4b; условие → действия → возврат к шагу или завершение. *Или явная пометка «нет отклонений — обосновано» (см. ниже).
Порядок проверкинетЕсли условия могут конфликтовать — явный приоритет.

Нумерация: основные ветки — 4a, 4b; вложенные ответвления внутри extension — 4a1, 4a2 (например, цикл исправления полей в UI).

Когда допустимо «нет extensions — обосновано»: сценарий тривиален (нет ошибок, прав, интеграций, денег) и риск низкий; в обосновании укажите, какие пункты checklist проверены. Для compliance, платежей и публичных API extensions обязательны.

Checklist для extensions: авторизация, валидация полей, дубликат заявки/записи, повторная отправка (double submit), timeout, недоступность внешней системы, отмена актором, права доступа.

Если веток больше ~5–7 или они параллельны — добавьте 03.02.02 Диаграмма деятельности (Activity Diagram) и сослитесь из UC, не раздувая таблицу extensions.

3.8. Бизнес-правила и данные

ПолеОбяз.Что писать
Business rulesнетПравила домена или ссылка на каталог (BR-047: «отпуск не более 28 дней подряд»). Правила, влияющие на валидацию, должны быть отражены в extensions соответствующего шага.
Ключевые сущностинетСущности, участвующие в сценарии; полная модель — 10.01.03 Шаблон спецификации БД сервиса, термины — 10.01.14 Шаблон глоссария и словаря данных.

3.9. NFR, допущения, трассировка

ПолеОбяз.Что писать
Ссылки на NFRнетID из 10.01.12 Шаблон нефункциональных требований (NFR) с привязкой к шагам («аудит на шаге 7», «p95 < 2 с на шаге 3»). Для FE-heavy UC — a11y и локализация через NFR или 10.01.09 Шаблон описания экранной формы и логики на FE.
Ссылки на ADRнетАрхитектурные решения, влияющие на extensions (идемпотентность, асинхронность) — 10.01.13 Шаблон архитектурного решения (ADR).
Assumptions / открытые вопросынетНерешённое до Approved.
Трассировка downstreamдаUC-ID → FR-ID в SRS (после Approved) → stories → test cases. TC: минимум один на happy path; отдельный TC на каждую extension, значимую с точки зрения риска, приёмки или исхода, отличного от happy path (4a, 4b, 5a). Матрица — 10.01.15 Шаблон матрицы трассировки; практика QA — 08.03 Тестирование требований (статическое тестирование).

3.10. История изменений

ПолеОбяз.Что писать
История измененийдаВерсия, дата, автор, суть; impact на API/экраны при изменении extensions. Жизненный цикл UC как требования — 02.05.05 Жизненный цикл требования.

3.11. Чеклист качества перед Review

  • Primary actor и goal однозначны; название без привязки к кнопке.
  • Trigger описан отдельно от шага 1; preconditions — факты до trigger.
  • Postconditions (success) — после happy path; failure-postconditions — где требуются (§3.5).
  • Основной поток соответствует level: ≥ 3 шага (User goal / Casual), абзац (Summary) или пропущен (Brief).
  • Есть extensions для ошибок/прав или обоснован их отсутствие (§3.7).
  • Scope и Out of scope явно разделены; include — отдельные UC-ID с формулировкой «на шаге N выполняется UC-XXX (include)».
  • API/UI/БД/Producer/Consumer — ссылки, не дублирование контрактов.
  • Upstream BRD заполнен; downstream FR/SRS — после Approved, без дублирования UC.
  • Sign-off stakeholder указан для рискованных UC.

Review UC — инспекция артефакта: 08.04 Рецензирование и инспекции (техники Фейгана).

3.12. Блок для копирования

Скопируйте целиком в Confluence, EA или markdown-репозиторий. Заполните поля; удалите неиспользуемые секции (Summary — §3.6 абзацом; Brief — без §3.6 и §3.7).

# Use Case: [Название]
 
## Метаданные
 
| Поле | Значение |
|------|----------|
| **ID** | UC- |
| **Версия, статус, дата** | Draft · v0.1 · |
| **Продукт / подсистема** | |
| **Level (Cockburn)** | User goal / Summary / Subfunction |
| **Epic / релиз** | |
| **Upstream: BRD** | BRD-GOAL- |
| **Upstream: SRS (опц.)** | |
| **Согласующий (sign-off)** | |
| **Связанные UC** | include / extend: UC- |
 
## Краткое описание и ценность
 
**Краткое описание:**
 
**Goal / результат для актора:**
 
## Scope и границы
 
**Scope (внутри):**
 
**Out of scope:**
-
 
## Акторы и триггер
 
**Primary actor:**
 
**Secondary actors:**
-
 
**Trigger:** *(не входит в нумерованные шаги)*
 
## Пред- и постусловия
 
**Preconditions:**
-
 
**Postconditions (success):**
 
**Minimal guarantees:**
 
**Postconditions (failure):**
 
## Основной сценарий
 
1.
2.
3.
 
## Extensions
 
- **a.** [шаг] Условие → действия → возврат к шагу N / завершение UC
 
**Порядок проверки extensions:** *(если условия конфликтуют)*
 
**Обоснование отсутствия extensions:** *(если «нет отклонений — обосновано»)*
 
## Бизнес-правила и данные
 
**Business rules:**
 
**Ключевые сущности:**
 
## NFR, допущения, трассировка
 
**Ссылки на NFR:**
 
**Ссылки на ADR:**
 
**Assumptions / открытые вопросы:**
 
**Трассировка downstream:**
BRD-GOAL- → UC- → SRS-REQ- → US- → TC-
 
## История изменений
 
| Версия | Дата | Автор | Изменение |
|--------|------|-------|-----------|
| 0.1 | | | Черновик |

4. Пример заполнения

Заполненный экземпляр скелета (§3.12). Сокращённый fully dressed для HR Portal (данные условны).


Use Case: Оформить заявку на отпуск

Метаданные

ПолеЗначение
IDUC-LEAVE-012
Версия, статус, датаv1.1 · Approved · 2026-03-15
Продукт / подсистемаHR Portal / Leave Management
Level (Cockburn)User goal
Epic / релизEP-015
Upstream: BRDBRD-GOAL-011
Согласующий (sign-off)HR Business Owner
Связанные UCinclude: UC-LEAVE-VALID-001 (проверка параметров заявки)

Краткое описание и ценность

Краткое описание: Сотрудник подаёт заявку на отпуск в портале; система проверяет доступный баланс и переводит заявку на согласование руководителю.

Goal / результат для актора: Заявка создана в статусе «На согласовании», сотрудник видит подтверждение и номер заявки.

Scope и границы

Scope (внутри): HR Portal — модуль Leave Management.

Out of scope:

  • Согласование руководителем (UC-LEAVE-013)
  • Интеграция с 1С:ЗУП
  • Отмена заявки (UC-LEAVE-014)

Акторы и триггер

Primary actor: Сотрудник (ROLE-EMP-01)

Secondary actors: Сервис уведомлений (email)

Trigger: Сотрудник выбирает «Подать заявку на отпуск» в личном кабинете (не входит в нумерованные шаги)

Пред- и постусловия

Preconditions: Сотрудник авторизован; справочник типов отпуска актуален; у сотрудника есть доступный баланс > 0 для выбранного типа.

Postconditions (success): Создана заявка REQ-* в статусе «На согласовании»; руководителю отправлено уведомление; сотрудник видит экран подтверждения.

Minimal guarantees: При ошибке сохранения черновик не теряется; попытка фиксируется в audit log.

Postconditions (failure): При завершении по extension 5a: заявка не создана в БД; локальный черновик сохранён; audit log содержит запись о неуспешной попытке.

Основной сценарий

  1. Сотрудник открывает форму подачи заявки (экран FE-LEAVE-FORM-01).
  2. Система отображает доступный баланс по типам отпуска.
  3. Сотрудник указывает тип, даты начала и окончания, комментарий (опционально).
  4. На шаге 4 система выполняет UC-LEAVE-VALID-001 (include): проверка дат, баланса, пересечений с существующими заявками, длительности непрерывного периода ≤ 28 дней (BR-047).
  5. Система сохраняет заявку, присваивает номер, устанавливает статус «На согласовании».
  6. Система публикует событие leave.request.submitted (см. PROD-LEAVE-001); downstream-обработка уведомления — CONS-NOTIF-LEAVE-001.
  7. Система отображает подтверждение с номером заявки.

Extensions

  • 4a. Недостаточный баланс → система показывает «Недостаточно дней отпуска», подсвечивает поле дат; сценарий возвращается к шагу 3.
  • 4b. Пересечение с заявкой REQ-7720 → система показывает «Период пересекается с заявкой REQ-7720»; возврат к шагу 3.
  • 4c. Непрерывный период > 28 дней (BR-047) → система показывает «Непрерывный отпуск не более 28 дней»; возврат к шагу 3.
  • 5a. Ошибка сохранения (5xx) → система сохраняет черновик локально, показывает «Не удалось отправить. Повторите позже»; UC завершается неуспешно (см. postconditions failure).
  • 6a. (Продуктовое решение, согласовано с бизнесом и ADR-042.) Очередь недоступна → заявка сохранена; система ставит событие в outbox для повторной отправки; сотрудник видит подтверждение без задержки уведомления руководителю.

Business rules: BR-047: непрерывный отпуск не более 28 календарных дней — проверка в UC-LEAVE-VALID-001, extension 4c.

NFR: NFR-AUDIT-003 — запись audit на шаге 5; NFR-PERF-012 — шаги 2–4, p95 < 2 с.

Трассировка (после Approved): BRD-GOAL-011 → UC-LEAVE-012 → SRS-REQ-038, SRS-REQ-039 → US-0238, US-0239 → REST API-LEAVE-001, FE FE-LEAVE-FORM-01, Producer PROD-LEAVE-001, Consumer CONS-NOTIF-LEAVE-001 → TC-LEAVE-012 (happy path), TC-LEAVE-012-4a, TC-LEAVE-012-4b, TC-LEAVE-012-4c, TC-LEAVE-012-5a, TC-LEAVE-012-6a.


5. Связанные артефакты

На входе (upstream)

АртефактСвязь
Vision & Scope, BRDBusiness goal, KPI, ограничения домена — 04.01 Форматы документов (Vision&Scope, BRD, SRS, FRD)
Context DiagramГраница системы и внешние акторы — 03.01.02 Моделирование контекста системы (Context Diagram)
10.01.11 Шаблон ролевой моделиPrimary, secondary actors и sign-off
10.01.14 Шаблон глоссария и словаря данныхЕдиные термины в шагах и postconditions
Диаграмма прецедентовКаталог UC на уровне Summary — 03.02.01 Диаграмма прецедентов (Use Case Diagram)

На выходе (downstream)

АртефактКогда создавать
SRS (FR-ID)После Approved UC — FR из шагов и extensions; не дублировать черновик upstream
10.01.01 Шаблон User StoryДекомпозиция UC на поставки; AC stories покрывают extensions
10.01.04 Шаблон спецификации REST API / 10.01.05 Шаблон спецификации SOAP APIШаги «система вызывает…»
10.01.06 Шаблон спецификации Producer (Kafka, RabbitMQ) / 10.01.07 Шаблон спецификации Consumer (Kafka, RabbitMQ)Асинхронные шаги сценария
10.01.03 Шаблон спецификации БД сервисаСущности и состояния из postconditions
10.01.09 Шаблон описания экранной формы и логики на FEШаги с UI и валидациями на форме
10.01.08 Шаблон сквозной фичи (BPMN-процесс)UC как задача/пул в сквозном процессе
10.01.10 Шаблон описания Airflow-триггеров и автоматических процессовСценарии по событию/расписанию без human actor
10.01.12 Шаблон нефункциональных требований (NFR)Производительность, аудит, безопасность по шагам
10.01.13 Шаблон архитектурного решения (ADR)Развилки, влияющие на alternate flows
10.01.15 Шаблон матрицы трассировкиUC → FR → story → test → релиз

Типичный порядок работы аналитика

  1. Контекст и список акторов → каталог UC (brief) → приоритизация (02.03.02 Приоритизация требований (MoSCoW, WSJF, Кано)).
  2. Fully dressed для MVP и рискованных сценариев.
  3. Review с бизнесом (основной поток и extensions) и с архитектурой (интеграции, NFR) — 08.04 Рецензирование и инспекции (техники Фейгена).
  4. Approved UC → заведение/уточнение FR в SRS → stories → API/экраны/БД.
  5. Тест-кейсы по happy path и значимым extensions — 08.03 Тестирование требований (статическое тестирование).
  6. Изменения UC — версионирование и impact analysis (02.05.05 Жизненный цикл требования; 02.05.02 Управление изменениями (Change Control Board) при формальном процессе).

6. Связи с другими разделами базы

Куда идти за теорией — без дублирования полей шаблона:

7. Источники и дополнительные материалы

Книги и стандарты

Статьи