9. МЕТОД ОПИСАНИЯ ПРОЦЕССОВ IDEF3

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

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

Можно сначала построить функциональную модель в нотации IDEF0, проведя исследования предметной области. Затем, используя полученные знания о предметной области, построить отдельную модель в нотации IDEF3.

А можно создать смешанную модель, дополняя по мере необходимости функциональную модель в нотации IDEF0 диаграммами в нотации IDEF3. Также можно дополнять модель DFD диаграммами в нотации IDEF3.

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

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

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

Основной организационной единицей описания в IDEF3 является диаграмма.

Важна взаимная организация диаграмм внутри модели, также важно правильно построить каждую из диаграмм, поскольку они предназначены для чтения другими людьми (а не только автором). В целом методика построения модели, рекомендации по построению диаграмм аналогичны тем, которые применяются при моделировании в нотации IDEF0.

Как и при моделировании в нотации IDEF0 сначала опрашиваются эксперты предметной области, определяется цель моделирования — набор вопросов, на которые будет отвечать модель, точка зрения, границы моделирования, с учетом глубины и широты — какие объекты войдут, а какие не будут отображены в модели.

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

Рассмотрим основные символы.

Единица или работа, действие

В IDEF3 действия изображаются прямоугольниками с прямыми углами (рис. 9.1). Действия имеют имя, выраженное отглагольным существительным или глаголом, одиночным или в составе фразы с другим именем существительным, обычно отображающим основной выход (результат) работы, например, "Создание файла". Все действия должны быть названы и определены.

Рис. 9.1. Символ действие в IDEF3

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

Нотация IDEF3 позволяет декомпозировать (детализировать) действие много- кратно, т.е. включить в одну модель альтернативные описания процессов. Поэтому в номере действия стоит и порядковый номер декомпозиции родительского действия (рис. 9.1).

Действия имеют входы и выходы, но не поддерживают управления и механизмы, как функции в нотации IDEF0.

Связи

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

В IDEF3 различают три типа стрелок, изображающих связи (табл. 9.1).

Таблица 9.1

Типы связей

Изобра­жение

Название

Назначение

1

2

3

Временное предшест­вование

Сплошная стрелка, связывающая единицы работ.

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

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

Временная шкала выполнения действий показана на рис. 9.3. Вертикальными линиями показано начало и окончание действий. Время окончания А1.1.1 и время начала А1.1.2 может совпадать, может не совпадать

Объектный поток

Стрелка с двумя наконечниками.

Применяется для описания того, что результатом выполнения исходного действия является некоторый объект, который необходим для выполнения конечного действия. Временная семантика объектных связей аналогична связям предшествования.

Связь именуют так, чтобы четко определить передающийся объект. Например, файл является результатом выполнения действия А1.1.3 (рис. 9.4)

 

Нечеткое отношение

Пунктирная линия.

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

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

На рис. 9.5 показано нечеткое отношение между действиями "Вывод пользователю сообщения об ошибке" и "Обработка ошибки"

Рис. 9.2. Связь "временное предшествование" между действиями А1.1.1 и А1.1.2

Рис. 9.3. Временная шкала выполнения действий для рис. 9.2

Рис. 9.4. Объектная связь между действиями А1.1.3 и А1.1.4

Рис. 9.5. Связь "нечеткое отношение"

Нечеткое отношение является альтернативой временному предшествованию и объектному потоку в смысле задания последовательности выполнения работ — работа-источник не обязательно должна закончиться, прежде чем работа-цель начнется. Более того, работа-цель может закончиться прежде, чем закончится работа-источник.

Рассмотрим пример нечеткого отношения (рис. 9.6), альтернативного предшественной связи, приведенной на рис. 9.2.

Рис. 9.6. Альтернативная связь предшествования

В этом примере в соответствии с порядком действий, показанным на рис. 9.7, поиск вхождения текста в документе начинается по мере ввода текста, т.е. до непосредственного окончания ввода текста. Данный вид поиска используется в справочных системах.

Рис. 9.7. Альтернативная временная шкала выполнения действий для рис. 9.6

Необходимо четко документировать временные ограничения между действиями, соединенными нечетким отношением.

Рассмотрим другую возможную временную шкалу для того же примера нечеткого отношения (рис. 9.8).

Рис. 9.8. Вариант альтернативной временной шкалы для рис. 9.6

В этом случае поиск вхождения текста будет начат после получения первых букв искомого текста, но закончится до того, как все буквы будут введены, это означает, что поиск будет выполнен неверно.

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

Соединения или перекрестки (Junction)

Окончание одного действия может служить сигналом к началу нескольких действий, или же одно действие для своего запуска может ожидать окончания нескольких действий.

Перекрестки используются для отображения логики взаимодействия стрелок при слиянии и разветвлении. В табл. 9.2 приведены возможные типы перекрестков.

В отличие от IDEF0 и DFD в IDEF3 стрелки могут сливаться и разветвляться только через перекрестки.

Различают перекрестки для слияния и разветвления стрелок. Перекресток не может использоваться одновременно для слияния и для разветвления.

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

Все перекрестки на диаграмме нумеруются, каждый номер имеет префикс J.

Таблица 9.2

Типы перекрестков

Обо-значение

Наименование

Смысл в случае слияния стрелок (сворачивающее соединение)

Смысл в случае разветвления стрелок (разворачивающее соединение)

Асинхронное соединение "И"

Все предшествующие работы должны быть обязательно завершены, прежде чем начнется выполнение следующей работы

Все следующие работы должны быть обязательно запущены

Синхронное соединение "И"

Все предшествующие работы должны быть завершены одновременно

Все следующие работы должны быть запущены одновременно

Асинхронное соединение "ИЛИ"

Одна или несколько предшествующих работ должны быть завершены

Одна или несколько следующих работ должны быть запущены

Синхронное соединение "ИЛИ"

Одна или несколько предшествующих работ должны быть завершены одновременно

Одна или несколько следующих работ должны быть запущены одновременно

Соединение "эксклюзивное "ИЛИ"

Только одна предшествующая работа должна быть завершена, прежде чем сможет начаться следующая работа

Только одна следующая работа должна быть запущена

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

В примере на рис. 9.9 выполняется ввод параметров окружности с клавиатуры, если пользователь использует клавиатуру, указание параметров с помощью мыши — при использовании мыши. И то, и другое действие выполняются при частичном вводе параметров, как с клавиатуры, так и при помощи мыши. Подобное описание вносится в свойства перекрестка.

Парность соединений. Все соединения на диаграммах должны быть парными, т.е. любое разворачивающее соединение должно иметь парное себе сворачивающее соединение, хотя типы соединений не обязательно должны совпадать. На рис. 9.10, а разворачивающее соединение "И" имеет парное сворачивающее соединение "ИЛИ".

Однако если нет необходимости строго придерживаться нотации IDEF3 при построении диаграмм, то в них могут присутствовать и фрагменты, показанные на рис. 9.10, б - в.

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

Рис. 9.9. Пример использования соединения "ИЛИ"

Комбинации соединений. Соединения могут комбинироваться для создания более сложных ветвлений (рис. 9.11, 9.12). Комбинации соединений следует использовать с осторожностью, так как перегруженные ветвлением диаграммы сложны для восприятия.

Рис. 9.10. Фрагменты диаграмм в нотации IDEF3


Рис. 9.11. Вариант диаграммы декомпозиции действия "Работа с файлом" в нотации IDEF3

Рис. 9.12. Вариант диаграммы декомпозиции действия "Редактирование изображений с помощью примитивов"

в модели "Деятельность пользователя ПЭВМ при работе с графическими изображениями" в нотации IDEF3

Объект ссылки (указатель)

Объект ссылки в IDEF3 выражает некую идею, концепцию или данные, которые нельзя описать стрелкой, перекрестком или действием.

На рис. 9.11 показано важное для данной модели отношение между действием "Копирование файла" и объектом "Содержимое дисков".

Объекты ссылки должны быть связаны с единицами работ или перекрестками линиями.

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

Кроме имени следует указывать тип объекта ссылки (табл. 9.3).

Таблица 9.3

Типы объектов ссылок

Тип объекта ссылки

Цель описания

ОБЪЕКТ

Описывает участие важного объекта в действии

ССЫЛКА

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

ЕДИНИЦА ДЕЙСТВИЯ

Применяется для многократного отображения на диаграмме одного и того же действия, т.е. действия, которое используется в процессе несколько раз, но не в цикле. В этом случае в первый раз действие создается как единица работы, а последующие его появления на диаграмме оформляются объектами ЕДИНИЦА ДЕЙСТВИЯ

ЗАМЕТКА

Используется для документирования важной информации общего характера, относящейся к изображенному на диаграмме. ЗАМЕТКА является альтернативой внесению текстового объекта в диаграмму

УТОЧНЕНИЕ

Используется для уточнения или более детального описания изображенного на диаграмме. Обычно употребляется для детального описания логики ветвления у соединений

В нотации IDEF3 информация в модель может вноситься различными способами. Это позволяет аналитику отображать информацию в удобном в данный момент виде.

Например, логика взаимодействия единиц работ может быть отображена графически в виде комбинации перекрестков, что может занять значительное место на диаграмме, затруднит расположение работ. Поэтому та же информация может быть отображена в виде объекта ссылки УТОЧНЕНИЕ.

Сеансы экспертизы

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