Эстафета

Назначение этой схемы — показать порядок взаимодействие между несколькими объектами.

Эта схема, пожалуй, одна из самых сложных в языке VISIC, потому что на ней можно использовать почти все элементы языка в зависимости от того, какие виды взаимодействия мы моделируем.

Схема рисуется с использованием следующих основных элементов:

1. Собственно взаимодействующие объекты, выстроенные в ряд. Это могут быть логические объекты (прямоугольники), физические объекты (кубики) или роли (человечки).
2. Параллельные временные дорожки (хвосты), идущие от каждого объекта.
3. Стрелки, связывающие дорожки. Стрелка обозначает событие, а направление стрелки показывает, кто инициирует это событие и кто его принимает.

Кроме этих элементов, на схеме «Эстафета» могут использоваться и другие элементы, которые располагаются на хвостах в том порядке, в котором они используются. Чаще всего это описания действий, но иногда используются и состояния (круги), и информационные потоки (широкие стрелки).

Например, картинка в начале статьи иллюстрирует порядок взаимодействия различных систем при выдаче наличных через банкомат. Картинка отвечает на вопрос «какие типы сообщений используются в процессинге банка-эквайера», поэтому эти типы сообщений выделены в виде информационных потоков (широкими стрелками). Все остальные взаимодействия, информационное содержимое которых нас в данный момент не интересует, показаны в виде событий (простыми стрелками с подписями).

Временная дорожка — элемент языка VISIC, который обычно используется только в этой схеме. Особенность оси времени, как мы знаем из повседневной жизни, состоит в том, что по ней нельзя вернуться назад. Поэтому на схеме не может быть стрелок, направленных против течения времени. Это означает, что каждая схема «Эстафета» показывает только один вариант развития событий. Если вам нужно показать несколько различных вариантов, то для каждого из них нужно нарисовать отдельную схему.

Фрагмент выступления Григория Печенкина «Что может быть проще моделирования!» на конференции Analyst Days-2017.

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

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

Эстафета может применяться везде, где нужно показать порядок взаимодействия нескольких объектов. На рисунке ниже показан порядок взаимодействия нескольких ролей при обработке инкассового платёжного поручения при переводе денег из одного банка в другой.

Эстафета1

Рисунок показывает основных участников процесса: плательщика, получателя денег, и банков, в которых у них открыты счета. Плательщик и получатель показаны символами человечков, а банки — прямоугольниками логических объектов. В данном случае это сделано только для того, чтобы визуально разделить конечных участников процесса и посредников.

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

В UML эта схема известна как диаграмма последовательности (Sequence diagram), одна из разновидностей диаграмм взаимодействия.