Открыть сервисСервис

DFD-диаграмма — метод графического моделирования

DFD-диаграмма (от англ. Data Flow Diagram, диаграмма потоков данных) — графический метод описания информационных систем, отражающий преобразование данных между процессами, хранилищами данных и внешними сущностями. Метод относится к структурному анализу и проектированию и получил широкое распространение в 1970-е годы в работах Тома ДеМарко, Гейна Росса и Криса Гейна. DFD-диаграммы используются для документирования логики обработки данных, определения границ системы и коммуникации между заказчиком и разработчиками.

Элементы диаграммы

Стандартная DFD-диаграмма состоит из четырёх базовых элементов:

ЭлементОбозначениеОписание
Внешняя сущность (терминатор)ПрямоугольникИсточник или потребитель данных за пределами системы (пользователь, другая система)
ПроцессКруг или прямоугольник со скруглёнными угламиПреобразование входных данных в выходные
Хранилище данныхДве параллельные линии (открытый прямоугольник)Постоянное хранение данных (файлы, базы данных)
Поток данныхСтрелка с подписьюНаправленная передача данных между элементами

Каждый процесс обозначается номером и именем (например, «1. Обработка заказа»), что позволяет иерархически декомпозировать систему на подпроцессы.

Уровни детализации

DFD-диаграммы строятся иерархически — от общего к частному. Выделяют следующие уровни:

  • Контекстная диаграмма (уровень 0) — система представлена одним процессом, показаны все внешние сущности и основные потоки данных. Позволяет определить границы системы.
  • Диаграмма уровня 1 — верхнеуровневый процесс декомпозируется на 5–9 подпроцессов, хранилища данных выносятся отдельно.
  • Диаграммы уровней 2 и ниже — дальнейшая декомпозиция сложных подпроцессов до уровня, достаточного для программной реализации.

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

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

При построении DFD-диаграмм соблюдаются следующие правила:

  1. Внешние сущности не соединяются между собой напрямую — данные проходят через систему.
  2. Хранилища данных не соединяются друг с другом — данные должны пройти через процесс.
  3. Каждый поток данных подписан именем или составом передаваемых данных.
  4. Процесс, не имеющий входных потоков, считается ошибкой (кроме процессов генерации данных).
  5. Процесс без выходных потоков также считается ошибкой (кроме процессов удаления данных).
  6. Диаграмма не должна содержать циклов потоков данных между процессами без хранилищ.

Стандарты и нотации

Существует несколько несовместимых нотаций DFD:

  • Нотация Гейна-Сарсона — процесс обозначается прямоугольником со скруглёнными углами, разделённым на три зоны (номер, название, выходные потоки). Наиболее распространена в учебниках по системному анализу.
  • Нотация ДеМарко-Йордана — процесс обозначается кругом («круг ДеМарко»).
  • Нотация Йордана — процесс обозначается прямоугольником, хранилище данных — открытым справа прямоугольником.
  • Нотация Джексона — используется преимущественно в Великобритании.

Стандарт ISO 8631 и рекомендации IDEF0 (развитие методологии SADT) формально не относятся к DFD, но используют схожие принципы декомпозиции и потокового моделирования.

Применение

DFD-диаграммы применяются на этапах анализа и проектирования информационных систем:

В России методика DFD традиционно включается в учебные программы по дисциплинам «Системный анализ», «Информационные системы в экономике», «Базы данных» и является частью подготовки специалистов в области информационных технологий.

Ограничения

DFD-диаграммы описывают только потоки данных и не отражают:

  • временные аспекты и последовательность выполнения операций;
  • логику принятия решений внутри процессов;
  • параллельное выполнение процессов;
  • поведенческие аспекты (реакции системы на события).

Для моделирования этих аспектов используются дополнительные методы — диаграммы последовательностей UML, диаграммы состояний, BPMN. DFD-диаграммы часто сочетаются с методами структурного проектирования (структурные схемы, таблицы решений, pseudo-code).

Историческая роль

Метод DFD стал одним из первых формальных подходов к описанию информационных систем и заложил основу для современных методов бизнес-моделирования. Работы Тома ДеМарко «Structured Analysis and System Specification» (1979) и Гейна Росса «Information System Methodologies» (1978) определили методологию, которая применяется более полувека. В 1990-е годы DFD была вытеснена из коммерческой практики объектно-ориентированными методологиями (UML, RUP), но сохранила позиции в учебных курсах и в практике документирования legacy-систем.

Источники

  • ДеМарко Т. Структурный анализ и спецификация систем. — М.: Финансы и статистика, 1984.
  • Росс К. Методологии проектирования информационных систем. — М.: Финансы и статистика, 1983.
  • Системный анализ в экономике: учебник / под ред. А. Д. Шевцова. — М.: ЮНИТИ-ДАНА.
  • ГОСТ Р ИСО/МЭК 12207-2010. Информационные технологии. Процессы жизненного цикла программных средств.
  • Учебные материалы по системному анализу и проектированию информационных систем.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru