Рисунок 14 – Объектная связь между действиями 1.1 и 1.2
Связь типа «Нечеткое отношение». Связи этого типа используются для выделения отношений между действиями, которые невозможно описать с использованием предшественных или объектных связей. Значение каждой такой связи должно быть определено, поскольку связи типа «Нечеткое отношение» сами по себе не предполагают никаких ограничений. Одно из применений нечетких отношений – отображение взаимоотношений между параллельно выполняющимися действиями. Рисунок 15 иллюстрирует фрагмент процесса запуска бензопилы с водяным охлаждением и нечеткое отношение между действиями «Запустить двигатель» и «Запустить водяной насос». Название стрелки может быть использовано для описания природы отношения, более подробное объяснение может быть приведено в виде отдельной ссылки.
Рисунок 15 – Связь типа «Нечеткое отношение»
Наиболее часто нечеткие отношения используются для описания специальных случаев связей предшествования, например, для описания альтернативных вариантов временного предшествования. Обратимся еще раз к рисунку 13. На рисунке 16 вертикальные линии показывают начало и окончание действий 1.1 и 1.2, имеющих предшественную связь. В соответствии с рисунком внесение исправлений в работу начинается ПОСЛЕ принятия всех замечаний от рецензентов.
Рисунок 16 – Временная шкала выполнения действия
Альтернативная предшественной связи (см. рисунок 13) связь нечеткого отношения представлена на рисунке 17. В этом примере внесение исправлений начинается по мере получения замечаний от рецензентов, т.е. до непосредственного окончания действия по принятию замечаний.
Рисунок 17 – Альтернатива связи предшествования
На рисунке 18 приведена соответствующая этой ситуации временная шкала.
Рисунок 18 – Альтернативная временная шкала
В реальных процессах встречаются различные варианты временных шкал, поэтому корректная интерпретация нечеткого отношения должна быть документирована в модели.
Завершение одного действия может инициировать начало выполнения сразу нескольких других действий, или, наоборот, определенное действие может требовать завершения нескольких других действий для начала своего выполнения. Соединения разбивают или соединяют внутренние потоки и используются для описания ветвления процесса. Соединения еще называют логическими операторами.
Разворачивающие соединения используются для разбиения потока. Завершение одного действия вызывает начало выполнения нескольких других.
Сворачивающие соединения объединяют потоки. Завершение одного или нескольких действий вызывает начало выполнения только одного другого действия.
В таблице 3 представлены соединения, используемые в моделях IDEF3.
Таблица 3 – Типы соединений в модели IDEF3
Графическое обозначение | Название | Вид | Правила инициации |
& | «И» | Разворачивающее | Каждое конечное действие обязательно инициируется |
Сворачивающее | Каждое исходное действие обязательно должно завершиться | ||
Х | «Эксклюзивное ИЛИ» | Разворачивающее | Одно и только одно конечное действие инициируется |
Сворачивающее | Одно и только одно исходное действие должно завершиться | ||
O | «ИЛИ» | Разворачивающее | Одно (или более) конечное действие инициируется |
Сворачивающее | Одно (или более) исходное действие должно завершиться |
«И»-соединение. Соединения этого типа инициируют выполнение всех своих конечных действий. Все действия, присоединенные к сворачивающему «И»-соединению, должны завершиться, прежде чем может начать выполняться следующее действие. На рисунке 19 после обнаружения пожара инициируются включение пожарной сигнализации, вызов пожарной охраны и начинается тушение пожара. Запись в журнал производится только тогда, когда все три перечисленных действия завершены.
Рисунок 19 – «И»-соединения
«Эксклюзивное ИЛИ»-соединение. Вне зависимости от количества действий, прицепленных к сворачивающему или разворачивающему соединению «Эксклюзивное ИЛИ», инициировано будет только одно из них, и поэтому только одно из них будет завершено перед тем, как любое действие, следующее за сворачивающим соединением «Эксклюзивное ИЛИ», сможет начаться.
Если правила активации соединения известны, они обязательно должны быть документированы либо в его описании, либо пометкой стрелок, исходящих из разворачивающего соединения, как показано на рисунке 20.
На рисунке 20 соединение «Эксклюзивное ИЛИ» используется для отображения того факта, что студент не может одновременно быть направлен на лекции по двум разным курсам.
Рисунок 20 – Соединение «Эксклюзивное ИЛИ»
«ИЛИ»-соединение. Соединения этого типа предназначены для описания ситуаций, которые не могут быть описаны двумя предыдущими типами соединений. На рисунке 21 соединение J2 может активировать проверку данных чека и (или) проверку суммы наличных. Проверка чека инициируется, если покупатель желает расплатиться чеком; проверка суммы наличных – при оплате наличными. И то, и другое действие инициируется при частичной оплате чеком и частичной – наличными.
Рисунок 21 – Соединение «ИЛИ»
Синхронные и асинхронные соединения. Есть случаи, когда время начала или окончания параллельно выполняемых действий должно быть одинаковым, т.е. действия должны выполняться синхронно. Для моделирования такого поведения системы используются синхронные соединения. Синхронное соединение обозначается двумя вертикальными линиями внутри обозначающего его прямоугольника в отличие от одной вертикальной линии в асинхронном соединении.
Парность соединений. Все соединения на диаграммах должны быть парными, из чего следует, что любое разворачивающее соединение имеет парное себе сворачивающее. Однако типы соединений вовсе не обязательно должны совпадать.
Указатели - это специальные символы, которые ссылаются на другие разделы описания процесса. Они выносятся на диаграмму для привлечения внимания читателя к каким-либо важным аспектам модели.
Таблица 4 – Типы указателей модели IDEF3
Тип указателя | Назначение |
ОБЪЕКТ (OBJECT) | Для описания того, что в действии принимает участие какой-либо заслуживающий отдельного внимания объект |
ССЫЛКА (GOTO) | Для реализации цикличности выполнения действий. Указатель ССЫЛКА может относиться и к соединению |
ЕДИНИЦА ДЕЙСТВИЯ (Unit of Behavior - UOB) | Для помещения на диаграмму дополнительного экземпляра уже существующего действия без зацикливания. Например, если действие выполняется несколько раз, в первый раз оно создается как действие, а последующие его появления на диаграмме оформляются указателями UOB |
ЗАМЕТКА (NOTE) | Для документирования любой важной информации общего характера, относящейся к изображенному на диаграммах |
УТОЧНЕНИЕ (ELAB) | Для уточнения или более подробного описания изображенного на диаграмме. Указатели УТОЧНЕНИЕ обычно используются для описания логики ветвления у соединений |
Указатель изображается на диаграмме в виде прямоугольника, похожего на изображение действия. Имя указателя обычно включает его тип (например, ОБЪЕКТ, UOB и т.п.) и идентификатор.
На рисунке 22 показан пример отображения важного с точки зрения модели отношения между действием и объектом.
Рисунок 22 – Указатель ОБЪЕКТ ссылается на действие
Так же, как и диаграммы IDEF0, диаграммы потоков данных моделируют систему как набор действий, соединенных друг с другом стрелками. Диаграммы потоков данных также могут содержать два новых типа объектов: объекты, собирающие и хранящие информацию, – хранилища данных и внешние сущности – объекты, которые моделируют взаимодействие с теми частями системы (или другими системами), которые выходят за границы моделирования.
В отличие от стрелок в IDEF0, которые иллюстрируют отношения, стрелки в DFD показывают, как объекты (включая и данные) реально перемещаются от одного действия к другому. Это представление потока вкупе с хранилищами данных и внешними сущностями обеспечивает отражение в DFD-моделях таких физических характеристик системы, как движение объектов (потоки данных), хранение объектов (хранилища данных), источники и потребители объектов (внешние сущности).