Что такое DFD (диаграммы потоков данных)

Подробное описание DFD (диаграмм потоков данных). Определение и методы использования. Зачем нужны DFD-нотации, где они применяются на практике, и как их быстро создавать. Вопросы и ответы по DFD-нотациям. Простые методы работы с DFD.


  1. Зачем нужна нотация DFD?
  2. Как создавать нотации DFD
  3. Где используются DFD нотации
  4. DFD нотации – это просто!
  5. Вопросы и ответы

Что такое DFD (диаграммы потоков данных)

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

DFD — общепринятое сокращение от англ. data flow diagrams — диаграммы потоков данных. Так называется методология графического структурного анализа, описывающая внешние по отношению к системе источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ. Диаграмма потоков данных (data flow diagram, DFD) — один из основных инструментов структурного анализа и проектирования информационных систем, существовавших до широкого распространения UML. Википедия

По моему мнению, определение из русскоязычной Википедии, несколько перегружено информацией и, в результате, излишне сложно для понимания. Кроме того, лично я считаю, что DFD и UML - это разные инструменты, а потому некорректно утверждать, что DFD - это просто предшественник UML.

Для себя я вывел следующую формулировку:

DFD – это нотация, предназначенная для моделирования информационный систем с точки зрения хранения, обработки и передачи данных.

Есть задача по моделированию? Напишите мне или позвоните по телефону +7(495)320-50-40, я помогу Вам разобраться!

Написать

Зачем нужна нотация DFD?

Исторически синтаксис этой нотации применяется в двух вариантах - Йордана (Yourdon) и Гейна-Сарсона (Gane-Sarson). Различия между ними – в таблице ниже:

Варианты синтаксиса нотаций DFD

Сам я пользуюсь только одним из вариантов, по Гейну и Сарсону. Но когда я изучал материал перед написанием этой статьи, я увидел эту таблицу сравнения. Считаю, что она важна не столько для выбора варианта синтаксиса, он будет зависеть, скорее от выбора программного обеспечения для создания нотаций и ваших личных предпочтений, сколько как наглядная иллюстрация того факта, что в DFD нет жесткого синтаксиса, как, например, в BPMN. Здесь можно использовать разные варианты, главное, чтобы они были понятны вам и вашим клиентам. Нотации DFD - удобный инструмент для создания нерегламентированных диаграмм, которые можно сделать быстро и с максимумом свободы.

Применяется этот вид нотации в случае, когда требуется описание системы как хранилища данных. Т.е. нотация должна наглядно ответить на вопросы:

  • Из чего состоит информационная система?
  • Что нужно, чтобы обработать информацию?

Непосредственно DFD нотация состоит из следующих элементов:

  • Процесс (англ. Process), т.е. функция или последовательность действий, которые нужно предпринять, чтобы данные были обработаны. Это может быть создание заказа, регистрация клиента и т.д. В названиях процессов принято использовать глаголы, т.е. «Создать клиента» (а не «создание клиента») или «обработать заказ» (а не «проведение заказа»). Здесь нет строгой системы требований, как, например, в IDEF0 или BPMN, где нотации имеют жестко определенный синтаксис, так как они могут быть исполняемыми. Но все же определенных правил стоит придерживаться, чтобы не вносить путаницу при чтении DFD другими людьми.
  • Внешние сущности (англ. External Entity). Это любые объекты, которые не входят в саму систему, но являются для нее источником информации либо получателями какой-либо информации из системы после обработки данных. Это может быть человек, внешняя система, какие-либо носители информации и хранилища данных.
  • Хранилище данных (англ. Data store). Внутреннее хранилище данных для процессов в системе. Поступившие данные перед обработкой и результат после обработки, а также промежуточные значения должны где-то храниться. Это и есть базы данных, таблицы или любой другой вариант организации и хранения данных. Здесь будут храниться данные о клиентах, заявки клиентов, расходные накладные и любые другие данные, которые поступили в систему или являются результатом обработки процессов.
  • Поток данных (англ. Data flow). В нотации отображается в виде стрелок, которые показывают, какая информация входит, а какая исходит из того или иного блока на диаграмме.

Нотация DFD может описывать любые действия, в том числе, процесс продажи или отгрузки товара, работу с заявками от клиентов или закупки материалов, с точки зрения описания системы. Эта нотация помогает понять, из чего должна состоять система, что нужно для автоматизации бизнес-процесса. Но DFD не является описанием непосредственно бизнес-процесса. Здесь, например, нет такого важного параметра, как время. Также в этой нотации не предусмотрены условия и «развилки». В DFD мы рассматриваем откуда появляются данные, какие данные нужны, их обработку и куда результаты отправить. Т.е. в этой нотации описывается не столько непосредственно процесс, сколько движение потоков данных. Для работы с процессами я рекомендую использовать BPMN или IDEF3 (о ней я расскажу в другой раз).

Как создавать нотации DFD

Давайте для примера рассмотрим нотацию автоматизации продаж. Допустим, у нас есть клиент, который делает заявку через сайт или по телефону. Есть менеджер, который регистрирует эту заявку. Таким образом, в системе появляются данные – клиент и его заказ. Работник склада должен это увидеть и произвести отгрузку товара с оформлением всех необходимых документов и передать документы клиенту.

Последовательность получается такая:

  1. Клиент предоставляет свои данные и заявку.
  2. Менеджер проверяет и вносит полученные данные в систему.
  3. Работник склада формирует документы, например, расходную накладную, и отгружает товар.
  4. Клиент получает товар и пакет документов к нему.

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

С точки зрения DFD у нас имеются:

  • Покупатель – это внешняя сущность, которая является источником данных и получением результата.
  • Процесс обработки заказа (подтверждение и проводка данных в системе менеджером).
  • Сбор заказа на складе (после получения заявки).
  • Оформление отгрузки (создание необходимых документов).

Какие правила необходимо знать, чтобы создать DFD диаграмму:

  • Каждый процесс должен иметь один вход и один выход. Смысл процессов здесь заключается в обработке данных, а потому процесс должен получить данные (входящая стрелка) и отдать куда-то после обработки (исходящая стрелка);
  • Процесс обработки данных должен иметь внешнюю входящую стрелку (данные от внешней сущности). Для того, чтобы любой подобный процесс начал работать, мало использовать данные из хранилища, должна поступить новая информация для последующей обработки;
  • Стрелки не могут связывать напрямую хранилища данных, все связи идут через процессы. Нет смысла просто перемещать данные из одного места в другое, а именно так читается прямая связь двух хранилищ стрелкой. Данные поступают для того, чтобы производились какие-то действия, в нашем примере – осуществлялся процесс продажи. А это возможно только посредством обработки (процесса);
  • Все процессы должны быть связаны либо с другими процессами, либо с другими хранилищами данных. Процессы не существуют сами по себе, а потому результат должен куда-то передаваться;
  • Декомпозиция. В DFD-диаграммах предусмотрена возможность создавать крупные процессы и декомпозировать их на подпроцессы с подробным описанием действий. Например, мы можем создать процесс «создание заявки», который потом декомпозировать на последовательность действий, например, на получение заявки, отдельно – проверку и получение данных клиента, если товар в интернет-магазине продается под заказ, то также при формировании заявки потребуется получить данные от поставщика о наличии нужных наименований и т.д. И тогда на верхней диаграмме у нас будет блок «обработка заявки», а при декомпозировании мы получим диаграмму с подробной последовательностью действий на этом этапе. При этом ни на одном этапе у нас не будет условий и ветвления. Будет процесс и его декомпозиция глубиной до 3-4 уровней.

Как будет выглядеть диаграмма (без декомпозиции, верхний уровень):

Диаграмма процесса продаж

И декомпозиция основного элемента нашей диаграммы:

Детализация диаграммі

Где используются DFD нотации

DFD-диаграммы активно применяются при разработке программного обеспечения. При этом:

  • хранилища данных – это электронные таблицы и базы данных,
  • внешние сущности – клиенты или другие базы данных, в том числе, из других программ (интеграция и обмен данными),
  • процессы – это выполняемые функции и модули в системе.

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

Например, для выявления проблем документооборота, дублирования документов или, наоборот, недостающей документации или электронных данных в системе, очень удобно создать отдельно – описание бизнес-процесса, а потом к нему – DFD-нотацию. Либо наоборот, предварительно для понимания основ работы бизнеса и особенностей реализации документооборота создается DFD-нотация. Она помогает выявить, например, отсутствие в системе автоматизации важных документов, которые на самом деле создаются (на бумаге), но в системе никак не отображаются. А потом уже строится оптимизированный бизнес-процесс с учетом выявленных нюансов документооборота.

DFD нотации – это просто!

Я считаю, что DFD нотации – это действительно много проще, чем это кажется на первый взгляд. Главное, четко понимать ограничения построения этого типа диаграмм (отсутствие условий, времени и т.д.) и применять их там, где именно такой подход окажется удобнее. Возможно, вы найдете собственные варианты применения DFD, которые я выше не описал. В моем перечне присутствуют только те варианты, которые я использую на практике.

Что в DFD-нотациях особенно удобно, здесь не обязательно придерживаться строгих правил и синтаксиса, как, например, в BPMN. Эти нотации не будут исполнимыми, они нужны для понимания особенностей документооборота, структуры и последующей работы с данными. А потому, если ваша диаграмма понятна и вам, и заказчику, какие-то отступления от стандартов DFD вполне допустимы.

Рисовать диаграммы DFD можно, в принципе, где и как вам удобнее. Но если вы хотите работать с декомпозицией, выстраивать систему на разных уровнях детализации, то «рисовалки» (Visio, Paint и тому подобные) придется забыть. Вам потребуются специализированные программы для моделирования.

Лично я пользуюсь программой ERwin и всем ее рекомендую. Одна из причин моего выбора – это особенности декомпозиции. В ERwin, как и в некоторых других подобных системах, существует возможность декомпозирования DFD-процессов в формате IDEF3, т.е. основная диаграмма будет в формате DFD, и на самом общем уровне вы будете видеть основные потоки данных и «узлы» их обработки. А при декомпозиции вы сможете использовать уже процессный подход, что также бывает очень удобно для разработки крупных систем или работе с разными подразделениями бизнеса.

Вопросы и ответы

В чем разница между DFD и UML?

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

Если вы - разработчик, и знаете UML, волне возможно, что даже какие-то предварительные решения вам будет удобнее создавать в этой нотации. А для бизнес-консультанта DFD всегда будет удобнее в качестве инструмента, так как бизнес-консультанту не требуется подробное описание функций с точки зрения автоматизации, это - задача технических специалистов. Зато время и силы DFD значительно экономит.

При этом не стоит рассматривать DFD как упрощенный вариант UML. Не смотря на схожесть в подходе, это - разные инструменты, предназначенные для разных целей.

Какое количество элементов может использоваться в DFD?

В отличие от систем с жестким синтаксисом и регламентом, в DFD нет ограничения по количеству элементов, которые могут находиться на одной диаграмме. Для сравнения: в IDEF0 количество таких элементов , дальше - только детализация (декомпозиция) или разные нотации.

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

Можно ли использовать нотации DFD для работы с клиентами?

В принципе, запретить это делать никто не может. Более того, в ограниченных количествах как иллюстрацию к каким-то вашим пояснениям такие нотации прекрасно подойдут и при обсуждении особенностей проекта с клиентом. Но все же, клиенты обычно слабо разбираются в вопросах автоматизации, структуре хранения данных, возможностях обработки и т.д. Это все находится в компетенции разработчиков. А нотации DFD строятся с учетом особенностей работы с данными, потому я все же рекомендую применять их преимущественно при обсуждении проекта специалистами, при создании технического описания и задания разработчикам, для повышения понимания именно разработчиками сути и особенностей проекта. Неподготовленному заказчику даже объяснить особенности DFD-нотаций может быть сложно.


Меня зовут Рамиль Кинзябулатов, бизнес консультант. Я люблю свою работу и считаю свои призванием делать работу людей эффективнее.


Путь покупателя интернет-магазина ( Customer Journey ) с использованием УФМТП

Недавно у меня вышла статья под названием «Универсальная функциональная модель торгового предприятия в нотации IDEF0». И одно из пожеланий читателей было пояснить подробнее, как я лично пользуюсь этой моделью и как вообще ее можно применять на практике. В этой статье я выполню просьбу читателей. И на примере взаимодействия покупателей с интернет-магазином продемонстрирую практическое применение этой модели.

Про процессный подход

Что такое процессный подход и процессное моделирование. Отличие процессного подхода от функциональной и других видов моделей. Преимущества процессного подхода, особенности и недостатки. Варианты нотаций - графика или текст.

УФМТП. Универсальная функциональная модель торгового предприятия в нотации IDEF0

Из чего состоит предприятие? Какие функции основные а какие нет? В данной статье вы найдете ответ на этот и другие вопросы. Модель построенная на основе опыта бизнес консультанта с использованием нотации IDEF0.

Что такое DFD (диаграммы потоков данных)

Подробное описание DFD (диаграмм потоков данных). Определение и методы использования. Зачем нужны DFD-нотации, где они применяются на практике, и как их быстро создавать. Вопросы и ответы по DFD-нотациям. Простые методы работы с DFD.

Поток в BPMN

Понятие потока, как и понятие токена, в BPMN активно используется, но при этом очень скупо поясняются. Так, в официальной документации понятию «токен» посвящено около двух абзацев. Если вам интересно разобраться, что это такое, смотрите мой видео урок, посвященный этому элементу, или читайте статью «Что такое токен в BPMN». Про поток в BPMN информации еще меньше. Потому я решил восполнить это явное упущение.

Устарел ли стандарт IDEF0

По роду своей деятельности мне достаточно часто приходилось слышать что IDEF0 устарел и в связи с этим не стоит его использовать. Давайте разберемся правы ли те кто говорит об устарении стандарта или нет.

Описание нотации IDEF3

Что из себя представляет нотация IDEF3. Из каких элементов состоит? Как используют эту нотацию и как она связана с IDEF0. О этом и многом другом вы узнаете из данной статьи.

Перевод стандарта IDEF0 с английского на русский язык

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

Критика понятия владелец бизнес процесса

Вопросы, связанные с таким понятием, как владелец бизнес-процесса, возникают очень часто. Я и сам их получаю регулярно как в группе на Facebook, так и в комментариях к своим публикациям. Люди спрашивают, как определить владельца бизнес-процесса, уточняют критерии его идентификации. Задают вопросы о том, что такое уровни и общий владелец BPMN и многие другие, связанные с понятием «владелец бизнес-процесса». В связи с этим я хотел бы пояснить свое видение ситуации с этим понятием.

Что такое бизнес: разговор по понятиям

Что означает термин «бизнес» - уточняем понятия и терминологию. История появления слова «бизнес» - на Западе и в России. Отличие бизнеса от трудовой деятельности. Бизнес в отношении к субъекту и объекту. Что такое бизнес-процессы и как с ними работать.

IDEF0. Знакомство с нотацией и пример использования

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

Как описать бизнес процесс

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

Оркестрация и Хореография

Понятие потока, как и понятие токена, в BPMN активно используется, но при этом очень скупо поясняются. Так, в официальной документации понятию «токен» посвящено около двух абзацев. Если вам интересно разобраться, что это такое, смотрите мой видео урок, посвященный этому элементу, или читайте статью «Что такое токен в BPMN». Про поток в BPMN информации еще меньше. Потому я решил восполнить это явное упущение.

Что такое бизнес-процесс и описание бизнес-процесса

Определение бизнес-процесса простыми словами и важные особенности процессного подхода. Когда необходим бизнес-процесс, методы моделирования бизнес-процессов и правила их описания. Примеры, ответы на частые вопросы.

Разбираемся с понятием BPM. Что такое управление бизнес процессами

Что такое управление бизнес-процессами (BPM) и зачем процессный подход нужен в бизнесе. История появления управления бизнес-процессами. Основные подходы и терминология – описание простыми словами. Процессный и функциональный подходы.

Что такое BPMS

Что такое BPMS система – определение и подробные пояснения. Как работать в BPMS системе с точки зрения разработчика и пользователя. Варианты реализации бизнес-процессов на практике. Преимущества процессного подхода при автоматизации бизнеса. Почему я рекомендую BPMN 2.0.

Как описать бизнес-процесс в нотации BPMN

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

Bizagi. Описание. Пример

Обзор программной системы Bizagi. Предназначение BPM-системы. Основные функции и возможности. Возможности моделирования, разработки бизнес-процессов, модуль исполнения. Настройки доступа. Подробное описание особенностей работы в Bizagi для пользователей и разработчиков.

Пример процессного подхода: предпроектное обследование промышленной компании. Пример BPMN диаграммы

Кейс. Пример процессного подхода при автоматизации промышленной компании. Предпроектное обследование бизнеса, методы автоматизации, описание бизнес-процесса, BPMN диаграмма.

Описание бизнес-процессов Как есть (AS IS) и Как должно быть (TO BE)

Почему так популярно мнение, что обязательно нужно создавать нотации AS IS? Истоки этого спорного утверждения. Почему нотации Как есть нужны далеко не всегда. В каких случаях их действительно важно создавать и применять, а когда проще обойтись без них.

Хореографии в BPMN

Хореография (Choreography) (без пулов и оркестраций) изображает ожидаемое поведение между участниками. В случае, когда процесс существует внутри пула, хореография существует между пулами или участниками.

Бизнес-аналитик – кто он?

Профессия бизнес-аналитика вызывает множество вопросов. Более того, в разных ситуациях под термином «бизнес-аналитик» понимают самых разных специалистов и, соответственно, ожидают разных компетенций и результатов. Я предлагаю разобраться в этом вопросе как можно подробнее.

Краткое описание BPMN с примером

Что такое BPMN – определение и подробное описание нотации. Из чего состоит BPMN, основные элементы бизнес-моделирования: как их правильно использовать. Различия между исполняемыми и неисполняемыми бизнес-процессами. Как работать с BPMN на практике.

Организация работы склада. Описание. BPMN схемы прилагаются

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

Точка зрения в модели IDEF0

В требованиях к диаграмме и построению модели в нотации IDEF0 есть требование, которое звучит так: любая диаграмма должна быть построена, исходя из точки зрения (Point of view) и цели (Scop). Именно этот вопрос, скажем так, один из основополагающих — точка зрения и цель. Соответственно, если мы хотим построить правильную диаграмму, нам необходимо выбирать правильно точку зрения.

Анализ бизнес-процессов

Мне очень часто задают вопрос, что такое анализ бизнес процессов, интересуются, как его проводить. Более того, моя работа с клиентами во многом заключается не только в моделировании бизнес-процессов, но и в анализе. И в этой статье я решил рассказать, как я понимаю, что такое анализ бизнес-процессов и зачем он нужен, а также как я его провожу.

Построение процессной модели при внедрении программного обеспечения

Описание процессного подхода для автоматизации бизнеса. Определяем идею (постановка задачи) и выбираем программную систему. Создаем BPMS модель процесса и ставим задачу разработчикам. Реализуем поставленную задачу оптимальным способом.

Спецификация BPMN 2. Перевод официальной документации.

Ко мне часто обращаются с вопросами по BPMN, и ответы я обычно черпаю из официальной документации. Для тех кто не владеет английским я буду размещать перевод спецификации BPMN с сайта omg.org/spec/BPMN/2.0.1 Перевод неполный, буду добавлять по мере готовности.

    Добавить комментарий