← Назад к вопросам

Приведи пример Use Case

1.6 Junior🔥 211 комментариев
#User Story и Use Case#Требования и их анализ

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI28 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Use Case — Практический пример

Use Case (вариант использования) — это описание последовательности действий между актором (пользователем или системой) и системой для достижения определённой цели. Это один из ключевых артефактов при сборе требований.

Пример: Use Case для системы онлайн-магазина

Название: Покупка товара в интернет-магазине

Актор (Actor): Покупатель (незарегистрированный или зарегистрированный пользователь)

Предусловие (Precondition):

  • Система доступна
  • Товар есть в наличии
  • Покупатель может разместить заказ в своей стране

Постусловие (Postcondition):

  • Заказ создан и сохранён в системе
  • Товар зарезервирован
  • Покупатель получит уведомление на почту
  • Баланс товара уменьшился

Основной сценарий (Main Flow)

  1. Покупатель: Просматривает каталог товаров Система: Отображает товары с фильтрацией и поиском

  2. Покупатель: Выбирает интересующий товар Система: Показывает описание, цену, доступное количество, отзывы

  3. Покупатель: Добавляет товар в корзину, указывает количество Система: Проверяет наличие товара, добавляет в корзину, показывает обновленную сумму

  4. Покупатель: Нажимает кнопку "Оформить заказ" Система: Проверяет, авторизован ли пользователь. Если нет, предлагает войти или зарегистрироваться

  5. Покупатель: Вводит данные доставки (адрес, телефон) Система: Проверяет корректность адреса. Рассчитывает стоимость доставки

  6. Покупатель: Выбирает способ доставки (курьер, самовывоз, почта) Система: Обновляет стоимость заказа с учётом доставки

  7. Покупатель: Выбирает способ оплаты (карта, PayPal, банковский перевод) Система: Проверяет доступные способы в его стране

  8. Покупатель: Проверяет данные заказа и подтверждает Система: Выполняет платёж через платёжный шлюз

  9. Платёжный шлюз: Отправляет результат платежа Система: Если платёж прошёл успешно, переходит к шагу 10. Если нет — к шагу "Альтернативный сценарий 1"

  10. Система: Создаёт заказ в статусе "Оплачен". Резервирует товар на складе. Отправляет подтверждение на почту покупателю. Генерирует номер отслеживания доставки

  11. Покупатель: Получает письмо с номером заказа и ссылкой отслеживания

    **Система:** Заказ переходит в обработку

Альтернативный сценарий 1: Платёж не прошёл

Начало: На шаге 9 платёж отклонен

  1. Система: Показывает ошибку "Платёж отклонен"
  2. Покупатель: Видит причину отклонения (недостаточно средств, неверные данные и т.д.)
  3. Покупатель: Может:
    • Попробовать другую карту → Возврат на шаг 8
    • Выбрать другой способ оплаты → Возврат на шаг 7
    • Отменить заказ → Корзина очищается

Альтернативный сценарий 2: Товар закончился

Начало: На шаге 3 при добавлении товара в корзину

  1. Система: Проверяет наличие
  2. Система: Количество на складе стало 0
  3. Система: Показывает сообщение "Товар закончился"
  4. Покупатель: Может:
    • Предзаказать товар (если доступно)
    • Выбрать аналогичный товар
    • Отменить добавление

Альтернативный сценарий 3: Пользователь не авторизован

Начало: На шаге 4

  1. Система: Предлагает войти в существующий аккаунт
  2. Покупатель: Выбирает опцию регистрации
  3. Система: Отправляет письмо подтверждения на почту
  4. Покупатель: Подтверждает почту по ссылке
  5. Система: Аккаунт активирован, пользователь авторизован
  6. Продолжение основного сценария с шага 5

Исключительные ситуации (Exceptions)

Исключение 1: Сеевое соединение потеряно

  • На любом этапе: если соединение теряется, система сохраняет состояние корзины
  • При возобновлении: предлагает продолжить оформление

Исключение 2: Время сессии истекло

  • Система требует повторной авторизации
  • Корзина сохраняется

Исключение 3: Адрес доставки недоступен

  • Система показывает список доступных регионов
  • Покупатель может выбрать другой адрес или способ доставки

Диаграмма Use Case (текстовое описание)

           ┌─────────┐
           │ Клиент  │
           └────┬────┘
                │
    ┌───────────┼───────────┐
    │           │           │
    ▼           ▼           ▼
  Просмотр   Добавить    Оплатить
  Товаров    в Корзину   Заказ
    │           │           │
    └───────────┼───────────┘
                │
         ┌──────▼──────┐
         │   Система   │
         │ Магазина    │
         └─────────────┘

Специальные требования (Non-functional Requirements)

  • Производительность: Оплата должна быть обработана за 30 сек
  • Безопасность: Данные карты передаются только по HTTPS, используется PCI DSS
  • Доступность: Система должна быть доступна 99.9% времени
  • Локализация: Поддержка русского и английского языков
  • Масштабируемость: Должна выдержать 1000 одновременных заказов

Связанные Use Cases

  • Отслеживание заказа — просмотр статуса доставки
  • Возврат товара — инициирование процесса возврата
  • Написание отзыва — оценка и отзыв о товаре
  • Управление профилем — редактирование адресов доставки
  • Повторный заказ — быстрое повторение предыдущего заказа

Структура Use Case в табличном формате

ПолеЗначение
IDUC-001
НазваниеПокупка товара
АкторПокупатель
ПредусловияСистема доступна, товар в наличии
ПостусловияЗаказ создан, платёж прошёл
Основной сценарий11 шагов (см. выше)
Альтернативные сценарии3 (платёж не прошёл, товар закончился, пользователь не авторизован)
Исключения3 (потеря сети, истечение сессии, недоступный адрес)
ПриоритетВысокий
Частота использованияОчень высокая
АктуальностьКритичная для бизнеса

Когда использовать Use Cases

Плюсы:

  • Четкое описание поведения системы
  • Хорошо понимаются бизнесом
  • Легко составить тест-кейсы на основе Use Case
  • Документирует взаимодействие актора и системы
  • Помогает выявить все возможные сценарии

Минусы:

  • Могут быть очень объёмными
  • Сложно описать параллельные процессы
  • Требуют постоянного поддержания (при изменениях)

Best Practices

  1. Используй ясный язык — понятный бизнесу
  2. Разбивай на шаги — каждый шаг одно действие
  3. Описывай исключения — не забывай альтернативные сценарии
  4. Проверяй полноту — все ли успешные пути покрыты
  5. Связывай Use Cases — показывай зависимости между ними
  6. Не усложняй — KISS принцип
  7. Валидируй с клиентом — согласовывай требования

Заключение

Use Case — это мощный инструмент сбора требований, который описывает последовательность взаимодействия актора и системы для достижения цели. Хороший Use Case содержит основной сценарий, альтернативные сценарии и исключения, что позволяет выявить все возможные поведения системы и составить полные тест-кейсы. Этот инструмент незаменим для системного аналитика при работе с требованиями.