Функциональная методика и стандарты IDEF

В настоящее время функциональная методика проектирования опирается на стандарты IDEF для описания проекта. Стандарты IDEF можно считать следующим этапом развития хорошо известного графического языка описания функциональных систем SADT (Structured Analysis and Design Teqnique), которые ранее были базовыми при проектировании ПО. В настоящий момент к семейству IDEF можно отнести ряд стандартов, которые именуются IDEF и снабжаются номером от 0 до 14.

Первым в 1981 году был разработан стандарт IDEF0 в рамках обширной программы автоматизации промышленных предприятий, которая носила обозначение ICAM (Integrated Computer Aided Manufacturing) и была предложена департаментом Военно-Воздушных Сил США. Собственно, семейство стандартов IDEF унаследовало свое обозначение от названия этой программы (IDEF = ICAM DEFinition). С 1981 года стандарт IDEF0 претерпел несколько незначительных изменений, в основном ограничивающего характера, и последняя его редакция была выпущена в декабре 1993 года национальным институтом по стандартам и технологиям США (NIST).

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

Функциональная методика IDEF базируется на четырех основных понятиях:

  • 1) функциональный блок;

  • 2) интерфейсная дуга;

  • 3) декомпозиция;

  • 4) глоссарий.

Функциональный блок (Activity Box) представляет собой некоторую конкретную функцию в рамках рассматриваемой системы. По требованиям стандарта название каждого функционального блока должно быть сформулировано в глагольном наклонении (например, «производить услуги»). На диаграмме функциональный блок изображается прямоугольником (рис. 2.2). Каждая из четырех сторон функционального блока имеет свое определенное значение (роль), при этом:

  • - верхняя сторона имеет значение «Управление» (Control);

  • - левая сторона имеет значение «Вход» (Input);

  • - правая сторона имеет значение «Выход» (Output);

  • - нижняя сторона имеет значение «Механизм» (Mechanism).

Рис. 2.2. Функциональный блок (контекстная диаграмма)

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

В зависимости от того, к какой из сторон функционального блока подходит данная интерфейсная дуга, она носит название «входящей», «исходящей» или «управляющей».

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

Обязательное наличие управляющих интерфейсных дуг является одним из главных отличий стандарта IDEF0 от других функциональных методов описаний проекта ПО: DFD (Data Flow Diagram) и WFD (Work Flow Diagram).

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

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

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

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

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

Последним из понятий IDEF0 является глоссарий (Glossary). Для каждого из элементов IDEF0 — диаграмм, функциональных блоков, интерфейсных дуг — существующий стандарт подразумевает создание и поддержание набора соответствующих определений, ключевых слов, повествовательных изложений и т. д., которые характеризуют объект, отображенный данным элементом. Этот набор называется глоссарием и является описанием сущности данного элемента. Глоссарий гармонично дополняет наглядный графический язык, снабжая диаграммы необходимой дополнительной информацией.

Рис. 2.3. Декомпозиция функционального блока

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >