DFD-диаграмма — метод графического моделирования¶
DFD-диаграмма (от англ. Data Flow Diagram, диаграмма потоков данных) — графический метод описания информационных систем, отражающий преобразование данных между процессами, хранилищами данных и внешними сущностями. Метод относится к структурному анализу и проектированию и получил широкое распространение в 1970-е годы в работах Тома ДеМарко, Гейна Росса и Криса Гейна. DFD-диаграммы используются для документирования логики обработки данных, определения границ системы и коммуникации между заказчиком и разработчиками.
¶Элементы диаграммы
Стандартная DFD-диаграмма состоит из четырёх базовых элементов:
| Элемент | Обозначение | Описание |
|---|---|---|
| Внешняя сущность (терминатор) | Прямоугольник | Источник или потребитель данных за пределами системы (пользователь, другая система) |
| Процесс | Круг или прямоугольник со скруглёнными углами | Преобразование входных данных в выходные |
| Хранилище данных | Две параллельные линии (открытый прямоугольник) | Постоянное хранение данных (файлы, базы данных) |
| Поток данных | Стрелка с подписью | Направленная передача данных между элементами |
Каждый процесс обозначается номером и именем (например, «1. Обработка заказа»), что позволяет иерархически декомпозировать систему на подпроцессы.
¶Уровни детализации
DFD-диаграммы строятся иерархически — от общего к частному. Выделяют следующие уровни:
- Контекстная диаграмма (уровень 0) — система представлена одним процессом, показаны все внешние сущности и основные потоки данных. Позволяет определить границы системы.
- Диаграмма уровня 1 — верхнеуровневый процесс декомпозируется на 5–9 подпроцессов, хранилища данных выносятся отдельно.
- Диаграммы уровней 2 и ниже — дальнейшая декомпозиция сложных подпроцессов до уровня, достаточного для программной реализации.
Процесс декомпозиции называется балансировкой: входные и выходные потоки родительского процесса должны полностью соответствовать сумме потоков его подпроцессов.
¶Правила построения
При построении DFD-диаграмм соблюдаются следующие правила:
- Внешние сущности не соединяются между собой напрямую — данные проходят через систему.
- Хранилища данных не соединяются друг с другом — данные должны пройти через процесс.
- Каждый поток данных подписан именем или составом передаваемых данных.
- Процесс, не имеющий входных потоков, считается ошибкой (кроме процессов генерации данных).
- Процесс без выходных потоков также считается ошибкой (кроме процессов удаления данных).
- Диаграмма не должна содержать циклов потоков данных между процессами без хранилищ.
¶Стандарты и нотации
Существует несколько несовместимых нотаций 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. Информационные технологии. Процессы жизненного цикла программных средств.
- Учебные материалы по системному анализу и проектированию информационных систем.
