8.1. Основные символы

Действия (функции, работы)

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

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

Рис. 8.1. Функциональный блок IDEF0

В первую очередь определяется функция, описывающая систему в целом — контекстная функция. Она помещается на контекстной диаграмме. Пример контекстной диаграммы приведен на рис. 8.2.

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

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

Все действия должны быть названы и определены.

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

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

В "Техническом задании", в разделе "Характеристика объекта автоматизации", подразделе "Краткие сведения об объекте автоматизации" при перечислении действий (функций) обязательно указываются их подробные определения (описания).

Все функциональные блоки в IDEF0 нумеруются. Номер состоит из префикса произвольной длины, но обычно А, и непосредственно номера. Префикс повторяется для каждого блока модели. Номера используются для отражения уровня декомпозиции, на котором находится блок. Контекстный блок всегда имеет номер А0. Блок А0 декомпозируется в А1, А2, А3 и т.д.; блок А1 — в А1.1, А1.2, А1.3 и т.д.; блок А1.1 — в А1.1.1, А1.1.2, А1.1.3 и т.д. Для каждого уровня декомпозиции в конце номера добавляется одна цифра.

Связи

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

Стрелки представляют собой некую ин­формацию и именуются существи­тельными, например, "Имя файла", "Распечатка", "Изображение на экране", "Цвет линии", "Изображение в памяти", "Данные от пользователя".

Все стрелки должны быть названы и определены.

Например, стрелка "Изображение на экране" может иметь следующее определение: "Изображение рисунка на экране компьютера после перерисовки".

В "Техническом задании", в разделе "Характеристика объекта автоматизации", подразделе "Краткие сведения об объекте автоматизации" при перечислении вводимой и выводимой информации обязательно указываются их подробные определения (описания).

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

Рис. 8.3. Пять типов стрелок в IDEF0

Перечислим их в порядке, в котором рекомендуют их проектировать:

- выход (output) (результат деятельности системы — информация, материалы);

- вход (input) (нечто, что перерабатывается системой — информация, материалы);

- механизм исполнения (mechanism) (ресурсы, необходимые для проведения работы — оборудование, подразделения, персонал и т.д.);

- управление (control) (правила, стандарты, инструкции, законы, политика, стратегии и процедуры, под управлением которых производится работа);

- вызов (call) (другая модель работы).

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

Рекомендации по определению стрелок

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

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

Например, блок "Открытие файла" должен иметь выходы "Открытый файл" и "Ошибка  при открытии файла", который может являться входом для блока "Обработка ошибки".

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

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

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

Поэтому, чтобы указать, что данные действительно были переработаны, надо использовать более точное определение стрелок, например: "База данных" — "Измененная база данных"; "Информация из внешнего хранилища" — "Информация для внутреннего хранилища"; "Изображение в памяти" — "Измененное изображение в памяти".

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

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

Например, в модели описания работы пользователя на ПЭВМ со всем пакетом Microsoft Office редактор Paint и редактор Excel могут выступать в качестве механизмов при работе с текстовым редактором Word, когда пользователь создает рисунок или таблицу с их помощью. Редактор Paint и другие входят в моделируемую систему (пакет Microsoft Office), являются ее частью и поэтому являются механизмами выполнения работ в других редакторах, наряду с пользователем, ПЭВМ.

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

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

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

Управление — это особая форма входа функционального блока.

Определение вызова. Рисуется как исходящая из нижней грани функционального блока. Указывает на то, что некоторое действие, работа выполняется за пределами моделируемой системы. Например, в модели "Деятельность пользователя ПЭВМ при работе с графическими изображениями" работа А6 (рис. 8.16) может иметь следующую детализацию (рис. 8.4), т.е. работа "Замена рисунка рабочего стола" выполняется за пределами данной модели, средствами операционной системы (ОС).

Другим примером может являться вызов редактора Paint для создания рисунка в модели описания работы пользователя только с текстовым редактором Word. В этом случае редактор Paint не входит в моделируемую систему (текстовый редактор Word).

Рис. 8.4. Пример выполнения работы за пределами моделируемой системы

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

Такие стрелки называются несвязными. На рис. 8.5 приведен фрагмент диаграммы декомпозиции с несвязными стрелками при декомпозиции работы, показанной на рис. 8.2.