Привет всем!
Сегодня решил написать основную теорию про применение диаграмм потоков данных как одного из инструментов моделирования процессов.
Диаграмма отображает потоки данных между системами, базами данных. Ключевыми элементами являются входные/выходные данные, системы, точки хранения и сбора данных.
Зачем нужны DFD диаграммы?
DFD диаграммы в отличии от других нотаций позволяют визуально показать все процессы с точки зрения данных. Это может быть полезно:
при разработке информационной системы;
при интеграции системы;
при миграции данных и функционала с одной системы на другую;
в проектах, связанных с Data Management;
в процессе построения аналитического хранилища, BI-решения.
Диаграмма позволяет визуализировать как движение данных между объектами системы, так и преобразования данных, которые могут применяться на разных шагах процесса.
Элементы DFD диаграммы
Выделяют 4 элемента в диаграмме:
-
Процесс.
Процессы, при которых идет изменение потока данных (обработка, трансформация и др. изменения). Процесс как и в других диаграммах обычно прописывается с помощью глагола, например: “Отправка заполненной формы”.
-
Внешняя сущность.
Сущность (объект), которая получает или отправляете данные при взаимодействии с описанным процессом.
-
Хранилище данных.
Все хранилища данных или отдельные файлы, которые хранят исходные или выходные данные, а также все промежуточные хранилища.
-
Поток данных.
Поток данных, который отображает направление и сами данные, которые перемещаются между внешними сущностями и хранилищами данных с помощью процессов.
Несколько правил построения диаграмм:
Процесс должен иметь входной и выходной поток данных.
Хранилища данных также должны иметь входные и выходные потоки данных.
Данные с внешних сущностей должны обязательно проходить через процесс чтобы попасть в хранилище.
В DFD диаграммах также выделяют 2 разные нотации. Поэтому стоит обращать внимание на условные обозначения каждого элемента в зависимости от используемой нотации. Ниже представил картинку сравнения элементов разных нотаций.
Уровни DFD Диаграммы
В зависимости от цели использования диаграммы можно отображать различные уровни детализации процесса. К примеру, для разговора и презентации процесса бизнес-пользователям и заказчикам, им важно понимать контекст и логику самого процесса, иногда нет смысла погружать их в технические моменты реализации. С другой стороны, при разговоре с технической командой важно сделать акцент на реализации решения с технической точки зрения.
Как и в ER-диаграмме для моделей данных, которая включает в себя несколько слоев отображения (концептуальный, логический, физический), DFD диаграммы также можно делить на подобные уровни:
Концептуальный (или контекстный) уровень.
Показывает общее описание процесса, который реализуется при потоке данных. Отображает абстрактно потоки данных, связанные с разными внешними сущностями
Логический уровень.
Отображает логику преобразования данных в системе в каждом процессе, описывает. Видны входные, промежуточные, выходные данные в каждом процессе, который протекает от внешней сущности до хранилищ данных. Больше указывает на вопрос “Что включает в себя процесс потока и обмена данными со стороны бизнеса?”
Физический уровень.
Включают точное отображение хранилищ данных, названий сущностей данных. Диаграмма физического уровня должна отвечать на вопрос “Как будет реализован процесс передачи и потока данных?”
Также часто в других источниках можно увидеть разделение уровней диаграммы на 0,1, 2, 3 и так далее, в зависимости от уровня детализации.
Если мы говорим про разработку нового решения, то важно понять “что мы имеем сейчас” (AS-IS) и “что мы желаем получить” (TO-BE). Другими словами, мы разделяем наше текущее состояние и желаемое состояние, которое мы хотим получить с помощью нашего решения.
AS-IS
Описываем текущую логическую диаграмму.
TO-BE
Описываем желаемую логической диаграмму с новой логикой и требования от бизнеса. После этого из желаемой логической диаграммы описываем физическую с новым техническим решением.
Комментарии (7)
ap1973
31.05.2022 15:22+1Статья уж больно короткая, выглядит как "ни о чём". Потому и поняли не правильно, т.к. тема не модная уже бог знает сколько лет. Лет 25 назад было море книжек, в которых диаграммы, их виды, были описаны несколько лучше, дана соответствующая тер.база. Ну и IDEF надо было бы упомянуть, как более распространенную альтернативу.
makar_crypt
Я думал сейчас будут модные Таблео , Апач airflow и прочие визуальные DataFlow ili ETL , а тут всё очень ...
tzlom
А я думал что за фигня тут будет, и не был разочарован.
daniil_dzheparov Автор
такие комментаторы на хабре как отдельный вид садомазохизма) из темы, которую хочет раскрыть автор для конкретной группы читателей, попытаться выкрутить другую тему которая интересна вам - ну так себе подход.
Vindicar
Ваш комментарий оказался полезнее статьи. Термины записал, поищу что почитать.
tas
Допиши тогда в список Apache NiFi и Talend Open Studio. Это ETL конструкторы, на которых можно все, что угодно накрутить...
daniil_dzheparov Автор
а по теме статьи непонятно сразу стало, что речь про эти инструменты не пойдет? если работаете с бизнес-заказчиками, то можете понять, что для них то что можно накрутить в табло и других инструментах, не имеет никакого смысла. проще иногда на коленке рисунок нарисовать и принести показать концепт с помощью определенной нотации, а уже потом идти и реализовывать это в перечисленных инструментах