- •1.1.1 Модели idef3
- •1.1.2 Диаграммы
- •1.1.3 Единица работы. Действие
- •1.1.4 Связи
- •Типы связей в модели idef3
- •1.1.5 Соединения
- •Типы соединений в модели idef3
- •Определение сценария, границ моделирования, точки зрения
- •1.1.6 Указатели
- •1.1.7 Декомпозиция действий
- •1.2.2 Определение действий и объектов
- •2 Л Синтаксис и семантика моделей idef0
- •2.1.1 Модели idef0
- •2.1.2 Действия
- •2.1.4 Туннели
- •2.2 Построение моделей idef0
- •2.2.1 Диаграммы
- •2.2.2 Цикл "эксперт-аналитик"
- •2.2.3 Построение моделей
- •2.2.4 Точка зрения
- •2.2.5 Границы моделирования
- •2 2Е Выбор наименования контекстного блока
- •2.2.8 Нумерация блоков и диаграмм
- •2.2.11 Когда остановиться?
- •2.2.12 Другие диаграммы idefo
- •2 1 Назначение диаграмм потоков данных
- •3.2.1 Функциональные блоки
- •3.2.2 Внешние сущности
- •3.2.3 Стрелки (потоки данных)
- •3.2.4 Хранилища данных
- •3.2.5 Ветвление и объединение
- •3 3 Построение диаграмм потоков данных
- •3.3.1 Два подхода к построению dfd-моделей
- •3.3.2 Нумерация объектов
2 Л Синтаксис и семантика моделей idef0
2.1.1 Модели idef0
IDEF0 сочетает в себе небольшую по объему графическую нотацию (она содержит только два обозначения: блоки и стрелки) со строгими и четко определенными рекомендациями, в совокупности предназначенными для построения качественной и понятной модели системы.
Методология IDEF0 в некоторой степени напоминает рекомендации, существующие в книгоиздательском деле, часто набор напечатанных моделей IDEF0 организуется в брошюру (называемую в терминах IDEF0 комплект), имеющую содержание, глоссарий и другие элементы, характерные для законченной книги.
Первый шаг при построении модели IDEF0 заключается в определении назначения модели — набора вопросов, на которые должна отвечать модель. Набор вопросов можно сравнить с предисловием, в котором раскрывается назначение книги.
Границы моделирования предназначены для обозначения ширины охвата предметной области и глубины детализации и являются логическим продолжением уже определенного назначения модели. Как читающий модель, так и непосредственно ее автор должны понимать степень детальности ответов на поставленные в назначении модели вопросы.
Следующим шагом указывается предполагаемая целевая аудитория, для нужд которой создается модель. Зачастую от выбора целевой аудитории зависит уровень детализации, с которым должна создаваться модель. Перед построением модели необходимо иметь представление о том, какие сведения о предмете моделирования уже известны, какие дополнительные материалы и (или) техническая документация для понимания модели могут быть необходимы целевой аудитории, какие язык и стиль изложения являются наиболее подходящими.
Под точкой зрения понимается перспектива, с которой наблюдалась система при построении модели. Точка зрения выбирается таким образом, чтобы учесть уже обозначенные границы моделирования и
назначение модели. Однажды выбранная точка зрения остается неизменной для всех элементов модели. При необходимости могут быть созданы другие модели, отображающие систему с других точек зрения. Вот несколько примеров точек зрения при построении моделей: клиент, поставщик, владелец, редактор.
2.1.2 Действия
Действие, обычно в IDEF0 называемое функцией, обрабатывает или переводит входные параметры (сырье, информацию и т.п.) в выходные. Поскольку модели IDEF0 представляют систему как множество иерархических (вложенных) функций, в первую очередь должна быть определена функция, описывающая систему в целом — контекстная функция. Функции изображаются на диаграммах как поименованные прямоугольники, или функциональные блоки. Имена функций в IDEF0 подбираются по сходным правилам с именами действий в IDEF3 — с использованием глаголов или отглагольных существительных. Важно подбирать имена таким образом, чтобы они отражали систему так, как если бы она обозревалась с точки зрения, выбранной для моделирования.
Пример функционального блока приведен на рис. 2.2.
Рис. 2.2. Функциональный блок IDEF0
Выше мы определяли IDEF0 модели как иерархическое множество вложенных блоков. Любой блок может быть декомпозирован на составляющие его блоки. Декомпозицию часто ассоциируют с моделированием "сверху вниз", однако это не совсем верно. Функциональную декомпозицию корректнее определять как моделирование "снаружи вовнутрь", в котором мы рассматриваем систему наподобие луковицы, с которой последовательно снимаются слои.
2.1.3
Границы и связи
Чтобы быть полезным, описание любого блока должно, как минимум, включать в себя описание объектов, которые блок создает в результате своей работы ("выхода"), и объектов, которые блок потребляет или преобразует ("вход").
В IDEF0 также моделируются управление и механизмы исполнения. Под управлением понимаются объекты, воздействующие на
способ,
которым блок преобразует вход в выход.
Механизм исполнения
— объекты, которые непосредственно
выполняют преобразование
входа в выход, но не потребляются при
этом сами по себе.
Для отображения категорий информации, присутствующих на диаграммах IDEF0, существует аббревиатура ICOM, отображающая четыре возможных типа стрелок:
I (Input) — вход — нечто, что потребляется в ходе выполнения процесса;
С (Control) — управление — ограничения и инструкции, влияющие на ход выполнения процесса;
О (Output) — выход — нечто, являющееся результатом выполнения процесса;
М (Mechanism) — исполняющий механизм — нечто, что используется для выполнения процесса, но не потребляется само по себе. Рис. 2.3 показывает 4 возможных типа стрелок в IDEF0, каждый из типов соединяется со своей стороной функционального блока.
Рис. 23. Каждый тип стрелки соединяется со своей стороной функционального блока
Для названия стрелок, как правило, употребляются имена существительные. Стрелки могут представлять собой людей, места, вещи, идеи или события. Как и в случае с функциональными блоками, присвоение имен всем стрелкам на диаграмме является только необходимым условием для понимания читателем сути изображенного. Отдельное описание каждой стрелки в текстовом виде может оказаться критическим фактором для построения точной и полезной модели.
Стрелки входа. Вход представляет собой сырье, или информацию, потребляемую или преобразуемую функциональным блоком для производства выхода. Стрелки входа всегда направлены в левую сто-
рону прямоугольника, обозначающего в IDEF0 функциональный блок. Наличие входных стрелок на диаграмме не является обязательным, так как возможно, что некоторые блоки ничего не преобразуют и не изменяют. Примером блока, не имеющего входа, может служить "принятие решения руководством", где для принятия решения анализируется несколько факторов, но ни один из них непосредственно не преобразуется и не потребляется в результате принятия какого-либо решения.
Стрелки управления. Стрелки управления отвечают за регулирование того, как и когда выполняется функциональный блок, и, если он выполняется, какой выход получается в результате его выполнения. Так как управление контролирует поведение функционального блока для обеспечения создания желаемого выхода, каждый функциональный блок должен иметь, как минимум, одну стрелку управления. Стрелки управления всегда входят в функциональный блок сверху.
Управление часто существует в виде правил, инструкций, законов, политики, набора необходимых процедур или стандартов. Влияя на работу блока, оно непосредственно не потребляется и не трансформируется в результате. Может оказаться, что целью функционального блока является как раз изменение того или иного правила, инструкции, стандарта и т.п. В этом случае стрелка, содержащая соответствующую информацию, должна рассматриваться не как управление, а как вход функционального блока.
Управление можно рассматривать как специфический вид входа. В случаях, когда неясно, относить ли стрелку к входу или к управлению, предпочтительно относить ее к управлению до момента, пока неясность не будет разрешена.
Стрелки выхода. Выход — это продукция или информация, получаемая в результате работы функционального блока. Каждый блок должен иметь, как минимум, один выход. Действие, которое не производит никакого четко определяемого выхода, не должно моделироваться вообще (по меньшей мере, должно рассматриваться в качестве одного из первых кандидатов на исключение из модели).
При моделировании непроизводственных предметных областей выходами, как правило, являются данные, в каком-либо виде обрабатываемые функциональным блоком. В этом случае важно, чтобы названия стрелок входа и выхода были достаточно различимы по своему
смыслу.
Например, блок "Прием пациентов"
может иметь стрелку "Данные
о пациенте" как на входе, так и на
выходе. В такой ситуации входящую
стрелку можно назвать "Предварительные
данные о пациенте",
а исходящую — "Подтвержденные данные
о пациенте".
Стрелки механизма исполнения. Механизмы являются ресурсом, который непосредственно исполняет моделируемое действие. С помощью механизмов исполнения могут моделироваться: ключевой персонал, техника и (или) оборудование. Стрелки механизма исполнения могут отсутствовать в случае, если оказывается, что они не являются необходимыми для достижения поставленной цели моделирования.
Комбинированные стрелки. ВIDEF0 существует пять основных видов комбинированных стрелок: выход — вход, выход — управление, выход — механизм исполнения, выход — обратная связь на управление и выход — обратная связь на вход.
Стрелка выход — вход применяется, когда один из блоков должен полностью завершить работу перед началом работы другого блока. Так, на рис. 2.4 формирование счета должно предшествовать приему заказа.
Рис. 2.4. Комбинация стрелок выход — вход
Рис. 2.5. Комбинированная стрелка выход — управление
Стрелка выход — управление отражает ситуацию преобладания одного блока над другим, когда один блок управляет работой другого. На рис. 2.5 принципы формирования инвестиционного портфеля управляют поведением брокеров на бирже.
Стрелки выход — механизм исполнения встречаются реже и отражают ситуацию, когда выход одного функционального блока применяется в качестве оборудования для работы другого блока. На рис. 2.6 зажим, устройство, используемое для закрепления детали во время ее сборки, должно быть собрано для того, чтобы выполнить сборку детали.
Рис. 2.6. Комбинированная стрелка выход — механизм исполнения
Обратные связи на вход и на управление применяются в случаях, когда зависимые блоки формируют обратные связи для управляющих ими блоков. На рис. 2.7 получаемая от брокеров информация о текущих биржевых курсах применяется для корректировки стратегии игры на бирже.
Рис. 2.7. Комбинированная стрелка выход — обратная связь на управление
Стрелка выход — обратная связь на вход обычно применяется для описания циклов повторной обработки чего-либо. Рис. 2.8 может служить примером применения стрелки такого типа. Кроме того, связи выход — обратная связь на вход могут применяться в случае, если бракованная продукция может заново использоваться в качестве сырья, как это происходит, например, при производстве оконного стек-
Рис. 2.8. Комбинированная стрелка выход — обратная связь на вход
ла, когда разбитое в процессе производства стекло перемалывается и переплавляется заново вместе с обыкновенным сырьем.
Разбиение и соединение стрелок. Выход функционального блока может использоваться в нескольких других блоках. Фактически чуть ли не главная ценность IDEF0 заключается в том, что эта методология помогает выявить взаимозависимости между блоками системы. Соответственно IDEF0 предусматривает как разбиение, так и соединение стрелок на диаграмме. Разбитые на несколько частей стрелки могут иметь наименования, отличающиеся от наименования исходной стрелки. Исходная и разбитые (или объединенные) стрелки в совокупности называются связанными. Такая техника обычно применяется для того, чтобы отразить использование в процессе только части сырья или информации, обозначаемых исходной стрелкой (рис. 2.9). Аналогичный подход применяется и к объединяемым стрелкам.
Рис. 2.9. Разбитая на две части и переименованная стрелка
