Описание синтаксиса языка моделирования
Основными элементами на IDEF0 Диаграммах являются блоки и дуги.
Блоки служат для отображения функций (действий), выполняемых моделируемой системой. Сформулированные функции должны содержать глагольный оборот.
глагол + объект действия + [дополнение].
Например: обрабатывать деталь на станке, передать документы в отдел, разработать план-график проведения анализа, опубликовать материалы...
Дуги служат для отображения информации или материальных объектов, которые необходимы для выполнения функции или появляются в результате ее выполнения (объекты, обрабатываемые системой). Под объектами в рамках функционального моделирования могут пониматься документы, физические материалы, инструменты, станки, информация, организации и даже системы.
Место соединения дуги с блоком определяет тип интерфейса.
Управляющие выполнением функции данные входят в блок сверху, в то время как информация, которая подвергается воздействию функции, показана с левой стороны блока; результаты выхода показаны с правой стороны.
Механизм (человек или автоматизированная система), который осуществляет функцию, представляется дугой, входящей в блок снизу (см.рис. 6.2).
Рис. 6.2 – Типы дуг
Функциональный блок преобразует входную информацию (данные, материалы, средства, задачи, цели и др.) в выходную (что требуется получить в результате выполнения данной функции). Управление определяет, когда и как это преобразование может или должно произойти. Механизм (или исполнители) непосредственно осуществляют это преобразование.
За каждой Дугой закрепляется Замечание, которое отображает суть информации или объекта. Замечание формулируется в виде оборота существительного, отвечающего на вопрос: «Что?».
Рис. 6.3 – Дуги, как ограничивающие и уточняющие факторы Блока
Рис. 6.4 – Пример А0 диаграммы
Функциональные Блоки на Диаграмме изображаются в виде прямоугольников, внутри которых записывается имя функции и номер Блок (в правом нижнем углу прямоугольника).
Блоки располагаются на Диаграмме согласно их степени важности (по мнению автора модели). При этом доминирующим является тот Блок, выполнение функции которого оказывает влияние на выполнение всех остальных функций, представленных на Диаграмме. К примеру, это может быть Блок, содержащий контролирующую или планирующую функцию, выходы которого являются управляющими для всех остальных функциональных Блоков Диаграммы.
Доминирующий Блок помещается, как правило, в верхнем левом углу листа Диаграммы, а наименее важный Блок – в правом нижнем углу. Таким образом, ступенчатость Блоков на Диаграмме отражает мнение автора о доминировании одних Блоков относительно других.
Очень важно помнить, что доминирование блоков на диаграмме не задает четкой временной зависимости операций.
Стороны Блока также имеют определенное значение. К левой границе Блока присоединяются входные Дуги, к верхней – управляющие Дуги, к правой – выходные Дуги, а к нижней – Дуги механизмов.
Дуги на IDEF0 Диаграмме изображаются в виде стрелок.
При IDEF0 моделировании используются пять типов взаимосвязей между Блоками, для описания их отношений.
1) Взаимосвязь по управлению – когда выход одного Блока влияет (является управляющим) на выполнение функции в другом Блоке.
Рис. 6.5 – Взаимосвязь по управлению
2) Взаимосвязь по входу – когда выход одного Блока является входом для другого.
Рис. 6.6 – Взаимосвязь по входу
3) Обратная связь по управлению – когда выходы из одной функции влияют на выполнение других функций, выполнение которых в свою очередь влияет на выполнение исходной функции.
Рис. 6.7 – Обратная связь по управлению
4) Обратная связь по входу – когда выход из одной функции является входом для другой функции, выход которой является для него входом.
Рис. 6.8 – Обратная связь по входу
5) Взаимосвязь «выход-механизм» – когда выход одной функции является механизмом для другой. Иначе говоря, выходная Дуга одного Блока является Дугой механизма для другого. Такой тип связи встречается редко и относится чаще всего к подготовительным операциям.
Рис. 6.9 – Взаимосвязь «выход-механизм»
Поскольку содержание IDEF0 Диаграмм уточняется в ходе моделирования постепенно, Дуги на Диаграммах редко изображают один объект. Чаще всего они отображают определенный набор объектов и могут иметь множество начальных точек (источников) и определенное количество конечных точек (приемников). В ходе разработки графической Диаграммы для отражения этой особенности используют механизм разветвления/слияния Дуг. Это позволяет не только уточнить с использованием Замечаний содержание каждой ветви разветвленной Дуги (потока объектов), но и более точно описать из каких наборов объектов состоит входящая в функциональный Блок Дуга, если она получена путем слияния.
Пример
Рассмотрим пример системы – некоторый отдел контроля, созданный для оценки эффективности управления и функционирования библиотеки (с равным успехом, можно было бы также рассмотреть отдел финансового контроля на некотором предприятии, налогового контроля и т.п.).
Рис. 6.10 – Диаграмма верхнего уровня А-0, отражающая целевую функцию системы
Рис. 6.11 – Диаграмма А0, отражающая декомпозицию целевой функции на основные функции А1, А2, А3
Рис. 6.12 – Декомпозиция блока А1
Рис. 6.13 – Декомпозиция блока А2
Рис. 6.14 – Декомпозиция блока А3