Правила установления связей между работами
n Связи показывают взаимоотношение работ, обозначаются стрелками.
n Окончание одной работы может служить сигналом к началу нескольких работ, или же одна работа для своего запуска может ожидать окончания нескольких работ. Тогда для отображения логики взаимодействия стрелок при слиянии и разветвлении или для отображения множества событий, которые должны произойти используются перекрестки.
n Перекрестки на диаграмме нумеруются, каждый номер имеет префикс J.
n Стрелки могут сливаться и разветвляться только через перекрестки.
Различают перекрестки:
· для слияния стрелок (Fan- in Junction), которые объединяют потоки. Завершение одного или нескольких действий вызывает начало выполнения другого действия.
· для разветвления стрелок (Fan- out Junction), которые используются для разбиения потока. Завершение одного действия вызывает начало выполнения нескольких других;
Перекрестки бывают 5 типов.
Типы перекрестков
· Асинхронное «И» (Asynchronous AND). Все предшествующие процессы должны быть завершены, или все следующие запущены.
· Синхронное «И» (Synchronous AND). Все предшествующие процессы должны быть завершены одновременно, или все следующие одновременно запущены.
· Асинхронное «ИЛИ» (Asynchronous OR). Один или несколько предшествующих процессов должны быть завершены, или последующих запущены.
· Синхронное «ИЛИ» (Synchronous OR). Один или несколько предшествующих процессов должны быть завершены одновременно, или последующих одновременно запущены.
· Исключающее «ИЛИ» (XOR или Exclusive OR). Только один предшествующий процесс завершен или только один следующий запускается.
Правила создания перекрестков
1. Каждому перекрестку для слияния должен предшествовать перекресток для разветвления
2. Перекресток для слияния «И» не может следовать за перекрестком для разветвления «ИЛИ».
3. Перекресток для слияния типа исключающего «ИЛИ» не может следовать за перекрестком для разветвления типа «И».
4. Перекресток, имеющий одну стрелку на одной стороне, должен иметь более одной стрелки на другой.
Соединения «И» инициируют выполнение конечных действий. Все действия, присоединенные к сворачивающему соединению "и", должны завершиться, прежде чем начнется выполнение следующего действия. Например, после обнаружения пожара инициируются включение пожарной сигнализации, вызов пожарной охраны, и начинается тушение пожара. Запись в журнал производится только тогда, когда все три перечисленных действия завершены.
Рисунок 2. Соединения "и"
Соединение "исключающее "или"" означает, что вне зависимости от количества действий, связанных со сворачивающим или разворачивающим соединением, инициировано будет только одно из них, и поэтому только оно будет завершено перед тем, как любое действие, следующее за сворачивающим соединением, сможет начаться. Если правила активации соединения известны, они обязательно должны быть документированы либо в его описании, либо пометкой стрелок, исходящих из разворачивающего соединения. На рисунке 3 соединение "исключающее "или"" используется для отображения того факта, что студент не может одновременно быть направлен на лекции по двум разным курсам.
Рисунок 3. Соединение "исключающее "или""
Соединение "ИЛИ" предназначено для описания ситуаций, которые не могут быть описаны двумя предыдущими типами соединений. Аналогично связи нечеткого отношения соединение "или" в основном определяется и описывается непосредственно аналитиком. На рисунке 4 соединение J2 может активизировать проверку данных чека и/или проверку суммы наличных. Проверка чека инициируется, если покупатель желает расплатиться чеком, проверка суммы наличных — при оплате наличными. И то, и другое действие инициируются при частичной оплате, как чеком, так и наличными.
Рисунок 4. Соединения "или"
В рассмотренных примерах все действия выполнялись асинхронно, т.е. они не инициировались одновременно. Однако существуют случаи, когда время начала или окончания параллельно выполняемых действий должно быть одинаковым, т.е. действия должны выполняться синхронно. Для моделирования такого поведения системы используются различные виды синхронных соединений, которые обозначаются двумя двойными вертикальными линиями внутри прямоугольника.
Декомпозиция работ. В IDEF3 декомпозиция используется для детализации работ и может быть применена многократно, т.е. работа может иметь множество дочерних работ. Это позволяет в одной модели описать альтернативные потоки. Декомпозиция может быть сценарием или описанием. Описание включает все возможные пути развития процесса. Сценарий является частным случаем описания и иллюстрирует только один путь развития процесса.
Номер каждой работы состоит из номера родительской работы, номера декомпозиции и собственного номера работы на текущей диаграмме.