Перейти к основному содержимому

Внутренние действия и альтернативные исходы

Не каждый шаг потока передаёт данные другому элементу. Часть работы система выполняет внутри себя, а ожидаемый сценарий иногда завершается альтернативным исходом. Добавим оба случая в поток оформления заказа.

Внутреннее действие и отдельная ветка обработки ошибки.

Действие внутри элемента​

Исходный поток уже содержит проверку корзины и параллельную подготовку заказа. Следующий шаг выполняет сама подсистема заказа, поэтому для него не нужна связь с другим участником.

Структурные связи при этом сохраняют обобщённые наименования, например Взаимодействует через REST API. Конкретное действие — резервирование товара, расчёт доставки или передача корзины — относится к сценарию потока. Благодаря такому разделению структура показывает устойчивые зависимости, а поток объясняет поведение в конкретной ситуации.

Загрузка изображения...
Параллельная подготовка завершена, поток готов к следующему этапу

Добавьте шаг типа Действие внутри элемента, выберите исполнителя и введите наименование операции. В примере подсистема создаёт заказ и рассчитывает итоговую сумму.

Загрузка изображения...
Внутреннее действие относится к одному элементу и не требует связи

После сохранения на динамической диаграмме появляется вызов элемента к самому себе. Такой шаг отделяет внутреннюю обработку от взаимодействий между подсистемами.

Загрузка изображения...
Самовызов показывает операцию, выполняемую внутри подсистемы

Альтернативная последовательность​

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

Создание альтернативного исхода для выбранного шага

Введите условие перехода к альтернативной ветке. Оно должно коротко объяснять, почему основной сценарий больше не продолжается.

Загрузка изображения...
Целевой шаг подставлен автоматически, остаётся описать условие

После сохранения под основной последовательностью появляется отдельная пустая ветка. Кнопка добавления внутри неё создаёт только вложенные шаги этого исхода.

Загрузка изображения...
Альтернативный исход отделён от основной последовательности

Обработка ошибки​

Добавьте во вложенную ветку ещё одно действие внутри элемента. Выберите подсистему заказа и опишите фиксацию ошибки создания заказа.

Загрузка изображения...
Вложенное действие выполняется только при альтернативном исходе

В результате основной поток описывает успешное создание заказа, а отдельная ветка фиксирует ошибку. Структура сценария остаётся читаемой и пригодной для последующего анализа.

Загрузка изображения...
Успешный и ошибочный исходы описаны в одной модели потока

Локальная видимость альтернативы​

Значок глаза у заголовка альтернативной последовательности временно скрывает её на диаграмме. Это помогает оставить в кадре основной сценарий перед презентацией или экспортом, не удаляя шаги из модели.

Загрузка изображения...
Основной сценарий остаётся в фокусе, а данные альтернативы сохраняются

Повторное нажатие возвращает ветку. Настройка действует только для текущего пользователя, поэтому каждый участник может выбрать удобную детализацию.

Загрузка изображения...
Скрытая ветка восстановлена без потери действий

Таймкоды​

  • 00:00 - назначение внутренних действий и альтернатив;
  • 00:05 - добавление шага;
  • 00:13 - выбор исполнителя;
  • 00:21 - сохранение сочетанием клавиш;
  • 00:27 - результат и разделение структуры с поведением;
  • 00:43 - выбор исходного шага;
  • 00:46 - добавление альтернативы;
  • 00:53 - условие альтернативного исхода;
  • 01:01 - отдельная ветка;
  • 01:09 - действие обработки ошибки;
  • 01:17 - выбор исполнителя;
  • 01:29 - сохранение ветки;
  • 01:36 - локальное скрытие альтернативы;
  • 01:51 - результат урока.

Следующий урок: Импорт OpenAPI и безопасное обновление.

Предыдущий урок: Параллельная подготовка заказа.