DFD – диаграмма потоков данных¶
Описание¶
DFD (Data Flow Diagram) показывает, как данные поступают в систему из внешнего мира, как преобразуются процессами, где хранятся и куда передаются. Нотация развита в рамках методов структурного анализа 1970-х годов: варианты обозначений предложили Э. Йордон и Т. Демарко [21] и К. Гейн и Т. Сарсон [9].
Диаграммы строятся иерархически: контекстная диаграмма показывает всю систему одним процессом и её внешние сущности, диаграммы следующих уровней раскрывают процессы [8].
Когда применять: анализ информационных потоков, проектирование информационной системы, поиск дублирования данных и лишних передач.
Ограничения: не показывает последовательность во времени, условия и ответственных за шаги.
Элементы нотации¶
| Элемент | Йордон – Демарко | Гейн – Сарсон | Назначение |
|---|---|---|---|
| Внешняя сущность | прямоугольник | прямоугольник с тенью; дубликат – с косой чертой в углу | источник или получатель данных вне системы |
| Процесс | круг | скруглённый прямоугольник с номером в верхней части | преобразование входных данных в выходные |
| Хранилище данных | две параллельные линии | прямоугольник, открытый справа, с номером D1, D2… | данные, сохраняемые для последующего использования |
| Поток данных | стрелка с названием | стрелка с названием | перемещение данных |
Правила составления¶
- Каждый процесс имеет хотя бы один входной и один выходной поток; процесс называется глаголом («Проверить заявку»).
- Поток данных всегда проходит через процесс: нельзя соединять две внешние сущности, два хранилища или сущность с хранилищем напрямую.
- Потоки подписываются существительными – названиями данных («Заявка», «Счёт»).
- Балансировка уровней: входы и выходы процесса на верхнем уровне совпадают с внешними потоками его декомпозиции.
- Процессы нумеруются иерархически: 1, 1.1, 1.2…
- На диаграмме не показываются управляющие потоки и условия – только данные.
- Чтобы избежать пересечения линий, внешнюю сущность можно изобразить повторно – дубликат помечается косой чертой.
Пример: обработка заказа в нотации Гейна – Сарсона¶
Контекстная диаграмма (уровень 0) – вся система одним процессом и её окружение:
Диаграмма уровня 1 – декомпозиция процесса 0. Внешние потоки совпадают с контекстной диаграммой (балансировка); оранжевые точки показывают движение данных по потокам.
Что видно и чего не видно
DFD отвечает на вопрос «какие данные нужны и где они хранятся»: видно, что расчёт стоимости опирается на хранилище тарифов, а признаки On Time и In Full записываются в заказ при его закрытии. Порядок шагов и условия (например, «заявка некорректна») на DFD не показываются.
Ссылки¶
- Gane, C. Structured Systems Analysis : Tools and Techniques / C. Gane, T. Sarson. – Englewood Cliffs : Prentice-Hall, 1979. – 241 p.
- Yourdon, E. Modern Structured Analysis / E. Yourdon. – Englewood Cliffs : Yourdon Press, 1989. – 672 p.
- Data-flow diagram // Wikipedia : the free encyclopedia : сайт. – URL: https://en.wikipedia.org/wiki/Data-flow_diagram (дата обращения: 07.10.2026).
- What Is a Data Flow Diagram? Symbols and Examples // Lucid : сайт. – URL: https://www.lucidchart.com/pages/data-flow-diagram (дата обращения: 07.10.2026).