В IDEF0 также моделируются управление и механизмы исполнения.
Под управлением понимаются объекты, воздействующие на способ, которым блок преобразует вход в выход.
Механизм исполнения ¾ объекты, которые непосредственно выполняют преобразование входа в выход, но остаются неизменными.
Для типизации категорий информации на IDEF0-диаграммах используется аббревиатура IСОМ, означающая четыре возможных типа стрелок:
I (Input) — вход — то, что потребляется в ходе выполнения процесса;
С (Control) — управление — ограничения и инструкции, влияющие на ход выполнения процесса;
О (Output) — выход — то, что является результатом выполнения процесса;
М (Mechanism)—исполняющий механизм — то, что используется для выполнения процесса, но остается неизменным.
На рис. 2.3 представлены четыре возможных типа стрелок в IDEF0, каждый из которых соединяется с определенной стороной функционального блока.
![]() |
Рис. 2.3. Типы стрелок функционального блока |
Для названия стрелок, как правило, употребляются имена существительные. Как и в случае с функциональными блоками, присвоение имен всем стрелкам на диаграмме является необходимым условием для понимания сути изображенного. Примеры наименования стрелок приведены на рис.2.1.
Дадим подробное описание назначений каждой из стрелок.
Стрелки входа . Вход представляет собой сырье или информацию, потребляемую или преобразуемую функциональным блоком для производства выхода. Стрелки входа всегда направлены в левую сторону прямоугольника, обозначающего в IDEF0 функциональный блок.
Наличие входных стрелок на диаграмме не является обязательным, так как возможно, что некоторые блоки ничего не преобразуют и не изменяют. Примером блока, не имеющего входа, может служить «принятие решения руководством», где анализируется несколько факторов, но ни один из них непосредственно не преобразуется и не потребляется в результате принятия какого-либо решения.
Стрелки управления. Стрелки управления отвечают за регулирование того, как и когда выполняется функциональный блок. Так как управление контролирует поведение функционального блока для обеспечения создания желаемого выхода, то каждый функциональный блок должен иметь как минимум одну стрелку управления. Стрелки управления всегда входят в функциональный блок сверху.
Управление часто существует в виде правил, инструкций, законов, политики, набора необходимых процедур или стандартов. Оказывая влияние на работу блока, управление само остается неизменным. Может оказаться, что целью функционального блока является как раз изменение того или иного правила, инструкции, стандарта и т.п. В этом случае стрелка, содержащая соответствующую информацию, должна рассматриваться не как управление, а как вход функционального блока.
Управление можно рассматривать как специфический вид входа. В случаях, когда неясно, относить ли стрелку к входу или к управлению, предпочтительно относить ее к управлению до момента, пока неясность не будет разрешена.
Стрелки выхода. Выход — это продукция или информация, получаемая в результате работы функционального блока, поэтому каждый блок должен иметь как минимум один выход. Действие, которое не имеет никакого четко определяемого выхода, желательно не моделировать вообще или это один из первых кандидатов на исключение из модели.
При моделировании предметных непроизводственных областей выходами, как правило, являются данные, которые обрабатываются функциональным блоком. В этом случае важно, чтобы названия стрелок входа и выхода были достаточно различимы по своему смыслу. Например, функциональный блок "Прием пациентов" может иметь стрелку "Данные о пациенте" как на входе, так и на выходе. В такой ситуации входящую стрелку следует назвать «Предварительные данные о пациенте», а исходящую — "Подтвержденные данные о пациенте".
Стрелки механизма исполнения . Механизмы являются ресурсом, который непосредственно исполняет моделируемое действие. С помощью механизмов исполнения могут моделироваться: ключевой персонал, техника и (или) оборудование. Стрелки механизма исполнения могут отсутствовать, если оказывается, что они не являются необходимыми для достижения поставленной цели моделирования.
Комбинированные стрелки . В методологии IDEF0 существуют пять основных видов комбинированных стрелок: 1) выход — вход, 2) выход — управление, 3) выход — механизм исполнения, 4) выход — обратная связь на управление и 5) выход — обратная связь на вход.
1) Стрелка выход — вход применяется, когда один из блоков должен полностью завершить работу перед началом работы другого блока. Так, на рис. 2.4 формирование счета должно предшествовать приему заказа.
![]() |
Рис. 2.4. Комбинация стрелок выход — вход |
2) Стрелка выход — управление отражает ситуацию преобладания одного блока над другим, когда один блок управляет работой другого. На рис. 2.5 принципы формирования инвестиционного портфеля влияют на поведение брокеров на бирже.
![]() |
Рис. 2.5. Комбинированная стрелка выход — управление |
3) Стрелки выход — механизм исполнения встречаются реже и отражают ситуацию, когда выход одного функционального блока применяется в качестве инструментария для работы другого блока. На рис.2.6 зажим, используемый для закрепления детали, должен быть собран для того, чтобы выполнить сборку детали.
![]() |
Рис. 2.6. Комбинированная стрелка выход — механизм исполнения |
4) Обратные связи на вход и на управление применяются в случаях, когда зависимые блоки формируют обратные связи для управляющих ими блоков. На рис. 2.7 получаемая от брокеров информация о текущих биржевых курсах применяется для корректировки стратегии игры на бирже.
![]() |
Рис. 2.7. Комбинированная стрелка выход — обратная связь на управление |
5) Стрелка выход — обратная связь на вход обычно применяется для описания циклов повторной обработки чего-либо (рис.2.8). Кроме того, связи выход — обратная связь на вход могут применяться в случае, если бракованная продукция может заново использоваться в качестве сырья, как это происходит, например, в процессе производства оконного стекла, когда разбитое стекло перемалывается и переплавляется заново вместе с исходным сырьем.
![]() |
Рис. 2.8. Комбинированная стрелка выход — обратная связь на вход |
Выход функционального блока может использоваться в нескольких других блоках. Поэтому методология IDEF0 предусматривает как разъединение, так и соединение стрелок на диаграмме. Разъединенные стрелки могут иметь наименования, отличающиеся от наименования исходной стрелки. Исходная и разъединенные (или объединенные) стрелки в совокупности называются связанными. Такая техника обычно применяется для того, чтобы отразить использование в процессе только части сырья или информации, обозначаемой исходной стрелкой (рис.2.9). Аналогичный подход применяется по отношению к объединенным стрелкам.
![]() |
Рис. 2.9. Разъединенная на две части и переименованная стрелка |
На IDEF0 диаграммах существуют ещё стрелки вида (¯). Такие стрелки называют туннелями. Они соотносятся с понятием свя занных стрелок, которые используется для управления уровнем детализации диаграмм. Если одна из стрелок диаграммы отсутствует на родительской диаграмме (например, ввиду своей несущественности для родительского уровня) и не связана с другими стрелками той же диаграммы, точка входа или выхода этой стрелки на диаграмме обозначается туннелем. На рис. 2.10, например, стрелка "корпоративная информационная система" — важный механизм исполнения для данной диаграммы, но, возможно, она более нигде не применяется в модели. Туннель в данном случае используется как альтернатива загромождению родительских диаграмм стрелками, несущественными для их уровня.
![]() |
Рис. 2.10. Пример применения туннеля |
Кроме того, туннели используются для отражения ситуации, когда стрелка, присутствующая на родительской диаграмме, отсутствует в диаграмме декомпозиции соответствующего блока. На рис. 2.11 туннель у стрелки "модель производственного отдела" означает, что на диаграмме декомпозиции производственного отдела отсутствует стрелка механизма управления с соответствующим наименованием.
![]() |
Рис. 2.11. Другой пример применения туннеля |
Полностью составленная IDEF0-диаграмма любого уровня содержит на своих полях служебную информацию, которая состоит из выделенных верхнего и нижнего колонтитулов (заголовка и «подвала»). Элементы заголовка используются для отслеживания процесса создания модели. Элементы "подвала" отображают наименование модели, к которой относится диаграмма, и показывают ее расположение относительно других диаграмм модели.
Все элементы заголовка диаграммы приведены в табл. 2.1.
Таблица 2.1
Поле | Назначение |
Used AT | Используется для отражения внешних ссылок на данную диаграмму (заполняется на печатном документе вручную) |
Author, date, project | Содержит ФИО автора диаграммы, дату создания, дату последнего внесения изменений, наименование проекта, в рамках которого она создавалась |
Notes 1...10 | При ручном редактировании диаграмм пользователи могут зачеркивать цифру каждый раз, когда они вносят очередное исправление |
Status: | Статус отражает состояние разработки или утверждения данной диаграммы. Это поле используется для реализации формального процесса итерации пересмотра и утверждения |
Working | Новая диаграмма, глобальные изменения или новый автор для существующей диаграммы |
Draft | Диаграмма достигла некоторого приемлемого для читателей уровня и готова для представления на утверждение |
Recommended | Диаграмма одобрена и утверждена. Какие-либо изменения не предвидятся |
Publication | Диаграмма готова для окончательной печати и публикации |
Reader | ФИО читателя |
Date | Дата знакомства читателя с диаграммой |
Context | Схематическое изображение функциональных блоков на родительской диаграмме, на котором подсвечен декомпозируемый данной диаграммой блок. Для диаграммы самого верхнего уровня (контекстной диаграммы) в поле помещается контекст ТОР |
Все элементы «подвала» диаграммы представлены в табл.2.2.
Таблица 2.2
Поле | Назначение |
Mode | Номер диаграммы, совпадающий с номером родительского функционального блока |
Title | Имя родительского функционального блока |
Number (C-Number) | Уникальный идентификатор данной версии данной диаграммы. Таким образом, каждая новая версия диаграммы будет иметь новое значение в этом поле. Как правило, C-Number состоит из инициалов автора и последовательного уникального идентификатора, например SD0005. При публикации эти номера могут быть заменены стандартными номерами страниц. Если диаграмма замещает другую диаграмму, то номер заменяемой диаграммы может быть заключен в скобки - SD0005 (SD0004). Это обеспечивает хранение истории изменений всех диаграмм модели |
2.2.2.Определение стрелок на контекстной диаграмме
Стрелки IDEFO-диаграмм обычно проще проектировать в следующем порядке: выход, вход, механизм исполнения, управление. Каждый функциональный блок обозначает отдельную функцию, и эта функция часто имеет четко описываемые результаты работы. Наличие неясностей при анализе выходов того или иного функционального блока — возможный сигнал необходимости проведения дополнительного исследования.
Определение выходов. После идентификации возможных выходов полезно провести анализ модели на предмет предвидения всех возможных сценариев поведения процесса. Это означает, что если существует вероятность возникновения той или иной ситуации в ходе процесса, модель ее отражает. Многие начинающие аналитики забывают отразить негативные результаты работы функциональных блоков. Например, блок "Провести экзамен по вождению" определенно произведет поток водителей, только что получивших права, но вполне правомерно ожидать и поток лиц, не сдавших экзамен. Негативные результаты часто используются в качестве обратных связей, их анализ должен проводиться для каждого блока. Также важным является необходимость включения в модель "спорных" стрелок, решение о наличии которых в модели могут принимать рецензирующие модель эксперты.
Определение входов. Входы можно рассматривать как особым образом преобразуемые функциональными блоками сырье или информация для получения выхода. В производственных отраслях определить, как входное сырье преобразуется в готовую продукцию, обычно довольно просто. Однако при моделировании информационных потоков входной поток данных может представляться не потребляемым и не обрабатываемым вообще. Случаи, когда входящие и исходящие стрелки называются одинаково, крайне редки и в основном указывают на бесполезность данного блока для системы в целом или на некорректный выбор имени для исходящей стрелки. Решением может служить применение более подробного описания для входящих и исходящих потоков данных.
Определение механизмов исполнения. После создания входов и выходов можно приступить к рассмотрению механизмов исполнения или ресурсов, относящихся к функциональному блоку. В понятие механизма исполнения входят персонал, оборудование, информационные системы и т.п. Например, функциональный блок "Собрать деталь" может потребовать использования некоторого оборудования, например, гаечного ключа. При приеме экзаменов на водительские права механизмом исполнения является инспектор ГИБДЦ. Как правило, определить механизмы исполнения для функциональных блоков довольно просто.
Определение управления. Наконец, должно быть определено управление, контролирующее ход работы функционального блока. Все функциональные блоки в IDEF0 должны иметь хотя бы одно управление. В случаях когда неясно, относить ли стрелку ко входу или к управлению, следует ее рисовать как управление. Важно помнить, что управление можно рассматривать как особую форму входа функционального блока.
2.2.3. Нумерация блоков и диаграмм
Все функциональные блоки IDEF0 нумеруются. В номерах допускается использование префиксов произвольной длины, но, в подавляющем большинстве моделей, используется префикс А с номером блока. Номер блока проставляется за префиксом. Контекстный блок всегда имеет номер А0.
Префикс повторяется для каждого блока модели. Номера используются для отражения уровня декомпозиции, на котором находится блок. Блок А0 декомпозируется в блоки А1, А2, A3 и т.д.; блокА1 — в А11, А12, А13 и т.д.; блок — A11 вА111, А112, А113 и т.д. Для каждого уровня декомпозиции в конце номера добавляется одна цифра.
2.2.4. Другие диаграммы IDEF0
В дополнение к контекстным диаграммам и диаграммам декомпозиции при разработке и представлении моделей могут применяться другие виды IDEF0-диаграмм.
Дерево модели. Дерево модели — обзорная диаграмма, показывающая структуру всей модели. На рис. 2.12 приведен фрагмент такой диаграммы. Обычно вершина дерева соответствует контекстному блоку, под вершиной выстраивается вся иерархия блоков модели. Однако не запрещается назначать вершиной произвольный блок, помещая под ним все его детские блоки. Из-за высокой итеративности функционального моделирования можно ожидать, что дерево модели будет неоднократно изменяться существенным образом до тех пор, пока не будет получена его стабильная версия. Обзор модели с использованием дерева помогает сконцентрироваться на функциональной декомпозиции модели.
![]() |
Рис. 2.12. Фрагмент дерева модели |
Пример структуры дерева модели, раскрывающей контекстную функцию (рис. 2.1), приведен на рис. 2.13.
Презентационные диаграммы . Презентационные диаграммы (For Exposition Only diagrams — FEO diagrams) часто включают в модели, чтобы проиллюстрировать другие точки зрения или детали, выходящие за рамки традиционного синтаксиса IDEF0. Диаграммы FEO допускают нарушение любых правил построения диаграмм IDEFO в целях выделения важных с точки зрения аналитика частей модели.
![]() |
Рис. 2.13. Пример дерева модели, изображенной на рис. 2.1 |
Один из способов использования FEO-диаграмм состоит в отделении функционального блока от его окружения посредством создания диаграммы с единственным блоком и всеми относящимися к нему стрелками наподобие контекстной диаграммы (рис. 2.14). Это может оказаться полезным в ситуациях, когда необходимо быстро получить информацию об интерфейсе (стрелках) функционального блока, а соответствующая диаграмма декомпозиции содержит слишком много объектов.
![]() |
Рис. 2.14. Диаграмма FEO для выделения функционального блока и его стрелок |
Кроме того, встречаются следующие виды презентационных диаграмм:
• копия IDEF0-диаграммы, которая содержит все функциональные блоки и стрелки, относящиеся только к одному из функциональных блоков, — это позволяет отразить взаимодействие между этим блоком и другими объектами диаграммы;
• копия IDEF0-диаграммы, которая содержит все функциональные блоки и стрелки, непосредственно относящиеся только к входу и (или) выходу родительского блока.
![]() |
Рис.2.15. Интегрированная среда разработки модели BPwin |
2.3. Методические указания по выполнению лабораторной работы
2.3.1. Общее описание интерфейса BPwin
Построение IDEF0-модели выполняют в соответствие с рекомендациями и методикой, изложенными в разделе 2.1. В качестве программной среды предлагается использовать комплекс BPwin.
Программный комплекс BPwin имеет достаточно простой и интуитивно понятный интерфейс пользователя (рис.2.15 и табл.2.3), дающий возможность аналитику создавать сложные модели при минимальных усилиях.
Таблица 2.3
Элемент управления | Описание | Соответствующий пункт меню |
![]() | Создать новую модель | File/New |
![]() | Открыть модель | File/Open |
![]() | Сохранить модель | File/Save |
![]() | Напечатать модель | File/Print |
![]() | Вызвать генератор отчетов Report Builder | Tools/Report Builder |
![]() | Выбор масштаба | View/Zoom |
![]() | Масштабирование | View/Zoom |
![]() | Проверка правописания | Tools/Spelling |
![]() | Включение и выключение навигатора модели Model Explorer | View/Model Explorer |
![]() | Включение и выключение дополнительной панели инструментов работы с ModelMart | ModelMart |
При запуске BPwin по умолчанию появляется основная панель инструментов, палитра инструментов (вид которой зависит от выбранной нотации) и, в левой части, навигатор модели – Model Explorer (рис. 2.15). Функциональность панели инструментов доступна из основного меню BPwin (табл. 2.3).
2.3.2. Создание новой модели
При создании новой модели возникает диалог, в котором следует указать, будет ли создана модель заново, или она будет открыта из файла либо из хранилища ModelMart, внести имя модели и выбрать методологию, в которой будет построена модель (рис.2.16).
BPwin поддерживает три методологии ¾ IDEF0, IDEF3 и DFD, каждая из которых решает свои специфические задачи. В BPwin возможно построение смешанных моделей, т. е. модель может содержать одновременно как диаграммы IDEF0, так и диаграммы IDEF3 и DFD. Состав палитры инструментов изменяется автоматически, когда происходит переключение с одной нотации на другую.
![]() |
Рис.2.16. Диалог создания модели |
![]() |
Рис.2.17. Начальное состояние основного окна BPwin |
После щелчка по кнопке ОК появляется основное окно (рис.2.17), которое позволяет приступить к описанию модели. Модель в BPwin рассматривается как совокупность работ, каждая из которых оперирует некоторым набором данных. Работа изображается в виде прямоугольников, данные — в виде стрелок.
Если в любом месте рабочего поля экрана нажать дважды левую клавишу мыши, откроется окно свойств диаграммы (рис.2.18), которое позволяет внести или изменить данные по текущей диаграмме.
![]() |
Рис.2.18. Окно свойств диаграммы |
При нажатии правой клавиши мыши появляется всплывающее контекстное меню (рис.2.19), пункт которого обеспечивают редактирование, а также просмотр свойств объекта.
![]() |
Рис.2.19. Контекстное меню свойств |
Например, запуск пункта меню «Diagram Properties» обеспечивает вывод предыдущего окна (рис.2.18), а пункт «Model Properties» выводит окно доступа к свойствам модели (рис.2.20).
![]() |
Рис.2.20. Окно доступа к свойствам модели |
BPwin имеет развитую систему подсказок (Help), используя примеры которых возможно достаточно квалифицированное построение диаграмм и моделей. Например, построение граничных стрелок на контекстной диаграмме имеет следующее описание.
Граничные стрелки. Стрелки на контекстной диаграмме служат для описания взаимодействия системы с окружающим миром. Они могут начинаться у границы диаграммы и заканчиваться у работы и наоборот. Такие стрелки называются граничными.
Для внесения граничной стрелки входа надо:
щелкнуть по кнопке с символом стрелки
в палитре инструментов и перенести курсор к левой стороне экрана, пока не появится начальная темная полоска;
щелкнуть один раз по полоске (откуда выходит стрелка) и еще раз в левой части работы со стороны входа (где заканчивается стрелка);
вернуться в палитру инструментов и выбрать опцию редактирования стрелки
;
щелкнуть правой кнопкой мыши на линии стрелки, во всплывающем меню выбрать Name и добавить имя стрелки во вкладке Name диалога Arrow Properties (рис.2.21).
![]() |
Рис.2.21. Диалог Arrow Properties |
Стрелки управления, выхода и механизма изображаются аналогично. Для рисования стрелки выхода, например, следует щелкнуть по кнопке с символом стрелки на палитре инструментов, щелкнуть в правой части работы со стороны выхода (где начинается стрелка), перенести курсор к правой стороне экрана, пока не появится начальная штриховая полоска, и щелкнуть один раз по штриховой полоске.
Имена вновь внесенных стрелок автоматически заносятся в словарь (Arrow Dictionary).
2.4. Контрольные вопросы
1. Для чего необходимо определение цели моделирования системы, какие цели были сформулированы Вами при построении модели, почему?
2. Что такое границы моделирования, как были определены границы моделирования Вами, почему именно эти?
3. Что такое контекстная функция, как она была выбрана Вами, почему?
4. В чем назначение стрелок управления, какие стрелки управления были выбраны Вами, почему?
5. В чем назначение стрелок механизма исполнения, какие стрелки механизма исполнения были выбраны Вами, почему?
6. Что такое связные стрелки, как они были использованы Вами при построении диаграммы?
7. Что такое туннельные стрелки, как они были использованы Вами при построении диаграммы?
8. Что такое связные стрелки, как они были использованы Вами при построении диаграммы?
9. Какие были сделаны выводы после анализа построенной диаграммы?