Привет всем!

Сегодня решил написать основную теорию про применение диаграмм потоков данных как одного из инструментов моделирования процессов.

Диаграмма отображает потоки данных между системами, базами данных. Ключевыми элементами являются входные/выходные данные, системы, точки хранения и сбора данных. 

Зачем нужны DFD диаграммы?

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

  • при разработке информационной системы;

  • при интеграции системы;

  • при миграции данных и функционала с одной системы на другую;

  • в проектах, связанных с Data Management;

  • в процессе построения аналитического хранилища, BI-решения.

Диаграмма позволяет визуализировать как движение данных между объектами системы, так и преобразования данных, которые могут применяться на разных шагах процесса.

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

Выделяют 4 элемента в диаграмме:

  1. Процесс.

    Процессы, при которых идет изменение потока данных (обработка, трансформация и др. изменения). Процесс как и в других диаграммах обычно прописывается с помощью глагола, например: “Отправка заполненной формы”.

  2. Внешняя сущность.

    Сущность (объект), которая получает или отправляете данные при взаимодействии с описанным процессом. 

  3. Хранилище данных.

    Все хранилища данных или отдельные файлы, которые хранят исходные или выходные данные, а также все промежуточные хранилища. 

  4. Поток данных.

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

Несколько правил построения диаграмм:

  • Процесс должен иметь входной и выходной поток данных.

  • Хранилища данных также должны иметь входные и выходные потоки данных.

  • Данные с внешних сущностей должны обязательно проходить через процесс чтобы попасть в хранилище.

В DFD диаграммах также выделяют 2 разные нотации. Поэтому стоит обращать внимание на условные обозначения каждого элемента в зависимости от используемой нотации. Ниже представил картинку сравнения элементов разных нотаций.

Уровни DFD Диаграммы

В зависимости от цели использования диаграммы можно отображать различные уровни детализации процесса. К примеру, для разговора и презентации процесса бизнес-пользователям и заказчикам, им важно понимать контекст и логику самого процесса, иногда нет смысла погружать их в технические моменты реализации. С другой стороны, при разговоре с технической командой важно сделать акцент на реализации решения с технической точки зрения. 

Как и в ER-диаграмме для моделей данных, которая включает в себя несколько слоев отображения (концептуальный, логический, физический), DFD диаграммы также можно делить на подобные уровни:

  • Концептуальный (или контекстный) уровень.

Показывает общее описание процесса, который реализуется при потоке данных. Отображает абстрактно потоки данных, связанные с разными внешними сущностями

  • Логический уровень.

Отображает логику преобразования данных в системе в каждом процессе, описывает. Видны входные, промежуточные, выходные данные в каждом процессе, который протекает от внешней сущности до хранилищ данных. Больше указывает на вопрос “Что включает в себя процесс потока и обмена данными со стороны бизнеса?”

  • Физический уровень.

Включают точное отображение хранилищ данных, названий сущностей данных. Диаграмма физического уровня должна отвечать на вопрос “Как будет реализован процесс передачи и потока данных?”

Также часто в других источниках можно увидеть разделение уровней диаграммы на 0,1, 2, 3 и так далее, в зависимости от уровня детализации.

Если мы говорим про разработку нового решения, то важно понять “что мы имеем сейчас” (AS-IS) и “что мы желаем получить” (TO-BE). Другими словами, мы разделяем наше текущее состояние и желаемое состояние, которое мы хотим получить с помощью нашего решения. 

AS-IS 

Описываем текущую логическую диаграмму.

TO-BE 

Описываем желаемую логической диаграмму с новой логикой и требования от бизнеса. После этого из желаемой логической диаграммы описываем физическую с новым техническим решением. 

Telegram канал про аналитику данных и бизнес-анализ

Комментарии (7)


  1. makar_crypt
    30.05.2022 22:21

    Я думал сейчас будут модные Таблео , Апач airflow и прочие визуальные DataFlow ili ETL , а тут всё очень ...


    1. tzlom
      31.05.2022 00:37
      +2

      А я думал что за фигня тут будет, и не был разочарован.


      1. daniil_dzheparov Автор
        31.05.2022 12:44

        такие комментаторы на хабре как отдельный вид садомазохизма) из темы, которую хочет раскрыть автор для конкретной группы читателей, попытаться выкрутить другую тему которая интересна вам - ну так себе подход.


    1. Vindicar
      31.05.2022 08:51
      -1

      Ваш комментарий оказался полезнее статьи. Термины записал, поищу что почитать.


      1. tas
        31.05.2022 09:56

        Допиши тогда в список Apache NiFi и Talend Open Studio. Это ETL конструкторы, на которых можно все, что угодно накрутить...


    1. daniil_dzheparov Автор
      31.05.2022 12:47

      а по теме статьи непонятно сразу стало, что речь про эти инструменты не пойдет? если работаете с бизнес-заказчиками, то можете понять, что для них то что можно накрутить в табло и других инструментах, не имеет никакого смысла. проще иногда на коленке рисунок нарисовать и принести показать концепт с помощью определенной нотации, а уже потом идти и реализовывать это в перечисленных инструментах


  1. ap1973
    31.05.2022 15:22
    +1

    Статья уж больно короткая, выглядит как "ни о чём". Потому и поняли не правильно, т.к. тема не модная уже бог знает сколько лет. Лет 25 назад было море книжек, в которых диаграммы, их виды, были описаны несколько лучше, дана соответствующая тер.база. Ну и IDEF надо было бы упомянуть, как более распространенную альтернативу.