AllFusionProcessModeler 4.1.4: "Гибридные" (IDEF0, DFD, IDEF3) функциональные модели. Функциональная модель проезда перекрестка автодороги© Дубейковский В.И., аналитик отдела внедрения и консалтинга компании "Интерфейс"
AllFusion Process Modeler 4.1.4 поддерживает разработку функциональных моделей (ФМ), как в виде мономоделей (в одной из поддерживаемых методик - либо в IDEF0, либо в DFD, либо в IDEF3), так и в виде ФМ, диаграммы которых разработаны в разных методиках - "гибридных" ФМ. Порядок построения таких ФМ неоднократно рассматривается в публикациях по функциональному моделированию, в том числе, например, в [8]. Не останавливаясь, поэтому, сейчас на технологии построения гибридной функциональной модели, приводим пример такой модели на материале проезда перекрёстка автодороги. Целью публикации этой модели является демонстрация - на широко известном материале - функциональной модели, состоящей из взаимосвязанных диаграмм во всех поддерживаемых AllFusion Process Modeler 4.1.4 (разработка такой ФМ в более поздних версиях программы ничем не будет отличаться от изложенного) методиках, и указание на некоторые особенности формирования таких ФМ. Функциональная модель состоит из трёх IDEF0 диаграмм (диаграммы A-0, A0, А1), одной DFD диаграммы (А1.1), IDEF3 диаграммы (А 1.1.4.1) и диаграммы Node Tree. Иерархия диаграмм в разных методиках соответствует принятым AllFusion Process Modeler ограничениям - см. рис. 1. Рис. 1 Структура гибридной функциональной модели AllFusion Process Modeler. На рис. указан порядок декомпозиций с корректным изменением метода моделирования. Приводим здесь также возможную структуру более развитых ФМ (ФМ с гораздо большим количеством диаграмм, см. рис. 2), которая образуется при их построении в условиях указанных на рис. 1 ограничений. Рис. 2. Структура гибридной функциональной модели. Сформирована в виде IDEF3 диаграммы. Каждая её UOW - диаграмма IDEF0 или DFD, или IDEF3 (указано в верхней части боксов UOW). А-0 диаграмма (рис. 3) с единственной Activity "Проезд перекрёстка автодороги" иллюстрирует в самом общем виде работу системы взаимосвязанных функций, приводящих к тому, что автомобиль, находящийся перед перекрёстком автодороги, бесконфликтно оказывается, в конце концов, за этим перекрёстком (см. соответствующие стрелки входа (Input) и выхода (Output), преодолевая его в прямом направлении.
Рис.3[1]. Проезд перекрёстка автодороги. А-0 диаграмма в формате IDEF0. [1] Рисунки воспроизводят диаграммы ФМ ..\..\..\Адьбом\IDEF0 - IDEF3. Перекрёсток запас-2.bp1 На диаграмме А0 (рис. 4) приводятся четыре возможных направления движения через перекрёсток - прямо, направо, налево или развернуться на перекрёстке. Все функции диаграмм А-0, А0 и А1 носят материальный характер (перемещение автомобиля), что является причиной использования IDEF0 методики их описания. Далее в декомпозициях детализируется только вариант "Проехать прямо". Остальные варианты не рассматриваются, так как дальнейшие действия в этих случаях (и соответствующие декомпозиции) во всех вариантах аналогичны. Рис. 4. А0 Диаграмма в формате IDEF0. Декомпозиция А-0 диаграммы. Четыре варианта движения через перекрёсток. Особенностью этой диаграммы является то, что помимо управления всеми функциями в соответствии с "Правилами дорожного движения Российской Федерации", введено управление (см. стрелку Control) "Выбрано одно из возможных направлений…". Эта связь - типа Off Page Reference (межстраничная ссылка) приведена сюда с диаграммы А1.1. Все Activity А0 диаграммы символизируют те или иные перемещения автомобиля - "Проехать прямо", "Проехать направо" и т.д. Подготовка управления и собственно управление этими перемещениями рассмотрены на диаграмме А1.1 (DFD). На этом этапе (А0) управление сводится к выбору направления движения на перекрёстке - см. рис 7 - стрелка выхода Activity 1.1.1 "Выбрать направление движения на перекрёстке". Имя этой стрелки "Выбрано одно из возможных направлений движения через перекрёсток". Этот выход для Activity 1 и Activities 2, 3, 4 диаграммы А0 является управлением. Осуществить принудительную миграцию этой стрелки выхода с диаграммы А1.1 иерархически вверх на диаграмму А0 - в качестве управления - невозможно. Поэтому использована стрелка Off Page Reference. Технология работы с ней - см. разделы 4.7.1 и 4.7.2 [8]. Она позволяет при организации миграции изменить статус стрелки. Стрелка Off Page Reference предоставляет сервис быстрого перемещения в обе стороны между связанными ею диаграммами. На рис. 5 показано, что после выделения курсором фрагмента стрелки под "крючком" Off Page Reference в выпадающем меню, можно выбрать Go To Reference и перейти на связанную диаграмму. Такое же перемещение возможно и в обратную сторону.Для упрощения диаграммы А1 мигрировавшая с А0 стрелка "Выбрано ехать прямо" затуннелирована круглым тоннелем. Причина такого решения - малая информационная ценность этой стрелки в случае её автоматической миграции ниже диаграммы А1 (на диаграмму А1.1), на которой она имела бы статус "Ко всем - см. IDEF0 (объектам диаграммы)". В Note Activity 1.1 диаграммы А1 это обстоятельство должно быть разъяснено. Рис. 5. Перемещение между диаграммами ФМ при помощи сервиса Go To Reference На диаграмме А1.1 (рис. 7) в DFD проиллюстрированы информационные потоки, влияющие на "Выбрать направление движения на перекрёстке":
Эти информационные потоки имеют источником Activity 1.1 - "Оценить информацию, определяющую особенности проезда данного перекрёстка" или мигрировали с диаграммы А1. Оттуда же мигрировала "Информация о работе светофора" - вход для "Следить за работой светофора". Эта функция поддерживается также "Информацией об особенностях конструкции и порядке работы светофора" и о выбранном направлении движения. Ключевая функция этой диаграммы "Принять решение о начале движения» поддерживается информацией "Текущее состояние (информационное) светофора", о разметке проезжей части, а также информацией из двух External Reference - "Информация о техническом состоянии автомобиля" и "Информация о качестве сцепления шин с дорогой". Также принятие этого решения поддерживается информацией "Прецеденты" из своеобразного накопителя (Data Store) "Водитель Опыт вождения автомобиля". Диаграмме А1.1 предшествует IDEF0 диаграмма А1 (рис. 6). Её ключевая Activity - "Проезд перекрёстка дороги" находится под управлением "Решение о начале движения". Технология принятия этого решения детализирована на IDEF3 диаграмме А1.1.4.1 (рис. 8), декомпозиции "Принять решение о начале движения" (диаграмма А1.1). Также обращаем внимание на то, что Activity 1.1 этой диаграммы ("Информационная подготовка проезда перекрёстка при подъезде к нему") - в целях подготовки корректной её декомпозиции в DFD диаграмму А1.1 оснащена связями входа, выхода и управления - исключительно информационными. Миграция стрелок механизмов вниз заблокирована их туннелированием. Механизмы для Activities на А1.1 диаграмме приведены в нижнем информационном поле их боксов.Рис. 6. А1 диаграмма IDEF0. Проезд через перекрёсток прямо. Рис. 7. А1 Диаграмма в формате DFD. Подготовка принятии решения о начале движения при проезде перекрёстка прямо.
На рис. 8 приводится IDEF3 диаграмма "Принятие решения о начале движения". На ней подробно рассмотрены процедуры принятия двух эксклюзивных решений "…НЕ НАЧИНАТЬ…" или "..НАЧАТЬ…" движение. При этом запрет на движение может быть наложен по любой из трёх рассмотренных причин (перекрёсток эксклюзивное OR) - красный светофор, жёлтый после зелёного или помехи движению. Тогда как разрешение на движение возможно только по сумме четырёх управляющих обстоятельств - светофор трёхсекционный, жёлтый после красного, зелёный, нет помех движению. Так как в стандартном представлении бокса перекрёстка его имя (Junction Name) на диаграмме не визуализируется, то имена ключевых перекрёстков приведены в виде Reference, например, "Оценка состояния светофора - активный сигнал). Ввиду того, что стрелки на диаграммы IDEF3 не мигрируют, связи родительской Activity 1.1.4 "Принять решение о начале движения" (см. диаграмму А1.1) также представлены в виде группы References. Входы её представлены на этой диаграмме от "Прецеденты" до "Информация о техническом состоянии автомобиля", а выход как Reference "Решение о начале движения". Рис. 8. А1.1.4.1 диаграмма IDEF3, Процедуры принятия решения о начале движения через перекрёсток.
На рис. 9 представлена Node Tree диаграмма (дерево узлов) демонстрирующая вложенность Activities (дочерние вложены в родительские). Оценивая эту диаграмму, надо не забывать, что представленные на ней функции далеко не всегда иллюстрируют последовательную схему связей между ними. Поэтому в целом эта диаграмма не может быть привязана ко времени - как протекающему по её иерархической вертикали.
Рис. 9. Node Tree (дерево узлов) диаграмма. Позволяет увидеть вложенность "дочерних" Activities в "материнские". Литература по функциональному моделированию
1. Дэвид А. Марка и Клемент Л. МакГоуэн. SADT. Методология структурного анализа и проектирования. МетаТехнология, 1993. 2. К. Гейн, Т. Сарсон. Структурный системный анализ: средства и методы. Москва, "Эйтекс", 1993. 3. С. В. Маклаков. BPwin и ERwin. CASE - средства разработки информационных систем. Москва. "ДИАЛОГ- МИФИ". 1999. 4. С. В. Маклаков. Создание информационных систем с AllFusion Modeling Suite. Москва. "ДИАЛОГ- МИФИ". 2005. 5. Дубейковский В. И. Практика функционального моделирования с AllFusion Process Modeler 4.1. Где? Зачем? Как? Москва. "ДИАЛОГ- МИФИ". 2004. 6. С. В.Черемных и др. Структурный анализ систем: IDEF-технологии. Москва. "Финансы и статистика". 2001. 7. С. В.Черемных и др. Моделирование и анализ систем. IDEF-технологии: практикум. Москва. "Финансы и статистика". 2002. 8. Дубейковский В. И. Эффективное моделирование с AllFusion Process Modeler 4.1.4 и AllFusion PM. Изд. "ДИАЛОГ-МИФИ", 2007 год |