Практикум по применению idef0 для функционального описания программного обеспечения сапр. Создание модели IDEF0 Описание IDEF3 диаграммы

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

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

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

Преимущество графики

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

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

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

Преимущества IDEF0 для IT -специалистов

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

Так как же доступно донести суть, не прибегая к объемным текстам? Графика! Именно она позволяет сократить написанное, наглядно демонстрируя нужную информацию. Ведь одно изображение способно заменить сотни слов. И применительно к использованию графики при описании бизнес-процессов – это на 100% верно.

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

Нотация описания бизнес-процессов: что это такое

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

IDEF0 – это…

IDEF0 – метод функционального моделирования, а также графическая нотация, которая используется для описания и формализации бизнес-процессов. Особенность IDEF0 заключается в том, что эта методология ориентирована на соподчиненность объектов. IDEF0 была разработана для автоматизации предприятий еще в 1981 году в США.

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

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

Типы стрелок

Входящими ставятся задачи.

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

Управляющие (стрелки сверху вниз) – это механизмы управления.

Механизмы (стрелки снизу вверх) используются для проведения необходимых работ.

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

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

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

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

Как создается функциональная модель

Разберем создание функциональной модели на примере написания статьи.

Основной блок будет так и называться «Написание статьи».

То, что необходимо для написания статьи, отражается на входящих стрелках – «Опыт», «Дополнительная литература».

Управляющие стрелки для написания статьи – «План статьи», «Требования к оформлению», «Правила русского языка».

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

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

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

Так, весь процесс написания статьи можно разделить на 4 этапа:

  1. Подготовить аудиоверсию.
  2. Подготовить текст в печатном виде.
  3. Редактирование и подготовка текста к печати.
  4. Публикация статьи.

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

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

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

Процесс создания нотации IDEF0

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

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

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

Вторую нотацию можно назвать «Как должно быть». Она создается на основе первой с изменениями, внесенными в соответствии с поставленной задачей.

Стандарт IDEF0 и его требования

О базовых требованиях IDEF0 мы говорили чуть выше.

  1. Главный элемент – в верхнем левом углу.
  2. Каждый элемент должен иметь входящие и исходящие стрелки. Причем входящие стрелки находятся слева, справа – исходящие.
  3. Сверху располагаются управляющие элементы, снизу – механизмы.
  4. При расположении нескольких блоков на одном листе или экране последующие размещаются справа внизу от предыдущего.
  5. Схемы следует создавать так, чтобы стрелки пересекались минимальное количество раз.
Естественно, в стандарте IDEF0 есть общепринятые нормы, требования и обозначения. Подробно на них останавливаться не будем, при желании эту информацию несложно найти.

Ошибки при работе с IDEF0

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

Использование нескольких цветов

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

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

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

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

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

Изменение структуры при исправлении ошибок

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

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

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

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

Преимущества использования IDEF0

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

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

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

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

И напоследок

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

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


Самый простой и быстрый способ создания диаграмм по графическим нотациям idef0 и idef3 - использовать свободно распространяемый кроссплатформенный редактор диаграмм, блок-схем, сетевых диаграмм, UML-диаграмм и прочей нечисти под названием "Dia". Программа переведена на многие языки, включая русский.

Скачать программу можно на ее официальном сайте: http://projects.gnome.org/dia/ . На момент написания статьи последняя версия программы Dia была под номером 0.97.1 - причем она является таковой уже чуть ли не два года. Не смотря на это функционал у приложения отличный.

Построение IDEF0-диаграмм

для создания схем в графической нотации idef0 достаточно выбрать стандартную библиотеку элементов Dia под названием "SADT / IDEF0":

Если вы впервые столкнулись с idef0, то очень рекомендую сначала прочитать вот эти статьи про эту методологию:

  1. Современные методологии описания бизнес-процессов. Методология IDEF0 - Ковалев Валерий Михайлович (Журнал "Консультант директора", № 12, Июнь, 2004 г.)
  2. IDEF0 как инструмент моделирования процессов - Андрей Дворников (Журнал "Авант Партнер", № 22(79), Август 2005 г.)
  3. Опыт использования стандарта IDEF0 - Сергей Рубцов

Построение IDEF3-диаграмм

С idef3 капельку посложнее. Стандартного набора элементов для построения диаграмма в графической нотации idef3 в Dia не предусмотрено, однако все нужные блоки в программе есть. Их нужно просто сгруппировать вручную. Для этого нажимаем в меню: "Файл -> категории и объекты". В открывшемся окне нажимаем кнопку "Создать". Откроется ещё одно окошко, в котором выбираем пункт "Название категории" и вписываем туда "idef3". Процесс создания категории выглядит примерно так:

Так как вы только что создали эту категорию - естественно она пуста. Нам нужно переместить в нее нужные элементы схем. Поэтому:


Жмем кнопку "Применить", "Закрыть" окошко и готово! Заходим в "другие библиотеки элементов" и выбираем там созданную нами графическую нотацию "idef3" (она располагается в положенной ей месте по алфавиту). Кстати, чтобы писать в блоках, удобно использовать клавишу F2. Конечно, это не идеальный инструмент, но этот способ позволяет создавать диаграммы IDEF3 максимально приближенно к их точной графической нотации.

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

Откройте проект, в котором вы хотите создать модель. Если вы еще не создавали ни одного проекта, то можете воспользоваться проектом DEMO, который доступен сразу после установки Cradle или создать свой проект.

Чтобы войти в DEMO проект используйте имя пользователя MANAGER , пароль — MANAGER

Как создать свой проект подробно показывается в этом видео

После создания нового проекта вы также сможете использовать для входа имя пользователя MANAGER и пароль — MANAGER

Создание модели

Для того, чтобы создать модель IDEF0 включите Панель проекта и перейдите в раздел моделирования Essential Domain

Примечание : аналогично можно создавать модели и в разделе моделирования Implementation Domain, а также в любом разделе, настроенном пользователем. Раздел моделирования — это фактически пространство имен, в рамках которого можно повторно использовать потоки.

Чтобы создать контекстную модель IDEF0 щелкните правой кнопкой мыши по разделу IDEF0 и выберите пункты меню Новый->Элемент

Обратите внимание, что это наименование всей модели в целом, а не функционального блока на A0.

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

Создание функционального блока

Для этого выберите символ функционального блока на палитре

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

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

В результате будет создан функциональный блок с заданным вами именем

Вы можете выделить границу блока и изменить его масштаб

Создание потоков

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

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

после этого появится диалоговое окно для ввода наименования потока. Введите краткое наименование потока и нажмите OK

Примечание: Вы сможете ввести подробное описание потока потом в его спецификации.

После этого по аналогии можно создать все необходимые потоки

Сохраните модель, нажав кнопку с дискетой или сочетание клавиш CTRL+S. При сохранении будут созданы спецификации символов, которые можно отредактировать, чтобы дать более подробное описание элементов модели.

После сохранения модели, вы сможете увидеть созданные спецификации на панели проекта в том же разделе, где вы создавали модель. Будут созданы спецификации двух типов — Function и Flow.

Декомпозиция модели

в появившемся диалоге оставьте настройки по умолчанию и нажмите OK

После чего будет создана дочерняя диаграмма A1 и на нее перенесены все потоки с диаграммы A0.

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

Чтобы переименовать заготовку функционального блока, выделите его и в контекстном меню выберите Переименовать

и введите требуемое наименование

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

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

В результате вы получите поток с двумя изгибами

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

Посмотрите видеофрагмент для того, чтобы увидеть это в динамике

Чтобы удалить (или добавить) точку изгиба, нажмите клавишу SHIFT на клавиатуре и щелкните в точку, которую необходимо удалить или в то место потока, где ее надо создать

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

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

Научитесь видеть и понимать функциональную структуру своего бизнеса!

В настоящее время в России резко возрос интерес к общепринятым на Западе стандартам менеджмента, однако, в реальной практике управления существует один очень показательный момент. Многих руководителей до сих пор можно поставить в тупик прямым вопросом об организационной структуре компании или о схеме существующих бизнес-процессов. Наиболее продвинутые и регулярно читающие экономическую периодику менеджеры, как правило, начинают чертить понятные только им одним иерархические диаграммы, но и в этом процессе обычно быстро заходят в тупик. То же самое касается сотрудников и руководителей различных служб и функциональных подразделений. В большинстве случаев, единственным набором изложенных правил, в соответствии с которыми должно функционировать предприятие, является набор отдельных положений и должностных инструкций. Чаще всего эти документы составлялись не один год назад, слабо структурированы и невзаимосвязаны между собой и, вследствие этого, просто пылятся на полках. До поры до времени подобный подход был оправдан, так как во время становления российской рыночной экономики понятие конкуренции практически отсутствовало, да и затраты считать не было особой необходимости - прибыль была гигантской. В результате этого, мы видим в течение последних двух лет вполне объяснимую картину: крупные компании, выросшие в начале 90-х годов, постепенно сдают свои позиции, вплоть до полного ухода с рынка. Отчасти это обусловлено тем, что на предприятии не были внедрены стандарты управления, полностью отсутствовало понятие функциональной модели деятельности и миссии. С помощью моделирования различных областей деятельности можно достаточно эффективно анализировать “узкие места” в управлении и оптимизировать общую схему бизнеса. Но, как известно, на любом предприятии высший приоритет имеют только те проекты, которые непосредственно приносят прибыль, поэтому речь об обследовании деятельности и ее реорганизации обычно идет только во время ощутимого кризиса в управлении компанией.

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

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

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

IDEF1 – методология моделирования информационных потоков внутри системы, позволяющая отображать и анализировать их структуру и взаимосвязи;

IDEF1X (IDEF1 Extended) – методология построения реляционных структур. IDEF1X относится к типу методологий “Сущность-взаимосвязь” (ER – Entity-Relationship) и, как правило, используется для моделирования реляционных баз данных, имеющих отношение к рассматриваемой системе;

IDEF2 – методология динамического моделирования развития систем. В связи с весьма серьезными сложностями анализа динамических систем от этого стандарта практически отказались, и его развитие приостановилось на самом начальном этапе. Однако в настоящее время присутствуют алгоритмы и их компьютерные реализации, позволяющие превращать набор статических диаграмм IDEF0 в динамические модели, построенные на базе “раскрашенных сетей Петри” (CPN – Color Petri Nets);

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

IDEF4 – методология построения объектно-ориентированных систем. Средства IDEF4 позволяют наглядно отображать структуру объектов и заложенные принципы их взаимодействия, тем самым позволяя анализировать и оптимизировать сложные объектно-ориентированные системы;

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

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

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

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

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

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

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

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

  • Верхняя сторона имеет значение “Управление” (Control);
  • Левая сторона имеет значение “Вход” (Input);
  • Правая сторона имеет значение “Выход” (Output);
  • Нижняя сторона имеет значение “Механизм” (Mechanism).
  • Каждый функциональный блок в рамках единой рассматриваемой системы должен иметь свой уникальный идентификационный номер.

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

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

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

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

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

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

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

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


    Рисунок 2.

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


    Рисунок 3.

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

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

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

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

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

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

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

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

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

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

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


    Рисунок 4. Декомпозиция функциональных блоков.

    Принципы ограничения сложности IDEF0-диаграмм

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

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

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

    Дисциплина групповой работы над разработкой IDEF0-модели

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

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

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

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

    Особенности национальной практики применения функционального моделирования средствами IDEF0

    В последние годы интерес в России к методологиям семейства IDEF неуклонно растет. Это я постоянно наблюдаю, просматривая статистику обращений к своей персональной web-странице (http://www.vernikov.ru), на которой кратко описаны основные принципы этих стандартов. При этом интерес к таким стандартам, как IDEF3-5 я бы назвал теоретическим, а к IDEF0 вполне практически обоснованным. Собственно говоря, первые Case-средства, позволяющие строить DFD и IDEF0 диаграммы появились на российком рынке еще в 1996 году, одновременно с выходом популярной книги по принципам моделирования в стандартах SADT.

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

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

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

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

    Какие функции, и в какой последовательности выполняются в рамках подразделения?

    Кто является ответственным за выполнение каждой из функций?

    Чем руководствуется исполнитель при выполнении каждой из функций?

    Что является результатом работы подразделения (на выходе)?

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

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

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


    Практикум по применению IDEF0 для функционального описания программного обеспечения САПР

    Практикум по применению IDEF0 для функционального описания программного обеспечения
    Часть 1.

    Если анализировать объявления о найме сотрудников фирм, занимающихся разработкой программного обеспечения, то в последнее время ощущается острая нехватка руководителей проектов, способных грамотно осуществлять постановку задач. Проблема заключается не в том, что они не могут сформулировать задачу, а в том, что они не могут корректно оформить документацию с учетом современных стандартов проектирования. Заказчику уже мало дать несколько листиков, набранных в Word. Он хочет документацию, оформленную в BPWin, ErWin, S-Designer, Power Designer, Rational Rose и т.д. За каждым из этих CASE-средством стоит стандарт. Данная статья посвящена одному из них - IDEF0.

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

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

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

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

    Стандарт IDEF0 (Integrated Definition Function Modeling) предназначен для функционального моделирования и принят в качестве федерального стандарта США. Стандарт IDEF0 является одним из группы стандартов, широко применяемых для описания любых бизнес-процессов. Его применение для описания программных проектов является весьма молодым направлением, но применение IDEF0 гарантирует серьезное отношение к вам ваших партнеров...

    Применение стандартов группы IDEF (IDEF0, IDEF1 и т.д.) является фактическим условием для получения статуса организацией, удовлетворяющей ISO9000, ISO9001. Эти стандарты для организации - возможность увеличить сбыт продукции, возможность доказать, что она "на гребне волны".

    Многие программисты широко используют CASE ErWin, при этом не зная, что он основан на стандарте IDEF1. Это не просто то, что вам нравится или нравится вашим клиентам. Это стандарт - и этим все сказано.

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

    В основе стандарта IDEF0 лежит три базовых принципа:

    1. принцип функциональной декомпозиции - любая функция может быть декомпозирована (детализирована, разбита) на более простые функции;

    2. принцип ограничения сложности - количество блоков на диаграмме должно быть 2...6 (условие удобочитаемости);

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

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

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

    Входные данные - исходные ресурсы для описываемой блоком функции (исходная информация, материалы).

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

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

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

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

    Общий вид реализации блока IDEF0-диаграммы изображен на рис.1.

    Рис.1. Реализация блока, применяемого в IDEF0-диаграммах.

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

    В своей сущности диаграммы образуют дерево. Любая диаграмма выступает как ДК по отношению к низлежащим.

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

    Рис.2. Пример основной диаграммы.

    Рис.3. Пример декомпозиции основной функции.

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

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

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

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

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

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

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

    Нумерация блоков (индекс блока на диаграмме) на диаграмме определяется на основе приоритета. Нумерация начинается с единицы. Код диаграммы состоит из буквы "А" и номера. ДК имеет код A-0. Буква "А" подразумевает активное действие (от англ. active). Диаграмма, являющаяся декомпозированным вариантом ДК, будет иметь код А0. Каждый элемент на диаграмме А0 будет иметь код от А1 до А6 в соответствии с приоритетом. В свою очередь, при декомпозиции одного из блоков А1...А6, коды блоков вновь декомпозированной диаграммы будут состоять из кода декомпозированной диаграммы плюс индекс выбранного блока. Коды блоков диаграммы не повторяются в пределах всей диаграммы.

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

    Типы последовательности выполнения действий. Данные могут обрабатываться последовательно или параллельно.

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

    Пример параллельной обработки - вы можете одновременно смотреть телевизор и есть яблоко. При этом одновременно совершаются два действия. Эти действия между собой не связаны. Такие блоки на диаграмме располагаются вертикально друг над другом.

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

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

    Существуют случаи, когда человек (в том числе один и тот же) для одного блока будет выступать механизмом и управлением. ТАКОЕ СЛУЧАЕТСЯ. Пример, человек пишет письмо. Оно пишется посредством этого человека, и этот же человек управляет содержимым этого письма.

    Управляющие данные. Управление - это команда. Если команда содержит информативную часть (названия, условия, сроки выполнения и т.д.), то информативная часть команды является входными данными.

    Наиболее простое решение заключается в разделении исходной стрелки на две: управляющую и данных. Эти стрелки подводятся к соответствующим сторонам блока. Обе разделенных стрелки должны иметь соответствующие надписи.


    Сергей Соколов (Минск, БГУИР)
    E-Mail:

    Похожие статьи

    © 2024 ap37.ru. Сад и огород. Декоративные кустарники. Болезни и вредители.