МЕТОДОЛОГИЯ ФУНКЦИОНАЛЬНОГО МОДЕЛИРОВАНИЯ 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!