IDEF3 cоединения

evteev 10.06.2009

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

Разворачивающие соединения используются для разбиения потока. Завершение одного действия вызывает начало выполнения нескольких других.

Сворачивающие соединения объединяют потоки. Завершение одного или нескольких действий вызывает начало выполнения только одного другого действия.

Примеры разворачивающих и сворачивающих соединений приведены на рис. 1.10.

Два вида соединений

Рис. 1.10. Два вида соединений

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

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

И-соединения

Рис. 1.11. "И"-соединения

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

На рис. 1.12 соединение "Эксклюзивное ИЛИ" используется для отображения того факта, что студент не может одновременно быть направлен на лекции по двум разным курсам.

Соединение Эксклюзивное ИЛИ

Рис. 1.12. Соединение "Эксклюзивное ИЛИ"

Соединение "ИЛИ". Соединения этого типа предназначены для описания ситуаций, которые не могут быть описаны двумя предыдущими типами соединений. Аналогично связи нечеткого отношения соединение "ИЛИ" в основном определяется и описывается непосред-

ственно системным аналитиком. На рис.. 1.13 соединение J2 может активировать проверку данных чека и (или) проверку суммы наличных. Проверка чека инициируется, если покупатель желает расплатиться чеком, проверка суммы наличных — при оплате наличными. И то, и другое действие инициируется при частичной оплате чеком и частичной — наличными.

Соединение ИЛИ

Рис. 1.13. Соединение "ИЛИ"

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

Таблица 1.3 Синхронные соединения модели IDEF3

Синхронные соединения модели IDEF3

Синхронные соединения модели IDEF3

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

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

Рис. 1.14 иллюстрирует модель этого примера, построенную с использованием синхронного соединения.

Синхронное соединение

Рис. 1.14. Синхронное соединение

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

Парность соединений. Все соединения на диаграммах должны быть парными, из чего следует, что любое разворачивающее соединение имеет парное себе сворачивающее. Однако типы соединений вовсе не обязательно должны совпадать. На рис. 1.15 разворачивающее "И"-соединение имеет парное сворачивающее "ИЛИ"-соединение. Интерпретация соединения Л аналогична случаю, показанному на рис. 1.11. Соединение J2 интерпретируется следующим образом: после включения пожарной сигнализации и (или) вызова пожарных и (или) начала тушения производится запись в журнал.

Пример комбинации двух типов соединений

Рис. 1.15. Пример комбинации двух типов соединений

Диаграмма IDEF3 с комбинацией соединений

Рис. 1.16. Диаграмма IDEF3 с комбинацией соединений

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

Похожие статьи: