Перейти к содержимому

IDEF

IDEF — семейство строгих формальных нотаций для моделирования сложных систем. Основные для системного аналитика: IDEF0 (функциональное моделирование с ICOM: входы, выходы, управление, механизмы, иерархическая декомпозиция) и IDEF3 (описание процессов и переходов состояний объектов). Сравнение IDEF0/IDEF3 с BPMN и EPC, примеры, принципы (декомпозиция, 3–6 блоков на диаграмме) и инструменты (BPwin, Draw.io, Business Studio).

Введение: Ветеран среди нотаций

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

Так появился IDEF. В 1970-х годах ВВС США заказали разработку методологии для моделирования сложных промышленных и информационных систем. Так родилось семейство IDEF (ICAM DEFinition), где ICAM – это Integrated Computer Aided Manufacturing.

Сейчас IDEF – это целое семейство нотаций, каждая для своей задачи. Системному аналитику чаще всего нужны две:

  • IDEF0 – для функционального моделирования. Показывает, что делает система, какие у нее входы, выходы, механизмы и управление.
  • IDEF3 – для описания процессов и потоков работ. Показывает последовательность действий и состояния объектов.

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

Что такое IDEF

IDEF – это строгий, формальный язык моделирования, который требует дисциплины. Здесь нельзя просто нарисовать квадратик и стрелку “как в голову придет”. У каждого элемента строгое значение, у каждой стрелки – строгое назначение.

Главная идея IDEF0: любая деятельность (функция) преобразует входы в выходы под управлением и с помощью механизмов.

Представьте, что вы печете хлеб.

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

Эта простая схема “вход-выход-управление-механизмы” повторяется на каждом уровне детализации. Это называется ICOM - Input, Control, Output, Mechanism.

Основные элементы IDEF0

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

Это прямоугольник, внутри которого написана функция (глагол + существительное). Функция – это деятельность, работа, процесс.

Примеры:

  • “Выпечь хлеб”
  • “Обработать заказ”
  • “Собрать двигатель”
  • “Рассчитать зарплату”

Четыре типа стрелок (ICOM)

Стрелки подходят к блоку с четырех сторон и имеют строгое значение.

СторонаТип стрелкиЧто означаетПример для “Выпечь хлеб”
Вход (слева)То, что преобразуется функциейМука, вода, дрожжи, соль
Выход (справа)Результат выполнения функцииГотовый хлеб
Управление (сверху)Правила, ограничения, стандартыРецепт, температура печи
Механизмы (снизу)Ресурсы, инструменты, исполнителиПовар, печь, миска, тестомес

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

Принципы построения IDEF0

Принцип иерархии (декомпозиции)

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

Пример:

  • A-0 (уровень 1): “Произвести автомобиль” (один блок).
  • A0 (уровень 2): Раскрываем на “Собрать кузов”, “Собрать двигатель”, “Собрать салон”, “Провести тесты”.
  • A1 (уровень 3): Раскрываем “Собрать двигатель” на “Установить поршни”, “Установить коленвал”, “Подключить системы”.

Каждая диаграмма получает свой номер (A0, A1, A2, A11, A12, A121 и так далее). Это позволяет создавать огромные иерархические модели, которые остаются читаемыми.

Принцип минимальной детализации

На одной диаграмме должно быть не более 3-6 блоков. Если блоков больше – диаграмма перегружена, нужно разбивать. Если блоков меньше – диаграмма слишком простая, возможно, детализация не нужна.

Принцип согласования стрелок

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

Пример IDEF0

IDEF3: Описание процессов

Если IDEF0 отвечает на вопрос “что делает система” (функции), то IDEF3 отвечает на вопрос “как это происходит во времени” (процессы).

IDEF3 использует два типа моделей:

Process Flow Diagram (диаграмма потока процессов)

Показывает последовательность действий. Очень похожа на BPMN или Activity Diagram, но с другими обозначениями.

Основные элементы:

ЭлементОбозначениеЧто означает
Единица работы (Unit of Work)ПрямоугольникДействие, функция, работа
Ссылка (Junction)РомбВетвление или слияние (AND, OR, XOR)
Состояние объектаОвалСостояние объекта между работами

Object State Transition Diagram (диаграмма переходов состояний объекта)

Показывает, как конкретный объект (заказ, пользователь, документ) меняет свои состояния.

Это очень похоже на UML State Machine Diagram (диаграмму состояний).

Пример IDEF3

IDEF vs BPMN vs EPC

ХарактеристикаIDEF0/IDEF3BPMNEPC
Год создания1970-е20041990-е
СложностьВысокая (строгая формальность)Средняя/высокаяНизкая/средняя
ИерархияВстроенная (декомпозиция)Не встроенная (можно через подпроцессы)Через ARIS
Типы стрелок4 (вход, выход, управление, механизмы)Один тип (поток)Один тип (поток)
ФокусФункции и их окружениеСобытия и действияЧередование событий и функций
Где используетсяОборонка, госсектор, промышленностьСовременные IT-проектыSAP, ARIS, корпорации
ИсполняемостьНетДа (BPMN 2.0)Нет

Инструменты для IDEF

ИнструментОписание
BPwinКлассический инструмент для IDEF0 и IDEF3. Сейчас поддерживается компанией CA Technologies.
ERwinБольше известен для баз данных, но поддерживает и IDEF0.
Draw.ioЕсть библиотека с элементами IDEF0. Можно рисовать, но без автоматической проверки правил.
VisioЕсть шаблоны IDEF0 и IDEF3.
Business StudioРоссийский инструмент для моделирования процессов, поддерживает IDEF0, BPMN, EPC.

Проверка знаний

Вопрос 1 из 4
Что такое IDEF в контексте моделирования?
Когда IDEF особенно полезен?
Что важно для IDEF0-диаграмм?
Какая типичная ошибка при работе с IDEF?

Вопросы, где были ошибки