В 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. Какие были сделаны выводы после анализа построенной диаграммы?