МЕТОДОЛОГИЯ ФУНКЦИОНАЛЬНОГО МОДЕЛИРОВАНИЯ IOEF0 ГЛАВА



Методология функционального моделирования IDEF0 — это тех­нология описания системы в целом как множества взаимозависимых действий или функций. Важно отметить функциональную направлен­ность: IDEFO-функции системы исследуются независимо от объектов, которые обеспечивают их выполнение. "Функциональная" точка зре­ния позволяет четко отделить аспекты назначения системы от аспек­тов ее физической реализации. На рис. 3.1 приведен пример типовой диаграммы IDEF0.

Рис. 3.1. Пример диаграммы IDEF0

Наиболее часто IDEF0 применяется как технология исследования и проектирования систем на логическом уровне. По этой причине IDEF0, как правило, используется на ранних этапах разработки проек­та, до IDEF3-моделирования, для сбора данных и моделирования про­цесса "как есть". Результаты IDEFO-анализа могут применяться при проведении проектирования с использованием моделей IDEF3 и диа­грамм потоков данных.


2 1 Синтаксис и семантика моделей IDEF0

Модели IDEF0

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

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

Первый шаг при построении модели IDEF0 заключается в опреде­лении назначения модели — набора вопросов, на которые должна от­вечать модель. Набор вопросов можно сравнить с предисловием, в ко­тором раскрывается назначение книги.

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

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

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


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

Действия

Действие, обычно в IDEF0 называемое функцией, обрабатывав' или переводит входные параметры (сырье, информацию и т.п.) в вы ходные. Поскольку модели IDEF0 моделируют систему как множест­во иерархических (вложенных) функций, в первую очередь должш быть определена функция, описывающая систему в целом — кон­текстная функция. Функции изображаются на диаграммах как по­именованные прямоугольники или функциональные блоки. Именг функций в IDEF0 подбираются по сходным правилам наименования

действий в IDEF3 — с использованием
глаголов или отглагольных существи­
тельных. Важно подбирать имена так,
чтобы они отражали систему с точки зре­
 ния, выбранной для моделирования.
Рис. 3.2. Функциональный               Пример функционального блока при-

блокГОЕРО                 веден на рис. 3.2.

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

Границы и связи

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

В IDEF0 также моделируются управление и механизмы исполне­ ния. Под управлением понимаются объекты, воздействующие на способ, которым блок преобразует вход в выход. Механизм исполне­ния — объекты, которые непосредственно выполняют преобразова­ние входа в выход, но остаются неизменными.


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

I (Input) — вход — то, что потребляется в ходе выполнения

процесса;

С (Control) — управление — ограничения и инструкции, влияю­щие на ход выполнения процесса;

О (Output) — выход — то, что является результатом выполнения

процесса;

М (Mechanism) — исполняющий механизм — то, что использует­ся для выполнения процесса, но остается неизменным.

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

Рис. 33. Каждый тип стрелки соединяется с определенной стороной функционального блока

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

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


торов, но ни один из них непосредственно не преобразуется и не по­требляется I результате принятия какого либо решения.

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

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

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

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

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

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


Комбинированные стрелки. В IDEF0 существует пять основных видов комбинированных стрелок: выход — вход, выход — управле­ние, выход — механизм исполнения, выход — обратная связь на управление и выход — обратная связь на вход.

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

Рис. 3.4. Комбинация стрелок выход — вход

Стрелка выход — управление отражает ситуацию преобладания одного блока над другим, когда один блок управляет работой другого. На рис. 3.5 принципы формирования инвестиционного портфеля влияют на поведение брокеров на бирже.

Рис. 3.5. Комбинированная стрелка выход — управление

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

Обратные связи на вход и на управление применяются в случаях, когда зависимые блоки формируют обратные связи для управляющих ими блоков. На рис. 3.7 получаемая от брокеров информация о теку-




Рис. 3.6. Комбинированная стрелка выход — механизм исполнения


Рис. 3.7. Комбинированная стрелка выход — обратная связь на управление

щих биржевых курсах применяется для корректировки стратегии иг­ры на бирже.


Рис. 3.8. Комбинированная стрелка выход — обратная связь на вход


Стрелка выход — обратная связь на вход обычно применяется для описания циклов повторной обработки чего-либо (рис. 3.8). Кроме то­го, связи выход — обратная связь на вход могут применяться в случае, если бракованная продукция может заново использоваться в качестве сырья, как это происходит, например, в процессе производства окон­ного стекла, когда разбитое стекло перемалывается и переплавляется заново вместе с исходным сырьем.


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

Рис. 3.9. Разъединенная на две части и переименованная стрелка

Туннели

Понятие связанных стрелок используется для управления уров­нем детализации диаграмм. Если одна из стрелок диаграммы отсутст­вует на родительской диаграмме (например, ввиду своей несущест­венности для родительского уровня) и не связана с другими стрелками той же диаграммы, точка входа или выхода этой стрелки на диаграмме обозначается туннелем. На рис. 3.10, например, стрелка "корпоратив­ная информационная система" — важный механизм исполнения для данной диаграммы, но, возможно, она более нигде не применяется в модели. Туннель в данном случае используется как альтернатива


     
 



Рис. 3.10. Пример применения туннеля

загромождению родительских диаграмм стрелками, несущественны­ми для их уровня.

Кроме того, туннели используются для отражения ситуации когда стрелка, присутствующая на родительской диаграмме, отсут­ствует в диаграмме декомпозиции соответствующего блока. На рис. 3.11 туннель у стрелки "модель производственного отдела" озна­чает, что на диаграмме декомпозиции производственного отдела отсутствует стрелка механизма управления с соответствующим на­именованием.


Построение моделей IDEF0

В этом разделе мы рассмотрим методику построения IDEFO-моде-лей более подробно.

Диаграммы

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


 


Рис. 3.11. Другой пример применения туннеля


Рис. 3.12. IDEFO-диаграмма со служебной информацией на полях


Все элементы заголовка диаграммы приведены в табл. 3.1.

Таблица 3.1

 

Поле Назначение
Used AT Используется для отражения внешних ссылок на дан­ную диаграмму (заполняется на печатном документе вручную)
Author, date, project Содержит ФИО автора диаграммы, дату создания, дату последнего внесения изменений, наименование проекта, в рамках которого она создавалась
Notes 1 ... 10 При ручном редактировании диаграмм пользователи могу! зачеркивать цифру каждый раз, когда они вносят очередное исправление
Status: Статус отражает состояние разработки или утверждения данной диаграммы. Это поле используется для реали­зации формального процесса итерации пересмотра и утверждения
Working Новая диаграмма, глобальные изменения или новый ав­тор для существующей диаграммы
Draft Диаграмма достигла некоторого приемлемого для чита­телей уровня и готова для представления на утверждение
Recommended Диаграмма одобрена и утверждена. Какие-либо измене­ния не предвидятся
Publication Диаграмма готова для окончательной печати и публи­кации
Reader ФИО читателя
Date Дата знакомства читателя с диаграммой
Context Схематическое изображение функциональных блоков на родительской диаграмме, на котором подсвечен деком­позируемый данной диаграммой блок. Для диаграммы самого верхнего уровня {контекстной диаграммы) в по­ле помещается контекст ТОР

Все элементы "подвала" диаграммы представлены в табл. 3.2.

Таблица 3.2

 

Поле Назначение
Mode Номер диаграммы, совпадающий с номером роди­тельского функционального блока
Title Имя родительского функционального блока

Продолжение

 

Поле Назначение
Number (C-Number) Уникальный идентификатор данной версии данной диаграммы. Таким образом, каждая новая версия диаграммы будет иметь новое значение в этом поле. Как правило, C-Number состоит из инициалов автора и последовательного уникального идентификатора, например SDO005. При публикации эти номера могут быть заменены стандартными номерами страниц. Если диаграмма замещает другую, номер заменяемой диаграммы может быть заключен в скобки - SDO005 (SDO004). Это обеспечивает хранение истории изменений всех диаграмм модели

Цикл эксперт — аналитик

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

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

Формально механизм рецензирования и модификации диаграмм поддерживается полями Status и нумерацией диаграмм, контроль ис­тории изменений — полем Field (см. табл. 3.1).

Построение моделей

Ни одна модель не должна строиться без ясного осознания объек­та и целей моделирования. При выборе цели моделирования необхо­димо ответить на следующие вопросы:

• Почему моделируется данный процесс?

• Что выявит данная модель?

• Как ознакомившиеся с этой моделью смогут ее применить?
Следующее предложение может служить примером формулиро­
вания цели моделирования: выявить задачи каждого работника ком-


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

• Каковы задачи менеджера?

• Каковы задачи клерка?

• Кто контролирует работу?

• Какая технология нужна для выполнения каждого шага и т.п.

Точка зрения

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

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

Границы моделирования

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


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

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

Чтобы облегчить правильное определение границ моделирования при разработке IDEFO-моделей, существенные усилия затрачиваются на разработку и рецензирование контекстной диаграммы IDEF0 (диаграммы "самого верхнего" уровня). Иногда даже прибегают к по­строению дополнительной диаграммы для отображения уровня более высокого, чем контекстный для данной модели, что позволяет обозна­чить систему, внутри которой располагается объект для моделирова­ния. Существенные затраты на разработку контекстной диаграммы вполне оправданы, поскольку она является своего рода "точкой отсче­та" для остальных диаграмм модели, и вносимые в нее изменения кас­кадом отражаются на все лежащие ниже уровни.

Когда границы моделирования понятны, также становится яс­ным, какие объекты системы по тем или иным причинам не вошли в модель.


Дата добавления: 2018-09-20; просмотров: 331; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!