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

Описание бизнес-процесса в BPMN

1.8 Middle🔥 161 комментариев
#Диаграммы и моделирование#Методологии разработки

Условие

Опишите процесс обработки заказа в интернет-магазине от момента оформления до доставки.

Процесс включает:

  • Оформление заказа клиентом
  • Проверка наличия товара
  • Оплата (онлайн или при получении)
  • Комплектация заказа
  • Передача в службу доставки
  • Доставка и получение клиентом
  • Обработка возвратов

Задача

Создайте BPMN-диаграмму процесса.

Что нужно сделать

  1. Определите участников процесса (pools/lanes)
  2. Опишите основной поток (happy path)
  3. Добавьте альтернативные сценарии
  4. Укажите точки принятия решений (gateways)
  5. Определите события начала и окончания

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

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

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

Решение: BPMN-диаграмма процесса обработки заказа

1. Участники процесса (Pools & Lanes)

Основные участники (Pools):

  1. Customer (Клиент)

    • Инициирует процесс
    • Оплачивает заказ
    • Получает товар
    • Может вернуть товар
  2. E-commerce System (Интернет-магазин)

    • Обрабатывает заказ
    • Проверяет наличие товара
    • Управляет платежами
    • Генерирует отчеты
  3. Warehouse (Склад)

    • Комплектует заказ
    • Отправляет в доставку
    • Обрабатывает возвраты
  4. Delivery Service (Служба доставки)

    • Получает заказ
    • Доставляет товар
    • Передает клиенту
    • Подтверждает доставку
  5. Payment Gateway (Платежная система)

    • Обрабатывает платежи
    • Подтверждает транзакции
    • Возвращает деньги

2. Основной поток (Happy Path)

Процесс: Обработка заказа в интернет-магазине

Шаг 1: Клиент оформляет заказ
├─ Клиент выбирает товары
├─ Вводит адрес доставки
├─ Выбирает способ доставки
└─ Система создает заказ (статус: "Pending")

Шаг 2: Проверка наличия товара
├─ Система запрашивает склад
├─ Склад проверяет наличие
├─ Все товары есть
└─ Статус: "Confirmed"

Шаг 3: Оплата
├─ Клиент выбирает способ оплаты
│  ├─ Онлайн (карта, e-wallet)
│  └─ При получении (COD)
├─ Если онлайн: 
│  ├─ Система отправляет запрос в Payment Gateway
│  ├─ Платеж одобрен
│  └─ Статус: "Paid"
└─ Если COD: Статус: "Pending Payment"

Шаг 4: Комплектация заказа
├─ Склад получает уведомление
├─ Комплектовщик подбирает товары
├─ Проверяет соответствие заказу
├─ Упаковывает товары
└─ Сканирует штрих-код (создает отправку)

Шаг 5: Передача в доставку
├─ Система уведомляет доставку
├─ Курьер забирает заказ
├─ Сканирует штрих-код
└─ Статус: "In Transit"

Шаг 6: Доставка
├─ Курьер едет к клиенту
├─ Клиент получает товар
├─ Подписывает акт
└─ Статус: "Delivered"

Шаг 7: Завершение
├─ Если COD: Курьер собирает платеж
├─ Система создает акт (Invoice)
├─ Отправляет уведомление клиенту
└─ Статус: "Completed"

3. Альтернативные сценарии

Сценарий A: Товара нет в наличии

Шаг 2: Проверка наличия товара
├─ Товар 1: Есть (10 шт)
├─ Товар 2: НЕТ в наличии
└─ Система должна выбрать action:

   Вариант A1: Отменить заказ
   ├─ Система отправляет уведомление клиенту
   ├─ Отпускает средства (если платеж уже сделан)
   └─ Статус: "Cancelled"

   Вариант A2: Частичная отправка
   ├─ Система предлагает отправить то что есть
   ├─ Остальное позже (backorder)
   ├─ Клиент подтверждает
   └─ Продолжаем процесс для доступных товаров

   Вариант A3: Ожидание поступления
   ├─ Заказ ставится в очередь
   ├─ Система уведомляет о задержке
   ├─ Когда товар поступает, продолжаем
   └─ Статус: "On Hold"

Сценарий B: Ошибка платежа

Шаг 3: Оплата
├─ Платеж отклонен (insufficient funds)
├─ Или истекло время оплаты
└─ Система: 
   ├─ Отправляет уведомление клиенту
   ├─ Предлагает повторить платеж
   ├─ Дает 24 часа на оплату
   └─ Если не оплатит → Отмена заказа

Сценарий C: Возврат товара

После получения товара:
├─ Клиент решает вернуть товар
├─ Система: 
│  ├─ Проверяет условия возврата (14 дней, неповрежденный)
│  ├─ Одобряет / Отклоняет возврат
│  └─ Если одобрено:
│     ├─ Выдает номер RMA (Return Merchandise Authorization)
│     ├─ Отправляет shipping label
│     └─ Клиент отправляет товар обратно
├─ Доставка:
│  ├─ Курьер забирает товар
│  └─ Доставляет на склад
├─ Склад:
│  ├─ Проверяет состояние товара
│  ├─ Если OK: одобряет возврат денег
│  └─ Если повреждено: отказывает частично
└─ Платежная система:
   ├─ Возвращает деньги клиенту
   └─ Статус: "Refunded"

Сценарий D: Доставка невозможна

Шаг 5-6: Доставка
├─ Курьер приезжает, но:
│  ├─ Адрес неверный/не найден
│  ├─ Клиент недоступен (не открыл дверь)
│  └─ Клиент отказался
├─ Система:
│  ├─ Попытка доставки № 1
│  ├─ Попытка доставки № 2
│  └─ Попытка доставки № 3
├─ Если все неудачны:
│  ├─ Товар возвращается на склад
│  ├─ Если была оплата: возвращаем деньги
│  └─ Статус: "Delivery Failed"
└─ Клиент может:
   ├─ Исправить адрес и переотправить
   └─ Или получить refund

4. Точки принятия решений (Gateways)

Gateway 1: Проверка наличия товара

Декision Point: Все товары доступны?
├─ ДА → Продолжаем комплектацию
├─ ЧАСТИЧНО → Предлагаем варианты (отмена, отправка частично, ожидание)
└─ НЕТ → Отмена или ожидание

Gateway 2: Способ оплаты

Decision Point: Как платить?
├─ Online Payment (карта, e-wallet)
│  ├─ Обрабатываем платеж
│  ├─ Если успех → Комплектация
│  └─ Если ошибка → Повтор или отмена
└─ Cash on Delivery
   ├─ Резервируем товар
   └─ Отправляем (платеж при получении)

Gateway 3: Результат доставки

Decision Point: Доставка успешна?
├─ ДА → Завершение
├─ НЕТ (адрес неверный) → Уточнение адреса
├─ НЕТ (клиент недоступен) → Повторная попытка
└─ НЕТ (отказ) → Возврат или отмена

Gateway 4: Возврат товара (Request)

Decision Point: Заявка на возврат
├─ Проверка условий (дата, состояние)
├─ ОДОБРЕНО → Отправка shipping label
├─ ОТКЛОНЕНО → Уведомление клиента
└─ ЧАСТИЧНО → Возврат части средств

Gateway 5: Проверка возвращенного товара (Warehouse)

Decision Point: Состояние товара
├─ НОРМАЛЬНОЕ → Полный возврат денег
├─ ПОВРЕЖДЕНО → Частичный возврат (скидка на урон)
└─ НЕПРИГОДНЫЙ → Отказ в возврате

5. События начала и окончания

Начальные события (Start Events):

  1. Happy Path Start

    • Событие: Клиент нажал "Оформить заказ"
    • Триггер: Пользователь в интернет-магазине
    • Действие: Создание нового заказа в системе
  2. Return Start

    • Событие: Клиент инициировал возврат
    • Триггер: Клиент нажал "Вернуть товар" в личном кабинете
    • Действие: Создание заявки на возврат

Завершающие события (End Events):

  1. Order Completed (Успешно)

    • Условие: Товар доставлен и получен клиентом
    • Статус: "Completed"
    • Уведомление: Email с благодарностью, ссылка на отзыв
    • Следующее: Мониторинг (может быть возврат)
  2. Order Cancelled (Отменен)

    • Условие: Отмена по инициативе клиента или системы
    • Статус: "Cancelled"
    • Действие: Возврат денег (если платеж сделан)
    • Уведомление: Email с информацией об отмене
  3. Delivery Failed (Доставка не удалась)

    • Условие: После 3 попыток доставка не состоялась
    • Статус: "Delivery Failed"
    • Действие: Возврат товара на склад, возврат денег
    • Уведомление: Email с предложением переоформить заказ
  4. Return Completed (Возврат завершен)

    • Условие: Товар получен складом, проверен, деньги возвращены
    • Статус: "Refunded"
    • Уведомление: Email с подтверждением возврата
    • Сумма: На счет клиента

Текстовое описание BPMN-диаграммы

╔════════════════════════════════════════════════════════════════╗
║ BPMN: Процесс обработки заказа в интернет-магазине             ║
╠════════════════════════════════════════════════════════════════╣

┌─────────────────────────────────────────────────────────────────┐
│                        CUSTOMER POOL                             │
│                                                                  │
│   (Start) Order Placed → [Select Items & Checkout]              │
│                                                                  │
│                                                                  │
│   (If Return) ← [Initiate Return Request]                       │
│                                                                  │
│                                                                  │
│   [Receive Package] → [End: Order Completed]                    │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│               ECOMMERCE SYSTEM POOL                              │
│                                                                  │
│   ← Receive Order                                               │
│   → [Create Order Record]                                       │
│   → [Check Inventory]                                           │
│                                                                  │
│   ◊ Decision: All items available?                              │
│     YES → [Confirm Order]                                       │
│     NO  → [Cancel Order] → [End: Cancelled]                     │
│                                                                  │
│   → [Request Payment]                                           │
│                                                                  │
│   ◊ Decision: Payment method?                                   │
│     ONLINE  → [Send to Payment Gateway]                         │
│     COD     → [Reserve Inventory]                               │
│                                                                  │
│   → [Notify Warehouse]                                          │
│                                                                  │
│   ← Receive Delivery Confirmation                               │
│   → [Update Order Status to Delivered]                          │
│   → [Send Confirmation Email]                                  │
│   → [End: Order Completed]                                      │
│                                                                  │
│   ← Receive Return Request                                      │
│   → [Validate Return Conditions]                                │
│   ◊ Decision: Return approved?                                  │
│     YES → [Send RMA Number & Label]                             │
│     NO  → [Send Rejection Email]                                │
│   → [End: Return Rejected]                                      │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                PAYMENT GATEWAY POOL                              │
│                                                                  │
│   ← Receive Payment Request                                     │
│   → [Process Payment]                                           │
│                                                                  │
│   ◊ Decision: Payment successful?                               │
│     YES → [Send Confirmation] → [End]                           │
│     NO  → [Send Error] → [End]                                  │
│                                                                  │
│   ← Receive Refund Request                                      │
│   → [Process Refund]                                            │
│   → [Send Confirmation] → [End]                                 │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                WAREHOUSE POOL                                    │
│                                                                  │
│   ← Receive Pick List                                           │
│   → [Pick Items]                                                │
│   → [QC Check]                                                  │
│   → [Pack Order]                                                │
│   → [Generate Shipping Label]                                   │
│   → [Notify Delivery Service]                                   │
│                                                                  │
│   ← Receive Return Package                                      │
│   → [Inspect Returned Items]                                    │
│                                                                  │
│   ◊ Decision: Item condition OK?                                │
│     YES → [Approve Refund] → [Notify Payment Gateway]           │
│     NO  → [Reject Refund] → [Notify Customer]                   │
│   → [End]                                                       │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│             DELIVERY SERVICE POOL                                │
│                                                                  │
│   ← Receive Shipment                                            │
│   → [Scan Package]                                              │
│   → [Load for Delivery]                                         │
│   → [Begin Transit]                                             │
│                                                                  │
│   → [Attempt Delivery]                                          │
│   ◊ Decision: Delivery successful?                              │
│     YES → [Get Signature] → [Send Confirmation]                 │
│     NO  → [Attempt #2]                                          │
│           ◊ If 3 fails → [Return to Warehouse]                  │
│   → [End]                                                       │
│                                                                  │
│   ← Receive Return Pickup Request                               │
│   → [Collect Package from Customer]                             │
│   → [Deliver to Warehouse] → [End]                              │
└─────────────────────────────────────────────────────────────────┘

Ключевые метрики процесса

МетрикаTargetТекущее
Время от заказа до доставки2-3 дня2.5 дней
Процент успешных доставок с первой попытки> 95%92%
Время обработки возврата< 7 дней5 дней
Lead time для платежа (успех/ошибка)< 5 мин3 мин
Процент отмен заказов< 2%1.5%
Время на комплектацию< 2 часов1.5 часов
Описание бизнес-процесса в BPMN | PrepBro