Методология функционального моделирования IDEF0

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

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

Функциональное моделирование предполагает построение древовидной функциональной структуры рассматриваемого процесса.

В основу IDEF0 положен формализованный язык, характеризующийся точными правилами построения функциональной модели. Алфавит этого языка включает совокупность графических символов, из которых строятся функциональные схемы (выражения) в соответствии с правилами построения схем. Для аналитического представления функциональной модели, а также для описания свойств и семантики используются естественные и логико-математические языки.

Формально функциональная схема представляет собой ориентированный граф вида :

G = (F, D, L), где:

F = {F1, F2, ...} - это множество вершин (функциональных блоков),

D = {D1, D2, ...} - множество направленных дуг,

L Í D Х F È F Х D - отношение инцидентности.

Основой методологии являются следующие понятия:

1. в терминах IDEF0 система представляется в виде комбинации блоков и интерфейсных дуг. Блоки используются для представления функций системы, функции должны иметь имена, выраженные грамматической формой глагола. На одной диаграмме должно помещаться от 3 до 6 блоков для удобства чтения диаграммы, максимальное их количество 9

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

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

Графические символы (алфавит) представления функциональной модели приведены на рисунке. Стрелки играют роль интерфейса и означают либо предметы (материальные объекты), либо информационные объекты – данные.

Стрелки помечаются уникальными метками, выраженными грамматической формой существительного и называются ICOM-метками (Input, Control, Output, Mechanism) .

 

Основные правила соединения блоков

 

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

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

Другим примером тоннелирования может быть ситуация, когда стрелка мигрирует с верхнего уровня на нижний, причем на нижнем уровне эта стрелка (стрелка управления или механизма) используется одинаково во всех работах без исклю­чения. (Предполагается, что не нужно детализировать стрелку управления или механизма, т. е. стрелка на дочерней работе именована до разветвления, а после разветвления ветви не имеют собственного имени).

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

Тоннелирование не используется, если на диаграмме нижнего уровня необходимо изобразить малозначимые данные или объекты, которые присутствовали внутри объектов более высокого уровня. В таком случае их необходимо получить разветвлением стрелки, идущей с верхнего уровня. Если же малозначимые данные уже были использованы на других уровнях модели и требуется их повторное использование, то тоннельные стрелки с того уровня должны быть на­правлены на вышестоящий уровень (на родительскую диаграмму) и выведены из тоннеля для дальнейшего использования.

Именование стрелок. Для разветвляющихся стрелок недопустима ситуация, когда стрелка до разветвления не именована, а после разветвления не именована какая-либо из ветвей.

Рис. Пример именования разветвляющейся стрелки

Для сливающихся стрелок ошибкой считается стрелка, которая после слияния не именована, если до слияния не именована какая-либо из ее ветвей. Для именования от­дельной ветви разветвляющихся и сливающихся стрелок следует выделить на диаграмме только одну ветвь и дать ей имя. Это имя будет соответствовать только выделенной ветви.