Чек-лист для написания Use Case — именно то, что нужно джуну для формирования правильных привычек в работе с Use Case.

Вот подробная инструкция-чек-лист, которую можно использовать как карманную шпаргалку.

Инструкция-чек-лист для джуна: Как писать Use Case (UC)

Используй этот список на каждом этапе создания Use Case, чтобы ничего не упустить.

0 этап**: Подготовка (До того, как начать писать)**

  1. Определи границы системы. Ответь на вопрос: «Что является системой, а что — внешней средой?» (Например, система «Интернет-магазин», а внешние акторы — «Покупатель», «Курьерская служба»).
  2. Определи Акторов (Actors). Кто или что взаимодействует с системой для достижения цели? Актором может быть роль (Пользователь, Админ), другая система (Платежный шлюз) или устройство.
  3. Определи Цель Актора. Какую конечную, значимую бизнес-цель преследует актор, запуская этот Use Case? (Например, цель «Оформить заказ»). Это поможет отсечь лишние шаги.
  4. Проверь, не существует ли уже похожего UC. Не изобретай велосипед. Возможно, нужную функциональность можно описать расширением существующего UC.

1 этап: Структура и Основной поток

  1. Заполни шапку документа.
    • Название UC: Глагол + существительное, отражающее цель (Например: «Оплатить заказ»).
    • Уникальный ID: (Например: UC-102). Полезно для трекинга.
    • Акторы: Основные и второстепенные.
    • Основной Предусловие (Pre-condition): Что должно быть истиной на момент старта UC? (Например: «Пользователь авторизован», «В корзине есть товары»).
    • Основной Постусловие (Post-condition): Какое состояние системы гарантировано после успешного выполнения Основного потока? (Например: «Создан новый заказ со статусом ‘Оплачен'», «Списаны бонусные баллы»).
  2. Опиши Основной поток (Basic Flow).
    • Это «идеальный» сценарий, где все идет без ошибок.
    • Нумеруй шаги (1, 2, 3…).
    • Начинай с инициации UC актором.
    • Используй конструкцию: «Актор -> Система: Действие».
    • Фокус на ЧТО делает система, а не КАК.
    • Каждый шаг — это законченное действие, а не мелкое движение.
    • Пример:
      • Покупатель нажимает кнопку «Перейти к оплате».
      • Система отображает доступные способы оплаты.
      • Покупатель выбирает способ «Банковская карта» и нажимает «Оплатить».
      • Система перенаправляет Покупателя на страницу ввода данных карты платежного шлюза.
        … и т.д.

2 этап: Детализация и «Хорошие» практики

  1. Проверь формулировки.
    • Избегай технического жаргона в шагах («система делает SELECT в БД»). Вместо этого: «Система проверяет наличие товара на складе».
    • Используй единый глоссарий терминов (например, всегда «Корзина», а не иногда «Cart»).
    • Убедись, что шаги однозначны и не допускают двоякого толкования.
  2. Определи Альтернативные потоки (Alternative Flows).
    • Это отклонения от основного потока, которые ведут к успеху или другой логической точке.
    • Формат: А[Номер шага основного потока]: [Краткое описание условия]. (Например: А4: Покупатель выбрал оплату бонусными баллами).
    • Опиши, что происходит в этом случае, и где поток возвращается к основному (или куда уходит).
  3. Определи Исключения (Exceptions).
    • Это потоки, которые приводят к ошибке и не достигают цели Use Case.
    • Формат: E[Номер шага]: [Описание ошибки]. (Например: E4: Введены неверные данные карты).
    • Обязательно укажи, как система обрабатывает ошибку (показывает сообщение, логирует, завершает сеанс и т.д.).
  4. Укажи не функциональные требования (если применимо).
    • Производительность: «Оплата должна завершиться не более чем за 10 секунд».
    • Безопасность: «Данные карты не должны храниться в системе».
    • Usability: «Сообщения об ошибках должны быть понятными для пользователя».

3 этап: Проверка (Перед тем, как отдать на ревью)

  1. Проверь целостность.
    • Все ли предусловия выполняются на момент старта?
    • Гарантированно ли выполнится постусловие после Основного потока?
    • Все ли шаги основного потока действительно ведут к цели?
  2. «Прогони» Use Case мысленно.
    • Представь себя актором. Все ли шаги логичны? Нет ли «провалов» в логике (например, система запрашивает пароль, не спросив логин)?
    • Проверь, покрыты ли альтернативные потоки и исключения: «А что, если…?».
  3. Проверь на избыточность.
    • Не описываешь ли ты в Use Case UI? (Например: «Пользователь нажимает на синюю кнопку в правом верхнем углу»). Это ошибка.
    • Не пытаешься ли объять необъятное? Один UC — одна цель. Если поток стал слишком большим, возможно, его нужно разбить на несколько UC (например, «Добавить товар в корзину», «Оформить заказ», «Оплатить заказ»).
  4. Отдай на ревью коллеге (мидлу/синьору).
    • Свежий взгляд всегда находит недочеты. Попроси коллегу прочитать UC и задать любые вопросы, которые у него возникнут. Если вопросы есть — значит, описание не до конца ясное.

Краткая шпаргалка-напоминалка для каждого UC:

  • 🎯 Одна цель: Этот UC о чем?
  • 👤 Актор и система: Кто инициирует? Кто отвечает?
  • 1…2…3…: Основной поток — это история успеха.
  • А и E: Альтернативы и Исключения — это жизнь.
  • До и После: Пред- и постусловия задают рамки.
  • Проверь и спроси: Никогда не пренебрегай ревью.

Помни: Use Case — это история диалога между Актором и Системой. Твоя задача — рассказать эту историю полно, четко и без лишних деталей. Удачи

Полезные материалы: