Idef0 особенности применения. IDEF0 диаграмма: примеры и правила построения




  1. Функциональное моделирование информационной системы с использованием CASE-технологии IDEF.
  2. Описание логики взаимодействия и последовательности выполнения работ.

2. План занятия

  1. Контроль знаний путем тестирования (тест ИСЭ002).
  2. Разработка многоуровневой модели деятельности информационной системы (модель AS - IS) с помощью CASE-средства BPwin с использованием технологий IDEF 0 и IDEF 3 :
    • Описание свойств модели (Model Properties).
    • Создание ПЕРВОГО уровня функциональной модели – разработка контекстной диаграммы.
    • Создание ВТОРОГО уровня функциональной модели – проведение детализации контекстной работы и разработка диаграммы декомпозиции.
    • Создание ТРЕТЬЕГО уровня функциональной модели – проведение детализации работы второго уровня, реализующей функцию Учет деятельности организации. Выполнение данного этапа разработки допускает создание диаграммы декомпозиции с использованием одной из двух методологий – IDEF 0 (1-й вариант) или IDEF 3 (2-й вариант). По 2-му варианту создание сценария и диаграммы последовательности выполнения отдельных работ (Workflow Diagram) в процессе учета деятельности выполняется с использованием методологии IDEF 3.
  3. Разработка словаря работ и словаря стрелок, которые позволяют отобразить описание соответствующих фрагментов модели.
  1. Функциональное моделирование информационной системы с использованием технологии IDEF необходимо проводить, используя CASE-средство BPwin , которое загружается командой Пуск/Программы/Computer Associates/BPwin 4.0/BPwin4.0 . Технологические процессы IDEF-моделирования изложены в разделе 4 «Теоретические сведения к практическому занятию».
  2. Разрабатывая контекстную диаграмму, следует учитывать, что свойства модели можно оформить следующим образом, используя сведения соответствующие моделируемой предметной области:
    • Model Name : Деятельность фирмы «Имя»;
    • Project (название проекта): Модель деятельности фирмы «Имя»;
    • ФИО, группа;
    • Scope (область моделирования, включающая цель моделирования, т.е. вопросы, на которые построенная модель должна дать ответ) – например, «Общее управление бизнесом компании: исследование рынка, закупка компонентов, тестирование и продажа продукции» или «Технологические, финансовые и управленческие аспекты деятельности фирмы»;
    • Time Frame (тип модели) : AS-IS;
    • Definition (определение , назначение модели) : Учебная модель, описывающая деятельность фирмы «Имя»;
    • Viewpoint (точка зрения лицо, чья точка зрения принята при разработке) : Руководитель предприятия и главный менеджер;
    • Status : WORKING;
    • Purpose (цель) : Моделировать текущие бизнес-процессы фирмы «Имя» с целью регламентации ее деятельности;
    • Source (источник информации) : Анализ предметной области и анализ входных документов;
    • Author Name : ФИО.
  3. При выполнении декомпозиции контекстной диаграммы следует учитывать, что она, являясь вторым уровнем декомпозиции модели системы, представляет собой подпроцесс или дочернюю работу , реализованную в виде контекстной работы, которая в этом случае выступает как родительская работа , реализованная в виде родительской диаграммы (Parent Diagram ) . Диаграмма декомпозиции второго уровня должна содержать не менее трех функциональных блоков, один из которых должен выполнять функцию моделирования учета деятельности организации, а остальные должны выполнять функцию моделирования бизнес-процессов , реализуемых в системе.
  4. На каждом шаге декомпозиции следует следить за процессом автоматического перемещения интерфейсных дуг (стрелок) на нижние уровни модели и стараться без необходимости не допускать создания туннелированных стрелок. В случае их появления следует убирать туннели.
  5. При реализации третьего уровня декомпозиции следует учитывать, что каждая из разработанных диаграмм декомпозиции является третьим уровнем декомпозиции работ второго уровня и представляет собой подпроцесс или дочернюю работу, реализованную в виде дочерней диаграммы (Child Diagram) соответствующей работы третьего уровня. Все работы второго уровня в этом случае выступают как родительские работы , реализованные в виде родительских диаграмм (Parent Diagrams ).
  6. Декомпозицию работы второго уровня, моделирующей функцию учета, и создание сценария взаимодействия работ следует выполнять, используя технологию IDEF 3, которая использует в качестве функциональных блоков единицы работы (Unit of Work, UOW ) , а также и необходимые объекты ссылок (Referents) , которые могут быть как внедрены в сценарий из словаря стрелок, так и созданы заново.
  7. Словарь работ и словарь стрелок создаются на каждом уровне декомпозиции модели, причем необходимым условием их разработки является наличие описания работы (activity) и описания данных, зафиксированных на интерфейсной дуге (arrow ) .
  8. Результаты работы сохранить в файле Функц_модель ИС_Имя_ IDEF.bp1 в своей папке ИСЭ .
  9. Пример обобщенной функциональной модели приведен в

4. Теоретические сведения к практическому занятию

4.1. IDEF 0-технология

Методология IDEF0 предназначена для моделирования деятельности организации. На начальном этапе разработки проекта создается модель, предназначенная для описания существующих бизнес-процессов и технологических процессов на предприятии по принципу «AS - IS» («Как есть»), причем, что немаловажно, она представляет предприятие с позиции сотрудников, которые на нем работают и досконально знают все нюансы, в том числе и неформальные. AS-IS – «что мы делаем сегодня», перед тем, как перепрыгнуть на то, «что мы будем делать завтра».

Модель деятельности или, иначе говоря, функциональная модель. Функциональная модель рассматривает систему как набор действий, в котором каждое действие преобразует некоторый объект или набор объектов . Технология IDEF 0 использует принцип функциональной декомпозиции систем (разбиение системы на фрагменты). Принцип декомпозиции означает, что функциональную модель следует строить по правилу «сверху вниз» , от общего вида модели к частным моделям. Поэтому обычно функциональная модель решения задачи представляет собой совокупность частных функциональных моделей .

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

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

Функциональный блок

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

Функциональный блок изображается прямоугольником, стороны которого имеют следующие значения:

  • Верхняя сторона – управление.
  • Нижняя сторона – механизм.
  • Правая сторона – выход.
  • Левая сторона – вход.

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

Интерфейсная дуга

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

Имя стрелки указывает ее роль (совокупность возможных ролей обозначается – ICOM ):

Вход функционального блока – I nput .

Управление – C ontrol .

Выход функционального блока – O utput .

Механизм – M echanism .

Вход (Input ) – это материал или информация, которые используются или преобразуются работой для получения результата (выхода). Стрелки входа может не быть.

Управление (Control) – правила, стратегии, процедуры или стандарты, которыми руководствуется работа. Оно влияет на работу, но не преобразуется работой. Стрелка рисуется как входящая в верхнюю грань работы. Каждый функциональный блок должен иметь как минимум одну стрелку управления.

Часто сложно определить, являются ли данные входом или управлением. Если данные в работе изменяются или перерабатываются, то это, скорее всего, вход, а если нет – управление. Если определить статус стрелки сложно, рекомендуется рисовать стрелку управления.

Выход (Output) – материал или информация, которые производятся работой. Обязательна хотя бы одна стрелка выхода, исходящая из правой грани работы.

Механизм исполнения (Mechanism) – ресурсы, которые выполняют работу (например, персонал, станки, устройства и т. п.). Стрелка рисуется как входящая в нижнюю грань работы. Стрелки механизма могут не изображаться. В общем виде функциональный блок показан на рис. 2.1.

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

Из нескольких функциональных блоков, соединенных интерфейсными дугами требуемым образом, строится функциональная модель.

Следует обратить внимание на то, что стрелки могут разветвляться, осуществляя требуемые соединения функциональных блоков.

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

Создание диаграмм в технологии IDEF0

При разработке модели деятельности организации следует использовать три типа диаграмм:

  • I тип диаграммы – Контекстная диаграмма (может быть только одна) – вершина древовидной структуры, которая представляет собой наиболее абстрактный уровень описания системы и ее взаимодействие с внешней средой. В ней определена контекстная функция ;
  • II тип диаграммы – Диаграмма декомпозиции .

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

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

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

В диаграмме декомпозиции слева вверху располагается работа наиболее важная и выполняемая первой. Последовательно вниз идут работы менее важные или выполняемые позже.

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

4.2. Технологический процесс IDEF0-моделирования:


Рис. 2.2

CASE-средство BPWin имеет простой и понятный пользовательский интерфейс для построения требуемых функциональных моделей и сценариев. Он зависит от используемой технологии. На рис. 2.2 показано окно BPWin (Computer Associates BPWin ).

Основная панель инструментов окна Computer Associates BPwin содержит следующие кнопки:

– создание новой модели,

– открытие имеющейся модели,

– сохранение построенной модели,

– печать модели,

– выбор масштаба,

– масштабирование,

– проверка правописания,

– включение/выключение навигатора модели,

– включение/выключение Model Mart.

Навигатор модели показывает состав модели по уровням разработки. С его помощью можно легко и быстро переходить с уровня на уровень. Работа с навигатором модели аналогична работе с Проводником системы Windows.

Панель специальных инструментов содержит следующие основные кнопки:

Окно модели является местом создания функциональной модели исследуемой системы. В нем строятся и редактируются функциональные блоки, рисуются и редактируются стрелки, осуществляется декомпозиция.

Подготовка модели

  1. Нажать кнопку создания модели для вызова окна диалогового окна BPWin (рис. 2.3):

В диалоговом окне BPWin произвести следующие действия:

  • выбрать Business Process (IDEF0) ;
  • задать имя модели и нажать кнопку ОК ;
  • в окне Properties for New Model зафиксировать фамилию автора модели;
  • нажать кнопку ОК .

  1. Командой Model/Model Properties вызвать диалоговое окно Model Properties (рис. 4), в котором оформить свойства модели в соответствии с методическими рекомендациями, изложенными в разделе 2.

Первый уровень моделирования

  1. Оформить функциональный блок в окне модели, выполнив следующие действия:
    • в контекстном меню функционального блока выбрать команду Name … ;
    • в диалоговом окне Activity Properties (рис. 2.5) в закладке Name задать имя работы (краткое), помещаемой в данный функциональный блок, а в закладке Definition в поле Definition описание работы;
    • в закладке Font задать шрифт Arial Cyr и установить флажки, позволяющие использовать этот шрифт во всех функциональных блоках диаграммы (All activities in this diagram, All activities in this model и Change all occurrences of this font in the model ), после чего нажать кнопку ОК .
    • в диалоговом окне Arrow Properties (рис. 2.7), в закладке Name задать имя стрелки (краткое), а в закладке Definition в поле Definition вписать достаточно подробное описание назначения этой стрелки;

    • в контекстном меню стрелки выбрать команду Font … ;
    • в диалоговом окне Arrow Properties (рис. 2.8), в закладке Font задать шрифт Arial Cyr и установить флажки, позволяющие использовать этот шрифт для всех стрелок диаграммы (All Arrows in this diagram, All Arrows in this model, All instances of this Arrow и Change all occurrences of this font in the model );

  1. Оформить стрелку Выход, левые границы правыми ;
  2. Оформить стрелку Управление , для чего повторить п. 2, заменив левые границы верхними ;
  3. Оформить стрелку Механизм, для чего повторить п. 2, заменив левые границы нижними .

Второй уровень моделирования

Любой уровень моделирования

Для создания декомпозиции модели на любом уровне моделирования, следует выполнить следующие действия:

  • активизировать щелчком конкретный функциональный блок;
  • повторить п. 3 для текущего уровня модели.
  1. Тип и стиль оформления стрелки можно выбрать в диалоговом окне Arrow Properties (рис. 2.9), вызываемом командой Style из контекстного меню стрелки.

  1. Для установки переноса по словам следует, выделив название, уменьшить размер прямоугольника, после чего он автоматически увеличится книзу.
  2. Каждая стрелка, нарисованная на диаграмме высшего уровня, должна обязательно присутствовать на диаграмме более низкого уровня.
  3. Новая стрелка, нарисованная на диаграмме низкого уровня (неразрешенная (unresolved ) стрелка), помещается в квадратные скобки (туннели), которые подчеркивают отсутствие такой стрелки на более высоком уровне. Чтобы убрать туннели следует:
    • выбрать пункт меню Arrow Tunnel ;
    • в диалоговом окне Border Arrow Editor (Редактор граничных стрелок) выбрать опцию Resolve it to Border Arrow (Разрешить как граничную стрелку). В результате туннель на текущем уровне будет убран, а стрелка появится на предыдущем уровне, причем если он не первый, то она – туннелированная (рис. 2.10).

  1. Чтобы копировать туннелированные стрелки с нижнего уровня на верхний следует:
    • щелкнуть правой клавишей мыши по квадратным скобкам;
    • выбрать пункт меню Off Page Reference ;
    • в диалоговом окне Off_Page Arrow Reference выбрать диаграмму, на которую следует поместить стрелку и установить требуемый переключатель типа стрелки (рис. 2.11);

  • нажать одну из кнопок: ОК and Go To Diagram (перейти к выбранной диаграмме) или ОК and Remain In Current Diagram (остаться в текущей диаграмме).
  • Недопустимо оставление несвязанных граничных стрелок (unconnected border arrow ) – стрелок, автоматически переносимых в диаграмму декомпозиции из родительской диаграммы (режим миграции стрелок). Эти стрелки не касаются работ и должны быть связаны с работами в режиме Создание стрелок (Precedence Arrow Tool – ).
  • Оформление правильного расположения и начертания стрелок по умолчанию:
    • выполнить команду Model/Model Properties ;
    • в окне Model Properties (рис. 2.12) выбрать закладку Layout ;
    • установить флажок (опцию) Automatically space arrows в группе Arrows
    1. При создании стрелки обратной связи по управлению следует установить опцию указания направления стрелки Extra Arrowhead (из контекстного меню).
    2. Если надписи на стрелках расположены неудачно (очень далеко и т. п.), следует установить флажок Squiggle (в контекстном меню) для выноски надписи.
    1. В диаграмме декомпозиции слева вверху располагается функциональный блок, в котором помещается наиболее важная и выполняемая первой работа. Последовательно вниз идут работы менее важные или выполняемые позже.
    2. Перенос по словам внутри работ производится в режиме Name Editor … нажатием клавиши Enter .
    3. Диагональ в левом верхнем углу прямоугольника означает, что соответствующая работа не декомпозирована.
    4. Чтобы показать не только номера дочерних работ, которые появляются автоматически, но и префиксы (А), следует выбрать команду Model/Model Properties, закладку Numbering, флажок (опция) Show prefix (рис. 2.13).

    1. Чтобы у дочерних работ показать номера работ и номера уровней (двух-, трех-, четырехзначные номера) следует выбрать команду Model/Model Properties, закладку Numbering, флажок (опция) Use diagram numbering format (рис. 2.13).
    2. Чтобы различить разные версии одной и той же диаграммы, отдельным версиям следует присвоить номера (C - number), задаваемые произвольно в меню Diagram Properties на закладке Kit.

    Построение дерева модели

      • командой Diagramm/Add/Node Tree вызвать диалоговое окно Node Tree Wizard_Step 1 of 2 (рис. 2.14);
      • провести диалог, выбрав нужное количество уровней дерева узлов (Number of levels );
      • нажать кнопку Готово.

    4.3. IDEF3-технология

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

    Технология IDEF3 использует категорию сценариев для упрощения структуры описаний сложного многоэтапного процесса. Сценарий ( Scenario) это повторяющаяся последовательность ситуаций или действий, которые описывают типичный класс проблем, присутствующих в организации или системе, а также – это описание последовательности свойств объекта в рамках рассматриваемого процесса. IDEF0-модели связаны с IDEF3-сценариями, так как каждая IDEF0-модель может быть представлена в виде одного или нескольких IDEF3-сценариев.

    Технология IDEF3 предназначена для обеспечения сбора данных о процессе и позволяет:

    • документировать имеющиеся данные о технологии выполнения процесса, выявленные, скажем, в процессе опроса специалистов предметной области;
    • анализировать существующие процессы и разрабатывать новые;
    • моделировать ситуации, определяя ситуации, в которых требуется принятие решения , влияющего на жизненный цикл процесса, например изменение конструктивных, технологических или эксплуатационных свойств конечного продукта;
    • содействовать принятию оптимальных решений при реорганизации процесса.

    Сценарий в IDEF3-технологии

    Диаграммы сценариев описывают действия и события, которые должны быть обработаны за заданный промежуток времени. Сценарий сопровождается описанием процессов и может быть использован для документирования каждой функции системы. Следовательно, сценарии являются частью си­стемного анализа, так как дают возможность проанализировать ситуацию во времени и описать объекты, участвующие в одном процессе одновременно.

    При использовании IDEF3-технологии в основе всех построений лежат два типа диаграмм:

    1. Диаграмма описания последовательности этапов процесса.
    2. Диаграмма состояний объекта.

    Используются следующие стандартные условные обозначения:

    Функциональный элемент поведения,

    Передача действия от одного функционального элемента поведения (предшествующего) к другому (последующему) (Precedence ),

    Переход потока данных от работы к работе (Object flow ),

    Связь данных с работой (Referent ),

    Связь между работами (Relational ),

    Состояние объекта.

    Регламентация последовательности выполнения единиц работы осуществляется внедрением в диаграмму перекрестков (Junction ) разного назначения.

    Символ J перекрестка может принимать одно из следующих значений:

    • & – слияние результатов всех действий, если стрелки входят в перекресток; запуск всех действий, если стрелки выходят из него;
    • О – слияние результатов действий, если хотя бы одно из входных действий завершено; запуск хотя бы одного действия;
    • Х – слияние только одного действия из ряда входящих в перекресток; запуск только одного действия из выходящих из него.

    Иллюстрацией использования перекрестка в диаграммах описания последовательности этапов процесса является рис. 2.15. Из него следует, что перекресток – это средство построения сложных разветвленных технологических процессов.

    Описание разрабатываемой или исследуемой технологии в виде сначала диаграмм описания последовательности этапов технологического процесса , а затем в виде диаграммы состояний объектов дает полное представление о выполняемых действиях и результатах их применения.

    Работа 3 происходит, когда выполнены Работа 1 и Работа 3

    Работа 1 и Работа 2 происходят вместе

    Работа 3 происходит, когда выполнены Работа 1 или Работа 2, или обе вместе

    Работа 1 и Работа 2 происходят вместе или отдельно

    Работа 3 происходит, когда выполнены Работа1 или Работа 2

    Происходит Работа 1 или Работа 2

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

    4.4. Технологический процесс IDEF3-моделирования

    Подготовка модели

    1. Нажать кнопку создания модели.
    2. В диалоговом окне BPWin выполнить следующие действия:
      • выбрать Process Flow (IDEF3) ;
      • задать имя модели;
      • нажать кнопку ОК ;
      • в диалоговом окне Properties for New Model подтвердить указанные там свойства.

    Оформление действия

    1. Нажать кнопку создания действия (Activity Box Tool ).
    2. В нужном месте окна модели щелкнуть левой клавишей мыши.
    3. В контекстном меню действия выбрать команду Name
    4. В диалоговом окне Activity Properties , в закладке Name задать имя действия (рис. 2.16).

    1. В диалоговом окне Activity Properties в закладке Font задать Arial Cyr, ОК .

    Оформление данных

    1. Нажать кнопку создания данных. (Referent Tool ).
    2. В нужном месте окна Referent щелкнуть левой клавишей мыши, чтобы внедрить имена данных из созданного словаря сущностей (опция Entity ) или из созданного словаря стрелок (опция Arrow ), или создать их заново (опция Other ) (рис. 2.17).

    1. В диалоговом окне Referent Properties (рис. 2.18), в закладке Font задать Arial Cyr установить нужные флажки и нажать кнопку ОК .

    5. Домашнее задание к следующему занятию

    1. Продумать и определить материальные объекты или физические лица, представляющие собой источники или приемники информации (внешние сущности).
    2. Продумать и разработать реляционную модель данных, обрабатываемых информационной системой:
      • составить список сущностей и их атрибутов,
      • показать отношения между сущностями.
    3. На основе разработанного технического задания продумать и предложить преподавателю названия отдельных работ, реализуемых в системе в процессе выполнения каждой из ключевых работ, помещенных в диаграмму декомпозиции второго уровня.
    4. Выполнение п.п. 1–3 домашнего задания зафиксировать в файле с именем «Информация ко 3-му занятию.doc », выполненном в Word, и представить преподавателю.
    5. Проработать раздел «Теоретические сведения к практическому занятию » практикума по 3-му занятию.

    1.6. Фрагмент диаграммы дерева узлов (Node Tree Diagram) при выполнении декомпозиции блока учет деятельности по второму варианту (IDEF3)

    Словарь работ (Activity Dictionary)

    Name

    Definition

    Анализ информации, считанной из БД, на удовлетворение заданным критериям

    Анализ документов

    Анализ сопроводительных и входящих документов на соответствие нормативам

    Ведение БД

    Выполнение операций обновления данных

    ВЫПОЛНЯЕМАЯ
    РАБОТА

    Имя контекстной функции, определяющей ЦЕЛЬ и ГРАНИЦЫ моделирования

    Завершающая обработка

    Принятие и формулировка решения (ПОЛОЖИТЕЛЬНОГО в случае удовлетворения данных заданным критериям и ОТРИЦАТЕЛЬНОГО в противном случае), а также со­здание и оформление необходимых документов

    Контроль качества
    и тестирование

    Работа, завершающая производственный процесс или процесс разработки

    Обработка данных

    Выполнение операций поиска и анализа данных и принятие решения на основе проведенного анализа

    Обработка результатов контроля качества

    Систематизация и анализ результатов на соответствие стандарту

    Обработка результатов тестирования

    Анализ результатов на исправность, надежность и живучесть

    Оформление документов

    Прием документов и выбор информации для занесения в базу данных

    Поиск данных в таблицах БД на основе запросов, созданных пользователем

    Пополнение БД

    Занесение новых данных в таблицы БД

    Прием и регистрация документов

    Прием и регистрация входящих сопроводительных документов

    Производство или разработка

    Наименование ключевого бизнес процесса компании (модель производственной части предметной области)

    Работа на 1-м этапе бизнес-процесса1

    Действие, обобщающее технологические операции на первой стадии производственного процесса

    Работа на 2-м этапе бизнес-процесса1

    Действие, обобщающее технологические операции на второй стадии производственного процесса

    Работа на 3-м этапе бизнес-процесса1

    Действие, обобщающее технологические операции на третьей стадии производственного процесса

    Обработка результатов производственной деятельности

    Прием и анализ документов по результатам выполнения текущих работ и контроля

    Редактирование БД

    Изменение записей в таблицах БД

    УЧЕТ ДЕЯТЕЛЬНОСТИ

    Обработка документации и ведение отчетности (модель непроизводственной части предметной области)

    Словарь стрелок (Arrow Dictionary)

    Name

    Definition

    Объекты, не соответствующие требованиям стандарта

    ВХОДНЫЕ ДАННЫЕ

    Входящие документы и объекты обработки

    Входные данные БД

    Данные для записи в таблицы БД

    Входящие документы

    Документы, сопровождающие объекты обработки и документы, инициирующие бизнес-процесс

    ВЫХОДНЫЕ ДАННЫЕ

    Выходящие документы, новые и измененные объекты

    Выходящие документы

    Документы (бланки, отчеты, инструкции, ведомости, договора и т. п.), создаваемые в процессе учета

    Государственный стандарт

    Государственный стандарт на оформление документации

    Данные таблиц БД

    Данные, считываемые из таблиц БД

    Данные, полученные в результате анализа

    Информация, предназначенная для оформления выходящих документов и используемая при принятии решения

    Данные, характеризующие результаты работы с документами

    Информация, отражающая реквизиты (качественные и количественные характеристики) обрабатываемых объектов

    Документы по результатам тестирования и контроля

    Документы, отражающие данные, полученные на этапе завершающей стадии обработки объектов

    Должностная инструкция

    Инструкция, отражающая должностные обязанности исполнителя

    Запросы пользователя

    Новые и измененные объекты

    Объекты, созданные и измененные в процессе реализации производственного цикла

    Объекты БД

    Таблицы, формы, запросы, отчеты, макросы и модули

    Объекты обработки

    Объекты, изменяемые на разных стадиях исполнения производственного процесса

    Объекты, обработанные на 1-м этапе

    Объекты, изменяемые на 1-м этапе производственного процесса

    Объекты, обработанные на 2-м этапе

    Объекты, изменяемые на 2-м этапе производственного процесса

    Объекты, обработанные на 3-м этапе

    Объекты, изменяемые на 3-м этапе производственного процесса

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

    Подразделения компании и специалисты-профессионалы

    Субъекты, участвующие в производственном процессе или в процессе разработки

    ПРАВИЛА ВЫПОЛНЕНИЯ

    Правила преобразования процессов и данных

    Правила учета

    Система учета и оформления документации, сопровождающей производственный процесс или процесс разработки

    ПРИНЯТОЕ РЕШЕНИЕ

    Положительное или отрицательное решение, принимаемое в зависимости от удовлетворения анализируемых данных заданным критериям

    Принятые документы

    Документы, прошедшие регистрацию

    Программное обеспечение

    Платформа, на базе которой реализована разрабатываемая БД

    Результаты анализа документов

    Результаты, полученные после анализа входящих и сопроводительных документов на соответствие нормативам

    Результаты контроля качества

    Результаты поиска

    Информация из таблиц БД, полученная по запросам пользователя

    Результаты тестирования

    Данные, полученные на завершающем этапе обработки

    Руководство пользователя

    Инструкции и правила для работы с БД

    Служба учета

    Подразделения, занятые процессом учета и оформления документации

    Сопроводительные документы

    Документы, сопутствующие входящим объектам обработки

    Специалисты- профессионалы

    Субъекты, участвующие в производственной деятельности

    Технологическая инструкция

    Последовательность операций технологического процесса

    Запросы пользователя

    Запросы, создаваемые пользователем для выборки необходимой информации из БД и для создания выходящих документов

    МЕХАНИЗМ ИСПОЛНЕНИЯ

    Ресурсы, выполняющие преобразование входных данных в выходные

    Новые записи

    Записи в таблицах БД, появившиеся после занесения новых данных

    Коррекция

    Субъект, производящий экспертизу

    Версия для печати

    Одна картинка стоит тысячи слов
    Народная мудрость

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

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

    Несколько слов о преимуществах графики

    Как известно, функциональные модели IDEF0 - это всегда графические схемы. У них есть свои особенности и правила составления. Об этом мы поговорим чуть-чуть позже. А сейчас я хотел бы привести пару примеров эффективности графики. Почему я делаю на этом акцент? Скорей всего, после моего утверждения о необходимости функциональной модели работы компании, очень многие подумали, что это все необязательно, можно и на словах пояснить как работает та или иная функция в компании. Вот об этом я и хочу поговорить.

    И для начала сделаем небольшой экскурс в историю. Вернемся в далекий 1877 год, в период Русско-Турецкой войны. Именно тогда полиграфист Сытин впервые применил графику при описании военных действий. Сейчас для нас все это привычно, при описании любого сражения у каждого перед глазами возникают карты со стрелками, которые наглядно показывают ход сражения. А в те времена военные действия описывались словами. Для каждого боя - много-много слов. И понять в итоге, что же происходит, было очень сложно.

    А потому идея Сытина была поистине революционной - он начал печатать литографические копии карт с обозначением укреплений и расположений воинских частей. Назывались эти карты “Для читателей газет. Пособие”. Идея оказалась настолько актуальной, что первый же тираж “Пособий” разошелся мгновенно. И потом такие приложения были очень востребованы. Причина очевидна. Графика помогала понять то, что при помощи одних слов разобрать было практически невозможно.

    Аналогичный пример беспомощности словесных описаний я могу привести также из своей практики. Один из моих заказчиков очень просил взяться за внедрение ERP-системы для его компании. На вопрос, есть ли у них какое-то техническое задание, я получил ответ: “Да, есть. Но в нем 400 страниц”. При этом клиент очень жаловался, что мои коллеги, к которым он обращался ранее, либо отказывались от проекта вообще, либо называли явно завышенные цены. После того, как я увидел, что в техническом задании действительно 400 страниц, и состоит оно исключительно из текстового описания, я понял причины поведения разработчиков. Прочитать такой объем текста, вникнуть в него, разобраться во всех нюансах только для того, чтобы понять задачу и назвать цену - это и правда очень сложно.

    Этому клиенту я предложил альтернативный вариант - описать все, что можно, графически в виде нотаций. Показал ему примеры моделирования. В итоге они сейчас переосмысливают свои пожелания и оформление технического задания.

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

    Почему это важно для моей работы

    Моя работа всегда связана с внесением изменений в существующую систему. А для того, чтобы внести изменения и получить нужный результат, нужно изучить то, что существует уже сейчас. И не важно, что именно мы делаем – настраиваем или устанавливаем с нуля CRM-систему, создаем эффективную ERP-систему, занимаемся интеграцией различных систем для повышения автоматизации работы в целом. В любом случае, для начала, необходимо получить представление о существующей схеме работы, и только после этого можно предлагать какие-то изменения и продумывать варианты решения поставленной задачи.

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

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

    Типичные ошибки

    Функциональное моделирование выполняют при помощи самых разных инструментов, в том числе, не предназначенных для моделирования. В последнем случае нет проверки на ошибки и ограничения стандарта. Желание повысить наглядность и отсутствие опыта при этом часто оканчиваются ошибками.

    Использование различных цветов

    Все элементы на диаграмме одинаково важны. При функциональном моделировании нет более или менее важных элементов. Исчезновение любого приведет к нарушению процесса и производственному браку.

    Часто при моделировании на бумаге или в различных программах пользователи пытаются повысить наглядность за счет использования разных цветов. Это одна из самых распространенных ошибок. На самом деле, применение разноцветных стрелок и блоков только вносит дополнительную путаницу, а также искажает восприятие схемы.

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

    Слишком большое количество блоков

    При составлении модели часто стараются отобразить на одном листе все нюансы работы компании со всеми подробностями. В результате получается очень большое количество блоков с большим количеством управляющих стрелок. Читабельность при этом теряется.

    Оптимальный вариант – это детализация, достаточная для понимания вопроса, и не более того. Подробная детализация работы каждого подразделения или даже сотрудника может раскрываться при выборе подробного просмотра того или иного процесса. И создается такая структура только если это действительно нужно для работы или принятия решения.

    Нарушение структуры при внесении корректировок

    Внимательно следите за тем, чтобы не возникло путаницы или процессов без входящих, исходящих и других важных элементов. Например, если в приведенном выше примере, я посчитаю нужным сместить точку зрения на копирайтера, я удалю из схемы автора. И тогда управляющие элементы «опыт автора и сторонние источники», а также план публикации становятся ненужными. Ведь ими пользуется автор. Копирайтер работает с аудиофайлом. И если они останутся в общей схеме, то при детализации будут вести непонятно куда и вносить путаницу.

    Аналогично, если я решу добавить какой-то блок, важно убедиться, чтобы он также имел все необходимые атрибуты. Здесь очень важна внимательность, так как при моделировании сложных бизнес-процессов изменения в одной части модели могут повлечь за собой изменения в другой. Их обязательно нужно внести.

    Правила названия управляющих элементов и блоков

    Важно запомнить простое правило: управляющие стрелки называют именами существительными, блоки – глаголами. Так принято в стандарте IDEF0, и такой подход помогает избежать путаницы и ошибок.

    Чаще всего ошибки допускают при названии блоков. Например, вместо «Создать статью» пишут «Создание статьи». Блоки в данном подходе – это действия, а потому они должны быть всегда глаголами.

    Выгоды использования IDEF0

    • Самая первая выгода очевидна – это наглядность. Вы сами начинаете понимать, как работает та или иная система, и можете также наглядно пояснить, где в этой системе «тонкие места» и как ваши решения помогут избавиться от них.
    • Взаимопонимание и отсутствие разночтений. При обсуждении работы компании с использованием функциональной модели у вас имеются наглядные и понятные интуитивно блоки задач с управляющими элементами. Кроме того, функциональное моделирование предполагает создание в случае необходимости глоссария, в котором раскрываются условные обозначения и термины. В результате вы с клиентом, руководителем, другими сотрудниками при обсуждении проблемы говорите на одном языке.
    • Простота и высокая скорость создания модели. Конечно, научиться моделированию не так просто, как кажется. Ведь схема - это, по сути, сверхплотная подача информации, что очень хорошо для понимания, но для реализации такой подачи требуется особый подход. Мозг аналитика выступает в данном случае как очень мощный пресс с одной стороны, и фильтр – с другой. Но с опытом этот процесс становится очень быстрым. В результате вы получаете инструмент, который поможет и самому разобраться, что же происходит в той или иной системе, и при помощи созданного в сжатые сроки наглядного пособия проиллюстрировать важные моменты коллегам или заказчикам.
    • Дисциплина и отсутствие ошибок. Стандарт IDEF0 предполагает строгие рамки и правила. Такой подход дисциплинирует, а привычка действовать в рамках стандарта помогает избежать ошибок по невнимательности. Любые нарушения стандарта становятся сразу заметны.

    В чем трудность применения IDEF0

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

    При этом я считаю, что бизнес-аналитик - это не совсем профессия, бизнес-аналитикой занимается каждый руководитель бизнеса или разработчик каких-то систем, который анализирует бизнес и стремится выстроить наиболее эффективную систему. Именно для этих людей и для этих целей предназначен инструмент IDEF0.

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

    Еще статьи по данной теме.

    История возникновения стандарта IDEF0

    Стандарт IDEF0

    Методологию IDEF0 можно считать следующим этапом развития хорошо известного графического языка описания функциональных систем SADT (Structured Analysis and Design Teqnique). Исторически, IDEF0, как стандарт, был разработан в 1981 году департаментом Военно-Воздушных Сил США в рамках программы автоматизации промышленных предприятий, которая носила обозначение ICAM (Integrated Computer Aided Manufacturing). Набор стандартов IDEF унаследовал свое название от этой программы (IDEF=ICAM DEFinition). В процессе практической реализации, участники программы ICAM столкнулись с необходимостью разработки новых методов анализа процессов взаимодействия в промышленных системах. При этом кроме усовершенствованного набора функций для описания бизнес-процессов, одним из требований к новому стандарту было наличие эффективной методологии взаимодействия в рамках «аналитик-специалист». Другими словами, новый метод должен был обеспечить групповую работу над созданием модели, с непосредственным участием всех аналитиков и специалистов, занятых в рамках проекта.

    В результате поиска соответствующих решений родилась методология функционального моделирования IDEF0. C 1981 года стандарт IDEF0 претерпел несколько незначительных изменений, в основном, ограничивающего характера, и последняя его редакция была выпущена в декабре 1993 года Национальным Институтом По Стандартам и Технологиям США (NIST).

    Графический язык IDEF0 удивительно прост и гармоничен. В основе методологии лежат четыре основных понятия:

    Функциональный блок (Activity Box);

    Интерфейсная дуга (Arrow);

    Декомпозиция (Decomposition);

    Глоссарий (Glossary).

    Рассмотрим эти основные понятия подробнее

    Функциональный блок (Activity Box)

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

    Каждая из четырех сторон функционального блока имеет своё определенное значение (роль), при этом:

    Верхняя сторона имеет значение “Управление” (Control);

    Левая сторона имеет значение “Вход” (Input);

    Правая сторона имеет значение “Выход” (Output);

    Нижняя сторона имеет значение “Механизм” (Mechanism).

    Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, что и как выполняет функция.

    Каждый функциональный блок в рамках единой рассматриваемой системы должен иметь свой уникальный идентификационный номер.

    Рис. 1. Функциональный блок.

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

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

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

    Расположение блоков на странице отражает авторское определение доминирования. Таким образом, топология диаграммы показывает, какие функции оказывают большее влияние на остальные. Чтобы подчеркнуть это, аналитик может перенумеровать блоки в соответствии с порядком их доминирования. Порядок доминирования может обозначаться цифрой, размещенной в правом нижнем углу каждого прямоугольника: 1 будет указывать на наибольшее доминирование, 2 - на следующее и т. д.

    Интерфейсная дуга (Arrow)

    Также интерфейсные дуги часто называют потоками или стрелками. Интерфейсная дуга отображает элемент системы, который обрабатывается функциональным блоком или оказывает иное влияние на функцию, отображенную данным функциональным блоком.

    Графическим отображением интерфейсной дуги является однонаправленная стрелка. Каждая интерфейсная дуга должна иметь свое уникальное наименование (Arrow Label). По требованию стандарта, наименование должно быть оборотом существительного.

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

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

    Имя стрелки обычно задается именем существительным.

    В методологии IDEF0 требуется только пять типов взаимодействий между блоками для описания их отношений:

    Связь по входу (output-input), когда выход вышестоящей работы соединяется с входом нижестоящей (рис. 2);

    Рис. 2. Связь по входу

    Связь по управлению (output-control), когда выход вышестоящей работы соединяется с управлением нижестоящей (рис. 3);

    Рис. 3. Связь по управлению

    Обратная связь по входу (output-input feedback), когда выход нижестоящей работы соединяется с входом вышестоящей;

    Рис. 4. Обратная связь по входу

    Обратная связь по управлению (output-control feedback), когда выход нижестоящей работы соединяется с входом по управлению вышестоящей работы;

    Рис. 5. Обратная связь по управлению

    Связь выход-механизм (output-mechanism), когда выход одной работы направляется на механизм другой.

    Рис. 6. Связь выход-механизм

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

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

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

    Обратная связь по управлению возникает тогда; когда выход некоторого блока влияет на блок с большим доминированием.

    Связи «выход-механизм» встречаются нечасто. Они отражают ситуацию, при которой выход одной функции становится средством достижения цели для другой. Такие связи характерны при распределении источников ресурсов (например, требуемые инструменты, обученный персонал, физическое пространство, оборудование, финансирование, материалы).

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

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

    Непомеченные ветви содержат все объекты, указанные в метке дуги перед разветвлением;

    Ветви, помеченные после точки разветвления, содержат все объекты или их часть, указанные в метке дуги перед разветвлением.

    Слияния дуг в IDEFO, изображаемое как сходящиеся вместе линии, указывает, что содержимое каждой ветви идет на формирование метки для дуги, являющейся результатом слияния исходных дуг. После слияния результирующая дуга всегда помечается для указания нового набора объектов, возникшего после объединения. Кроме того, каждая ветвь перед слиянием может помечаться или не помечаться в соответствии со следующими правилами:

    Непомеченные ветви содержат все объекты, указанные в общей метке дуги после слияния;

    Помеченные перед слиянием ветви содержат все или некоторые объекты из перечисленных в общей метке после слияния,

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

    При построении IDEF0 – диаграмм важно правильно отделять входящие интерфейсные дуги от управляющих, что часто бывает непросто. К примеру, на рисунке 7 изображен функциональный блок “Обработать заготовку”.

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

    Рис. 7. Функциональный блок «Обработать заготовку».

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

    Рис. 8. Функциональный блок «Корректировать технологические указания»

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

    Обязательное наличие управляющих интерфейсных дуг является одним из главных отличий стандарта IDEF0 от других методологий классов DFD (Data Flow Diagram) и WFD (Work Flow Diagram).

    Декомпозиция (Decomposition)

    Принцип декомпозиции применяется при разбиении сложного процесса на составляющие его функции. При этом уровень детализации процесса определяется непосредственно разработчиком модели.

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

    Модель IDEF0 всегда начинается с представления системы как единого целого – одного функционального блока с интерфейсными дугами, простирающимися за пределы рассматриваемой области. Такая диаграмма с одним функциональным блоком называется контекстной диаграммой, и обозначается идентификатором “А-0” (рис. 9).

    Рис. 9. Пример контекстной диаграммы

    В пояснительном тексте к контекстной диаграмме должна быть указана цель (Purpose) построения диаграммы в виде краткого описания и зафиксирована точка зрения (Viewpoint).

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

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

    В процессе декомпозиции, функциональный блок, который в контекстной диаграмме отображает систему как единое целое, подвергается детализации на другой диаграмме. Получившаяся диаграмма второго уровня содержит функциональные блоки, отображающие главные подфункции функционального блока контекстной диаграммы и называется дочерней (Child diagram) по отношению к нему (каждый из функциональных блоков, принадлежащих дочерней диаграмме соответственно называется дочерним блоком – Child Box). В свою очередь, функциональный блок - предок называется родительским блоком по отношению к дочерней диаграмме (Parent Box), а диаграмма, к которой он принадлежит – родительской диаграммой (Parent Diagram). Каждая из подфункций дочерней диаграммы может быть далее детализирована путем аналогичной декомпозиции соответствующего ей функционального блока. Важно отметить, что в каждом случае декомпозиции функционального блока все интерфейсные дуги, входящие в данный блок, или исходящие из него фиксируются на дочерней диаграмме. Этим достигается структурная целостность IDEF0 – модели. Наглядно принцип декомпозиции представлен на рисунке 10. Следует обратить внимание на взаимосвязь нумерации функциональных блоков и диаграмм - каждый блок имеет свой уникальный порядковый номер на диаграмме (цифра в правом нижнем углу прямоугольника), а обозначение под правым углом указывает на номер дочерней для этого блока диаграммы. Отсутствие этого обозначения говорит о том, что декомпозиции для данного блока не существует.

    Часто бывают случаи, когда отдельные интерфейсные дуги не имеет смысла продолжать рассматривать в дочерних диаграммах ниже какого-то определенного уровня в иерархии, или наоборот - отдельные дуги не имеют практического смысла выше какого-то уровня. Например, интерфейсную дугу, изображающую “деталь” на входе в функциональный блок “Обработать на токарном станке” не имеет смысла отражать на диаграммах более высоких уровней – это будет только перегружать диаграммы и делать их сложными для восприятия. С другой стороны, случается необходимость избавиться от отдельных “концептуальных” интерфейсных дуг и не детализировать их глубже некоторого уровня. Для решения подобных задач в стандарте IDEF0 предусмотрено понятие туннелирования. Обозначение “туннеля” (Arrow Tunnel) в виде двух круглых скобок вокруг начала интерфейсной дуги обозначает, что эта дуга не была унаследована от функционального родительского блока и появилась (из “туннеля”) только на этой диаграмме. В свою очередь, такое же обозначение вокруг конца (стрелки) интерфейсной дуги в непосредственной близи от блока – приёмника означает тот факт, что в дочерней по отношению к этому блоку диаграмме эта дуга отображаться и рассматриваться не будет. Чаще всего бывает, что отдельные объекты и соответствующие им интерфейсные дуги не рассматриваются на некоторых промежуточных уровнях иерархии – в таком случае, они сначала “погружаются в туннель”, а затем, при необходимости “возвращаются из туннеля”.

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

      Стрелки входа (входят в левую грань работы) - изображают данные или объекты, изменяемые в ходе выполнения работы.

      Стрелки управления (входят в верхнюю грань работы) - изображают правила и ограничения, согласно которым выполняется работа.

      Стрелки выхода (выходят из правой грани работы) - изображают данные или объекты, появляющиеся в результате выполнения работы.

      Стрелки механизма (входят в нижнюю грань работы) - изображают ресурсы, необходимые для выполнения работы, но не изменяющиеся в процессе работы (например, оборудование, людские ресурсы…)

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

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

    Рисунок 7.1. Функциональный блок и интерфейсные дуги

    Работы на диаграммах изображаются в виде прямоугольников (функциональные блоки). Каждая работа изображает какую-либо функцию или задачу и именуется глаголом или глагольной фразой, обозначающей действие, например «Изготовление изделия», «Обслуживание клиента» и т.д. Стрелки помечаются существительным и обозначают объекты или информацию, связывающую работы между собой и с внешним миром.

    После описания контекста проводится функциональная декомпозиция- система разбивается на подсистемы и каждая подсистема описывается в том же синтаксисе, что и система в целом. Затем каждая подсистема разбивается на более мелкие и так до достижения нужного уровня подробности. В результате такого разбиения, каждый фрагмент системы изображается на отдельной диаграмме декомпозиции.

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

    Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.

    На рисунке 7.2, где приведены три диаграммы и их взаимосвязи, показана структура IDEF0.-модели. Каждый компонент модели может быть декомпозирован на другой диаграмме. Каждая диаграмма иллюстрирует "внутреннее строение" блока на родительской диаграмме.

    Рисунок 7.2 - Пример контекстной диаграммы

    Как видно на Рис.7.2, BPwin позволяет выделять работы и стрелки разными цветами, а также привязывать имена стрелок к самим стрелкам (стрелка по имени “Отчетность”), что повышает наглядность и читаемость диаграммы.

    Рисунок 7.3 - Пример диаграммы декомпозиции

    Рисунок 7 . 4 - Пример контекстной диаграммы

    Рисунок 7.5 - Пример диаграммы декомпозиции

    Иерархия диаграмм

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

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

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

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

    Рисунк 7.6 - Структура SADT-модели. Декомпозиция диаграмм

    Рисунок 7.7 - Соответствие должно быть полным и непротиворечивым

    Некоторые дуги присоединены к блокам диаграммы обоими концами, у других же один конец остается неприсоединенным. Неприсоединенные дуги соответствуют входам, управлениям и выходам родительского блока. Источник или получатель этих пограничных дуг может быть обнаружен только на родительской диаграмме. Неприсоединенные концы должны соответствовать дугам на исходной диаграмме. Все граничные дуги должны продолжаться на родительской диаграмме, чтобы она была полной и непротиворечивой.

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

    Рис. 7.8. Пример механизма

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

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

    Рисунок 7.9 - Иерархия диаграмм

    Лекция 8. Методологии DFD и IDEF 3

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

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

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

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

    Функциональная методика IDEF0

    Методологию IDEF0 можно считать следующим этапом развития хорошо известного графического языка описания функциональных систем SADT ( Structured Analysis and Design Technique ). Исторически IDEF0 как стандарт был разработан в 1981 году в рамках обширной программы автоматизации промышленных предприятий, которая носила обозначение ICAM (Integrated Computer Aided Manufacturing ). Семейство стандартов IDEF унаследовало свое обозначение от названия этой программы ( IDEF = Icam DEFinition), и последняя его редакция была выпущена в декабре 1993 года Национальным Институтом по Стандартам и Технологиям США ( NIST ).

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

    В основе методологии лежат четыре основных понятия: функциональный блок, интерфейсная дуга, декомпозиция, глоссарий .

    (Activity Box) представляет собой некоторую конкретную функцию в рамках рассматриваемой системы. По требованиям стандарта название каждого функционального блока должно быть сформулировано в глагольном наклонении (например, "производить услуги"). На диаграмме функциональный блок изображается прямоугольником (рис. 6.1). Каждая из четырех сторон функционального блока имеет свое определенное значение (роль), при этом:

    • верхняя сторона имеет значение "Управление" (Control);
    • левая сторона имеет значение "Вход" (Input);
    • правая сторона имеет значение "Выход" (Output);
    • нижняя сторона имеет значение "Механизм" ( Mechanism ).


    Рис. 6.1.

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

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

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

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

    Обязательное наличие управляющих интерфейсных дуг является одним из главных отличий стандарта IDEF0 от других методологий классов DFD ( Data Flow Diagram ) и WFD (Work Flow Diagram).

    Декомпозиция ( Decomposition ) является основным понятием стандарта IDEF0 . Принцип декомпозиции применяется при разбиении сложного процесса на составляющие его функции . При этом уровень детализации процесса определяется непосредственно разработчиком модели.

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

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

    Модель IDEF0 всегда начинается с представления системы как единого целого – одного функционального блока с интерфейсными дугами, простирающимися за пределы рассматриваемой области. Такая диаграмма с одним функциональным блоком называется контекстной диаграммой .

    В пояснительном тексте к контекстной диаграмме должна быть указана цель (Purpose) построения диаграммы в виде краткого описания и зафиксирована точка зрения (Viewpoint).

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

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

    Выделение подпроцессов . В процессе декомпозиции функциональный блок, который в контекстной диаграмме отображает систему как единое целое, подвергается детализации на другой диаграмме. Получившаяся диаграмма второго уровня содержит функциональные блоки, отображающие главные подфункции функционального блока контекстной диаграммы , и называется дочерней (Child Diagram) по отношению к нему (каждый из функциональных блоков, принадлежащих дочерней диаграмме, соответственно называется дочерним блоком – Child Box). В свою очередь, функциональный блок - предок называется родительским блоком по отношению к дочерней диаграмме (Parent Box), а диаграмма, к которой он принадлежит – родительской диаграммой (Parent Diagram). Каждая из подфункций дочерней диаграммы может быть далее детализирована путем аналогичной декомпозиции соответствующего ей функционального блока. В каждом случае декомпозиции функционального блока все интерфейсные дуги, входящие в данный блок или исходящие из него, фиксируются на дочерней диаграмме. Этим достигается структурная целостность IDEF0 –модели.

    Иногда отдельные интерфейсные дуги высшего уровня не имеет смысла продолжать рассматривать на диаграммах нижнего уровня, или наоборот - отдельные дуги нижнего отражать на диаграммах более высоких уровней – это будет только перегружать диаграммы и делать их сложными для восприятия. Для решения подобных задач в стандарте IDEF0 предусмотрено понятие туннелирования . Обозначение " туннеля " (Arrow Tunnel ) в виде двух круглых скобок вокруг начала интерфейсной дуги обозначает, что эта дуга не была унаследована от функционального родительского блока и появилась (из " туннеля ") только на этой диаграмме. В свою очередь, такое же обозначение вокруг конца (стрелки) интерфейсной дуги в непосредственной близи от блока–приемника означает тот факт, что в дочерней по отношению к этому блоку диаграмме эта дуга отображаться и рассматриваться не будет. Чаще всего бывает, что отдельные объекты и соответствующие им интерфейсные дуги не рассматриваются на некоторых промежуточных уровнях иерархии, – в таком случае они сначала "погружаются в туннель ", а затем при необходимости "возвращаются из туннеля ".

    Обычно IDEF0 -модели несут в себе сложную и концентрированную информацию, и для того, чтобы ограничить их перегруженность и сделать удобочитаемыми , в стандарте приняты соответствующие ограничения сложности.

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

    Стандарт IDEF0 содержит набор процедур, позволяющих разрабатывать и согласовывать модель большой группой людей, принадлежащих к разным областям деятельности моделируемой системы. Обычно процесс разработки является итеративным и состоит из следующих условных этапов:

    • Создание модели группой специалистов, относящихся к различным сферам деятельности предприятия. Эта группа в терминах IDEF0 называется авторами (Authors). Построение первоначальной модели является динамическим процессом, в течение которого авторы опрашивают компетентных лиц о структуре различных процессов, создавая модели деятельности подразделений. При этом их интересуют ответы на следующие вопросы:

      Что поступает в подразделение "на входе"?

      • Какие функции и в какой последовательности выполняются в рамках подразделения?
      • Кто является ответственным за выполнение каждой из функций ?
      • Чем руководствуется исполнитель при выполнении каждой из функций ?
      • Что является результатом работы подразделения (на выходе)?

      На основе имеющихся положений, документов и результатов опросов создается черновик (Model Draft) модели.

    • Распространение черновика для рассмотрения, согласований и комментариев. На этой стадии происходит обсуждение черновика модели с широким кругом компетентных лиц (в терминах IDEF0 - читателей) на предприятии. При этом каждая из диаграмм черновой модели письменно критикуется и комментируется, а затем передается автору. Автор, в свою очередь, также письменно соглашается с критикой или отвергает ее с изложением логики принятия решения и вновь возвращает откорректированный черновик для дальнейшего рассмотрения. Этот цикл продолжается до тех пор, пока авторы и читатели не придут к единому мнению.
    • Официальное утверждение модели. Утверждение согласованной модели происходит руководителем рабочей группы в том случае, если у авторов модели и читателей отсутствуют разногласия по поводу ее адекватности. Окончательная модель представляет собой согласованное представление о предприятии (системе) с заданной точки зрения и для заданной цели.

    Наглядность графического языка IDEF0 делает модель вполне читаемой и для лиц, которые не принимали участия в проекте ее создания, а также эффективной для проведения показов и презентаций. В дальнейшем на базе построенной модели могут быть организованы новые проекты, нацеленные на производство изменений в модели.