3.3.1. Методология IDEF0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 
30 31 32 33 34 35 36 37 38 39 40 

 

Методология IDEF0 является одной из самых известных и широко используемых методологий проектирования. Системные аналитики всего мира используют для решения широкого спектра проблем, включая разработку программного обеспечения, бизнес-анализ, проектирование, планирование и управление производственными системами, управление финансами и материально-техническими ресурсами, обучение персонала и т.д. [10].

Методология IDEF0 базируется на методе SADT (Structured Analysis and Design Technique) Росса, предназначенном для структурированного представления функций системы и анализа системных требований. При создании новых систем IDEF0 может вначале применяться для определения требований и функций, а затем для разработки системы, которая удовлетворяет этим требованиям и реализует эти функции. Для уже существующих систем IDEF0 может использоваться для анализа функций и механизмов их исполнения.

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

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

- "Входы" отображают объекты, которые функциональный блок преобразует в "Выходы" (например, входную информацию в выходную);

- "Управление" определяет, когда и как это преобразование может или должно произойти;

- "Механизм" (человек, оборудование, автоматизированная система) непосредственно осуществляет преобразование.

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

Каждый функциональный блок может быть декомпозирован, т.е. представлен в виде совокупности других взаимосвязанных функциональных блоков, которые детально описывают исходный блок. Таким образом, модель SADT состоит из набора иерархически связанных диаграмм (см. рис. 3.9). Каждая диаграмма обычно содержит 3 - 5 блоков, размещаемых по "ступенчатой" схеме в соответствии с их доминированием, которое понимается как влияние, оказываемое одним блоком на другие.

Построение модели начинается с представления всей системы в виде простейшей компоненты – одного блока и дуг, изображающих интерфейсы с внешним окружением. Например, на рис 3.9 блок на диаграмме верхнего уровня имеет 4 внешних дуги – I1, I2, C1, O1. Для обозначения внешних дуг используются буквы: I (Input - вход), C (Control – управление), O (Output – выход) и M (Mechanism – механизм).

 

 

 

 

 

 

 

 

 

 

 


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

Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера узлов. Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме АО.

Дуги связывают различные функциональные блоки вместе и отображают взаимодействие и взаимное влияние блоков. Взаимовлияние может выражаться либо в передаче выхода одного блока на вход другого для дальнейшего преобразования, либо в выработке управляющей информации, предписывающей, что должна делать другая активность. Дуги могут отображать и отношения обратной связи. Дуги с одним свободным концом имеют источник или получатель вне диаграммы (I1, I2, C1, O1 на рис. 3.9). Они должны соответствовать дугам на исходной диаграмме.

Нужно подчеркнуть, что дуги – это не потоки и не последовательности. Они представляют собой ограничения на работу блока в том смысле, что функция не может быть выполнена, пока не станут доступными данные или объекты, соответствующие входящим дугам. Таким образом, ни последовательность выполнения функций, ни время не указаны явно на SADT-диаграммах.

Дуги могут разветвляться и соединяться различным образом. Каждая из ветвей может представлять один и тот же объект или различные объекты одного и того же типа.  Метки указывают назначение дуг.

Перейдем к рассмотрению вопросов применения методологии IDEF0 в технологии реинжиниринга.

Данная методология может быть использована для описания потоков событий прецедентов бизнес-системы. Каждый шаг прецедента (событие) может быть представлен как функциональный блок SADT-диаграммы. При этом объекты, участвующие в выполнении прецедента, представляются как входные и выходные дуги функциональных блоков. Так, интерфейсные и управляющие объекты представляются как дуги механизма, т.к. представляют собой людей, непосредственно осуществляющих выполнение преобразования (события). Объекты-сущности могут представлять входные дуги (если они являются предметом преобразований) или выходные дуги (если они являются результатом преобразований) или дуги управления (если они определяют условия преобразования) или дуги механизма (если они являются инструментом преобразований). Таким образом, с помощью SADT-диаграммы можно представить диаграмму взаимодействия объектов в ходе выполнения потока событий прецедента.

Рассмотрим, как можно представить в виде  SADT-диаграммы описание прецедента «Продажа заказного продукта» (см. п. 3.2).

На исходной диаграмме верхнего уровня А-0 прецедент представляется в виде одного блока и дуг, изображающих его взаимодействие с внешним окружением (см. рис. 3.10).

 

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

Далее прецедент декомпозируется на подблоки, соответствующие основным шагам прецедента – «Получить заказ клиента», «Выполнить заказ», «Получить оплату заказа» и «Отправить заказ клиенту». Соответствующая диаграмма представлена на рисунке 3.11.

 

Для блока 1 «Получить заказ клиента» входом является «информация о заказе», получаемая от клиента. Этому входу соответствует дуга I1, которая переносится с родительской диаграммы. Выходом является «заказ», содержащий: «описание продукта» (предается блоку «Выполнить заказ») и «адрес клиента» (передается блоку «Отправить заказ клиенту»). Механизмом является дуга M1 – «продавец», который обеспечивает исполнение блока.

Для блока 2 «Выполнить заказ» дуга «описание продукта» является управляющей, т.к. она предписывает, каким образом должно происходить выполнение заказа. Входом являются «материалы, детали», используемые при производстве продукта, а выходом – «готовый продукт» (передается блоку «Отправить заказ клиенту»). Кроме того, выходом является «информация о выполнении заказа», которая передается блоку «Получить оплату заказа» в качестве управляющего сигнала. Механизм блока представлен дугами «проектировщик» и «оборудование».

Для блока 3 «Получить оплату заказа» входом являются «деньги», получаемые от клиента. Этому входу соответствует дуга I3, которая переносится с родительской диаграммы. Выходом является «информация об оплате», которая передается блоку «Отправить заказ клиенту» в качестве управляющего сигнала. Механизмом является дуга M1 – «продавец», который обеспечивает исполнение блока.

Для блока 4 «Отправить заказ клиенту» входом является «готовый продукт», управляющим входом - «информация об оплате». Выходом является «доставленный продукт», который является выходом всего прецедента. Механизмом являются дуги «отправитель» и  «транспорт».