Смекни!
smekni.com

Основы IDEF0-моделирования (стр. 1 из 2)

Основы IDEF0-моделирования

Для полного описания системы требуется набор IDEF0-диаграмм, образующих IDEF0-модель.

Контекстная диаграмма верхнего уровня

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

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

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

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

Узловые номера

Узловые номера используются для того, чтобы указать положение диаграммы в иерархии модели. Например, диаграмма с узловым номером А21 детализирует блок 1 на диаграмме А2. Подобным же образом, А2 детализирует блок 2 на диаграмме АО, которая является самой полной диаграммой модели.

Все узловые номера графических диаграмм начинаются с буквы "A". Исходная для данной модели контекстная диаграмма имеет узловой номер А-0. Если создается более укрупненная контекстная диаграмма, в которую описываемая система входит в качестве подсистемы, то она нумеруется как А-1. Этот процесс может, если необходимо, продолжаться вверх по иерархии и дальше, однако А-0 остается вершиной конкретной модели.

Для дополнений к графическим диаграммам используются другие узловые номера. Номера для текстовых диаграмм содержат букву "Т" и соответствуют узловому номеру диаграммы, с которой они связаны (например, А2Т текстовая диаграмма для графической диаграммы А2). Узловые номера для глоссария содержат букву "G" (например, A1G). Узловые номера FEO-диаграмм содержат букву "F" (например, A2F).

ICOM-коды

IDEF0 требует, чтобы все внешние дуги диаграммы были согласованы по числу и наименованию (но не обязательно по расположению) с дугами, касающимися декомпозированного блока родительской диаграммы. Для этих целей принята система обозначений. Схема кодирования дуг ICOM (от слов: Input, Control, Output, Mechanism) позволяет точно идентифицировать и проверить связи по дугам между диаграммами.

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

Дуги, "помещенные в тоннель"

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

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

С-номер диаграммы

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

Пример. Сообщение о том, что третий вариант автор с инициалами КВВ заменяет шестым, будет записано в виде С-номера в правом нижнем углу диаграммы: КВВ006 (КВВ00З).

Для ведения системы С-номеров создается так называемый реестр, в котором приводится последовательный список С-номеров (начиная с номера 000) и соответствующие им имена диаграмм.

Правила построения диаграмм

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

Контекстные диаграммы должны иметь номер узла вида А-п, где п больше или равен нулю.

Модель должна включать контекстную диаграмму А-0, содержащую только один блок, имеющий номер 0.

Неконтекстная диаграмма должна иметь не менее трех (но не более шести) блоков.

Каждый блок на неконтекстной диаграмме следует пронумеровать внутри в нижнем правом углу (от 1 до 6)

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

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

Блок должен иметь ноль или большее количество входных дуг.

Блок должен иметь ноль или большее количество дуг механизма (не ссылочных).

Блок должен иметь ноль или одну дугу ссылки.

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

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

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

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

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

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

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

Следует минимизировать число петель и поворотов каждой дуги

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

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

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

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

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

Названия блока и метки дуг не должны состоять исключительно из следующих слов: "Функция", "Действие", "Процесс", "Ввод", "Вывод", "Управляет" или "Механизм". Желательно эти слова не использовать в названиях или метках дуг.

Длинную дугу следует помечать дважды.

Дополнительные диаграммы

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