Если вы грамотно выбрали программу для составления диаграмм DFD, вы без труда разберетесь в течении информационных потоков по своим системам. В этом руководстве вы найдете всю необходимую информацию о диаграммах DFD, включая основные определения, историю возникновения, а также символы и способы нотации. Вы познакомитесь с разными уровнями диаграмм DFD, научитесь различать их логические и физические варианты, а также найдете полезные советы по составлению диаграмм этого типа.
Читается за 10 мин.
Хотите создать собственную диаграмму? Попробуйте Lucidchart. Это быстро, легко и совершенно бесплатно.
Что такое диаграмма DFD?
Диаграмма DFD наглядно отображает течение информации в пределах процесса или системы. Для изображения входных и выходных данных, точек хранения информации и путей ее передвижения между источниками и пунктами доставки в таких диаграммах применяются стандартные фигуры, такие как прямоугольники и круги, а также стрелки и краткие текстовые метки. Диаграммы DFD варьируются от простейших набросков процессов (включая нарисованные вручную) до подробных многоуровневых схем с глубоким анализом способов обработки данных. Диаграммы DFD применяются для анализа существующих и моделирования новых систем. В лучших традициях визуализации данных диаграммы DFD часто наглядно «рассказывают» о процессах, которые сложно объяснить словами, и позволяют эффективно донести информацию и до «физиков», и до «лириков», то есть до всех участников организации — от разработчиков до генеральных директоров. Вот почему диаграммы DFD не утратили популярности за долгие годы существования. Однако стоит упомянуть, что хотя диаграммы DFD отлично подходят для программ и систем потоков данных, в наши дни они далеко не всегда отвечают требованиям ПО и систем, ориентированных на интерактивность, работу в реальном времени и базы данных.
Символы и способы нотации диаграмм DFD
Самые распространенные системы нотации DFD-схем названы в честь их создателей:
- Йордон и Коуд;
- Йордон и Де Марко;
- Гейн и Сарсон.
Основное различие между этими системами заключается в том, что методы Йордона-Коуда и Йордона-Де Марко для обозначения процессов применяют круги, а метод Гейна-Сарсона — прямоугольные блоки со скругленными углами (которые иногда называют «конфетками»). Безусловно, у этих методов имеются и другие различия. Главное — четко придерживаться выбранной системы нотации при работе с другими участниками проекта.
Подчиняясь правилам и инструкциям выбранной системы, символы отображают четыре компонента диаграммы DFD:
- Внешние сущности — внешние системы, из которых поступает или куда направляется информация в результате взаимодействия с изображаемой системой. Иными словами, это источники и пункты доставки информации, которая приходит или уходит из системы. Такими сущностями могут быть внешние организации, лица, компьютерные или бизнес-системы. Эти сущности также имеют другие названия, например, «терминаторы», «источники», «приемники» или «агенты», и, как правило, располагаются по краям схемы.
- Процессы — любые процессы, которые ведут к изменению информации и созданию выходных данных. Например, выполнение подсчетов, сортировка данных согласно установленной логике или направление информационного потока в соответствии с бизнес-правилами. Для описания процессов используются краткие метки, например, «Отправка платежа».
- Хранилища данных — файлы или репозитории, где хранится информация для последующего использования, например, базы данных или формы заявки на участие. Хранилища данных сопровождаются простыми метками, например, «Заказы».
- Потоки дан ных — маршруты, по которым информация перемещается между внешними сущностями, процессами и хранилищами данных. Потоки данных иллюстрируют взаимодействие между другими компонентами и отображаются в виде стрелок, как правило, с краткими метками, например, «расчетная информация».

Правила и советы по построению диаграмм DFD
- Каждый процесс должен сопровождаться как минимум одним входным и одним выходным потоком;
- В каждое хранилище должен впадать как минимум один поток данных и как минимум один — вытекать;
- Данные, хранимые в системе, должны проходить через процесс;
- Каждый процесс диаграммы DFD должен вести либо к другому процессу, либо к хранилищу данных.
Уровни и слои DFD-схем: от контекстных схем до псевдокода
С помощью слоев и уровней диаграмму DFD можно дополнять всё большими и большими подробностями, фокусируя внимание на одном конкретном участке. Уровни диаграммы обозначаются цифрами 0, 1 или 2, причем иногда нумерация может продолжаться (3 и так далее). Необходимый уровень детализации зависит от стоящих перед вами целей.
- DFD 0-го уровня также называется контекстной схемой. Это простейший способ изображения анализируемых или моделируемых систем и процессов. Такие схемы показывают общую картину и представляют систему в виде единого процесса, наделенного связями с внешними сущностями. Схемы 0-го уровня будут понятны широкой аудитории, включая участников проекта, бизнес-аналитиков и разработчиков;
- DFD 1-го уровня дает более детальное представление об элементах контекстной схемы. Разбив обобщенный процесс контекстной схемы на подпроцессы, вы тем самым сможете выделить основные функции системы;
- DFD 2-го уровня обеспечивает еще более глубокое погружение в систему. Однако чтобы достаточно подробно описать ее устройство, вам придется включить в схему немного больше текста;
- Детализация 3-го, 4-го и более глубоких уровней возможна, но составители схем редко идут дальше 3-го уровня, так как излишняя сложность препятствует эффективному сравнению, моделированию и передаче информации.
Слои позволяют собрать выпадающие уровни непосредственно в DFD-схеме: такой метод сочетает глубокий анализ с ясностью изложения.
При достаточно высокой детализации разработчики и дизайнеры могут применить диаграммы DFD для написания псевдокода, который представляет собой сочетание программного и естественного языка. Задача псевдокода — упростить работу по написанию полноценного кода.
Создание диаграмм быстро и легко с Lucidchart. Начните бесплатную пробную версию сегодня, чтобы начать создавать и сотрудничать.
Сделать диаграммуПримеры применения схем потоков данных
Диаграммы DFD отлично подходят для анализа и моделирования систем в различных областях.
DFD в разработке программного обеспечения. Именно в этой сфере в 70-х годах прошлого века начали широко применяться диаграммы DFD. Всё дело в том, что DFD обеспечивает сфокусированный подход на этапе технической разработки, где очень важно собрать и проанализировать информацию, прежде чем приступить непосредственно к написанию кода.
DFD в бизнес-аналитике. Специалисты полагаются на диаграммы DFD для анализа существующих систем и выявления в них участков с низкой эффективностью. Схематичное представление процесса позволяет обнаружить в нем шаги, которые иначе легко упустить или сложно осмыслить.
DFD в реорганизации бизнес-процессов. Диаграммы DFD можно применять для моделирования более удобных и эффективных маршрутов перемещения данных в пределах бизнес-процесса. Метод реорганизации бизнес-процессов (BPR) зародился в 90-х годах XX века с целью снизить операционные расходы, а также повысить качество обслуживания клиентов и конкурентоспособность компании на рынке.
DFD в гибкой разработке. Диаграммы DFD позволяют лучше понять и наглядно представить рабочие и технические требования проекта и спланировать дальнейшие шаги. Поэтому они могут очень пригодиться в качестве мощного инструмента для обсуждения и координации совместных усилий в целях сосредоточенной быстрой разработки.
DFD в структурах систем. Любые процессы и системы можно проанализировать с детализацией по нарастающей. Это поможет оптим изировать их как с технической, так и с других точек зрения.
DFD и UML: в чем отличие?
Диаграммы DFD наглядно показывают перемещение данных по системе, тогда как UML — это язык моделирования, применяемый в объектно-ориентированной разработке программ с целью показать проект в деталях. Бесспорно, диаграмма DFD может стать отличной отправной точкой для работы, однако когда дело дойдет именно до создания системы, разработчикам удобнее обратиться к диаграммам UML (например, диаграммам классов или структуры) и уже с их помощью добиться желаемого уровня детализации.
Логические и физические диаграммы DFD
Диаграммы DFD подразделяются на две категории. Логические диаграммы DFD наглядно показывают перемещение потока данных, жизненно важных для функционирования организации. В центре внимания таких ди аграмм — сам бизнес и необходимая ему информация, а не то, как работает или должна работать система. В отличие от них, физические диаграммы DFD иллюстрируют как раз текущее или планируемое устройство системы. К примеру, в логической диаграмме DFD в качестве процессов выступают разные виды коммерческой деятельности, а в физической — программы и ручные процедуры.
Нужна дополнительная информация? Читайте наш подробный анализ различий между логическими и физическими DFD-схемами.
Как создать диаграмму DFD
1. Ввод и вывод информации
Большинство процессов и систем начинаются с ввода информации из внешнего источника и заканчиваются выводом данных в другую сущность или базу. Выявив ключевые пункты ввода и вывода информации, вы получите общую картину своей системы и ее основных задач. Важно определиться с вводом и выводом информа ции на раннем этапе работы, так как это тот самый фундамент, на котором будет выстраиваться оставшаяся часть вашей диаграммы DFD.
2. Создание контекстной схемы
После того как вы определились с основными пунктами ввода и вывода информации, дальнейшее построение контекстной схемы не составит труда. Добавьте узел единичного процесса и соедините его с необходимыми внешними сущностями. Этот узел символизирует самый обобщенный процесс, через который проходит информация от ввода до вывода.
На примере ниже показано, как информация перемещается между разными сущностями через онлайн-сообщество. Данные поступают из одних внешних сущностей и направляются в другие — это и есть ввод и вывод информации. Ну а центральный узел, «онлайн-сообщество», представляет собой общий процесс.
3. Расширение контекстной схемы до DFD 1-го уровня
Узел единичного процесса, представленный в вашей контекстной диаграмме, дает довольно скудное представление о системе, поэтому рекомендуем разбить его на подпроцессы. Диаграмма DFD 1-го уровня должна включать несколько узлов процессов, а также основ ные базы данных и все внешние сущности. Отследите путь информационного потока: откуда поступает информация и что с ней должно случиться до перехода к очередному хранилищу?
4. Углубление диаграммы DFD до 2-го уровня и далее
Если вы хотите создать более подробную схему потока данных, следуйте инструкции из пункта 3. Процессы, входящие в состав диаграммы DFD 1-го уровня, можно точно так же разбить на более подробные подпроцессы. Опять же, не забудьте включить в диаграмму все необходимые хранилища и потоки данных. На этом этапе вы должны получить довольно подробную картину своей системы. Однако если вы решите углубить диаграмму дальше 2-го уровня, просто повторите описанный выше процесс. Когда диаграмма достигнет желаемого уровня детализации, с разбивкой можно закончить.
5. Проверка окончательной схемы
Когда схема будет готова, проверьте ее от начала до конца. Обращайте особое внимание на течение информации: логично ли всё изложено? Все ли хранилища данных на месте? Финальный вариант схемы должен давать четкое представление о том, как устроена ваша система. Поэтому, прежде чем организовать презентацию окончательного варианта схемы, попросите коллег проверить, достаточно ли доходчиво она составлена.

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