DFD (Data Flow Diagram) Диаграммы — зачем они нужны и какие бывают
Привет всем!
Сегодня решил написать основную теорию про применение диаграмм потоков данных как одного из инструментов моделирования процессов.
Диаграмма отображает потоки данных между системами, базами данных. Ключевыми элементами являются входные/выходные данные, системы, точки хранения и сбора данных.
Зачем нужны DFD диаграммы?
DFD диаграммы в отличии от других нотаций позволяют визуально показать все процессы с точки зрения данных. Это может быть полезно:
при разработке информационной системы;
при интеграции системы;
при миграции данных и функционала с одной системы на другую;
в проектах, связанных с Data Management;
в процессе построения аналитического хранилища, BI-решения.
Диаграмма позволяет визуализировать как движение данных между объектами системы, так и преобразования данных, которые могут применяться на разных шагах процесса.
Элементы DFD диаграммы
Выделяют 4 элемента в диаграмме:
Процесс.
Процессы, при которых идет изменение потока данных (обработка, трансформация и др. изменения). Процесс как и в других диаграммах обычно прописывается с помощью глагола, например: “Отправка заполненной формы”.
Внешняя сущность.
Сущность (объект), которая получает или отправляете данные при взаимодействии с описанным процессом.
Хранилище данных.
Все хранилища данных или отдельные файлы, которые хранят исходные или выходные данные, а также все промежуточные хранилища.
Поток данных.
Поток данных, который отображает направление и сами данные, которые перемещаются между внешними сущностями и хранилищами данных с помощью процессов.
Несколько правил построения диаграмм:
Процесс должен иметь входной и выходной поток данных.
Хранилища данных также должны иметь входные и выходные потоки данных.
Данные с внешних сущностей должны обязательно проходить через процесс чтобы попасть в хранилище.
В DFD диаграммах также выделяют 2 разные нотации. Поэтому стоит обращать внимание на условные обозначения каждого элемента в зависимости от используемой нотации. Ниже представил картинку сравнения элементов разных нотаций.
Уровни DFD Диаграммы
В зависимости от цели использования диаграммы можно отображать различные уровни детализации процесса. К примеру, для разговора и презентации процесса бизнес-пользователям и заказчикам, им важно понимать контекст и логику самого процесса, иногда нет смысла погружать их в технические моменты реализации. С другой стороны, при разговоре с технической командой важно сделать акцент на реализации решения с технической точки зрения.
Как и в ER-диаграмме для моделей данных, которая включает в себя несколько слоев отображения (концептуальный, логический, физический), DFD диаграммы также можно делить на подобные уровни:
Концептуальный (или контекстный) уровень.
Показывает общее описание процесса, который реализуется при потоке данных. Отображает абстрактно потоки данных, связанные с разными внешними сущностями
Логический уровень.
Отображает логику преобразования данных в системе в каждом процессе, описывает. Видны входные, промежуточные, выходные данные в каждом процессе, который протекает от внешней сущности до хранилищ данных. Больше указывает на вопрос “Что включает в себя процесс потока и обмена данными со стороны бизнеса?”
Физический уровень.
Включают точное отображение хранилищ данных, названий сущностей данных. Диаграмма физического уровня должна отвечать на вопрос “Как будет реализован процесс передачи и потока данных?”
Также часто в других источниках можно увидеть разделение уровней диаграммы на 0,1, 2, 3 и так далее, в зависимости от уровня детализации.
Если мы говорим про разработку нового решения, то важно понять “что мы имеем сейчас” (AS-IS) и “что мы желаем получить” (TO-BE). Другими словами, мы разделяем наше текущее состояние и желаемое состояние, которое мы хотим получить с помощью нашего решения.
AS-IS
Описываем текущую логическую диаграмму.
TO-BE
Описываем желаемую логической диаграмму с новой логикой и требования от бизнеса. После этого из желаемой логической диаграммы описываем физическую с новым техническим решением.