Что такое диаграмма потоков и для чего ее используют

Блог о бизнес-процессах и BPMN

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

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

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

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

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

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

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

DFD показывает источник информации, определяет, какие сведения необходимы, порядок обработки и место отправления результатов. Т. е. данная нотация сфокусирована не столько на процессе, сколько на движении информационного потока.

Как и любая другая нотация, DFD имеет достоинства и недостатки.

Главным преимуществом нотации является отсутствие требований к соблюдению правил и синтаксиса. Нотация не является исполнимой, она используется для формирования внутреннего понимания, структурирования и последующей работы с данными.

Кроме того, важными положительными характеристиками являются:

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

Символы и синтаксис диаграмм

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

Нотация включает в себя 4 основных элемента:

Уровни и слои

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

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

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

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

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

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

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

Логические и физические диаграммы

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

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

Примеры применения схем потоков данных

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

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

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

Как создать диаграмму потоков данных

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

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

Первым этапом построения модели становится разработка контекстной диаграммы, которая отображает основной процесс, а также показывает то, как он связан с внешней средой. Эта связь выражена в потоках данных. Контекстная диаграмма может отображать несколько основных процессов.

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

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

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

Некоторые потоки данных, могут не иметь имен. Это даст возможность снизить уровень насыщенности модели.

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

Правила и советы по построению диаграмм

Для создания DFD диаграммы необходимо соблюдать ряд правил:

Шаблоны и примеры диаграмм DFD

Диаграмма DFD может носить логический или физический характер.

На схеме ниже представлена логическая схема, в которой все внимание сконцентрировано на компании.

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Следующая схема – пример физической диаграммы. Здесь рассмотрена конкретная система и представлены действия, необходимые для ее работы.

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Нулевой уровень – контекстная схема, представленная на следующем рисунке.

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

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

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

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

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

Источник

Что такое диаграмма потоков и для чего ее используют

Тема 6. Диаграммы потоков данных

Диаграммы потоков данных (Data Flow Diagrams — DFD) представляют собой иерархию функциональных процессов, связанных потоками данных. Цель такого представления — продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.

Для построения DFD традиционно используются две различные нотации, соответствующие методам Йордона-ДеМарко и Гейна-Сэрсона. Эти нотации незначительно отличаются друг от друга графическим изображением символов (далее в примерах используется нотация Гейна-Сэрсона).

В соответствии с данным методом модель системы определяется как иерархия диаграмм потоков данных, описывающих асинхронный процесс преобразования информации от ее ввода в систему до выдачи потребителю. Источники информации (внешние сущности) порождают информационные потоки (потоки данных), переносящие информацию к подсистемам или процессам. Те, в свою очередь, преобразуют информацию и порождают новые потоки, которые переносят информацию к другим процессам или подсистемам, накопителям данных или внешним сущностям — потребителям информации.

Диаграммы верхних уровней иерархии (контекстные диаграммы) определяют основные процессы или подсистемы с внешними входами и выходами. Они детализируются при помощи диаграмм нижнего уровня. Такая декомпозиция продолжается, создавая многоуровневую иерархию диаграмм, до тех пор, пока не будет достигнут уровень декомпозиции, на котором детализировать процессы далее не имеет смысла.

[Грошев А. Основы работы с базами данных: http://www.intuit.ru/studies/courses/93/93/info]

Состав диаграмм потоков данных

Основными компонентами диаграмм потоков данных являются:

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

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

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Рисунок 1. Графическое изображение внешней сущности

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

Подсистема (или система) на контекстной диаграмме изображается так, как она представлена на Рис. 2.

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Рисунок 2. Подсистема по работе с физическими лицами (ГНИ — Государственная налоговая инспекция)

Номер подсистемы служит для ее идентификации. В поле имени вводится наименование подсистемы в виде предложения с подлежащим и соответствующими определениями и дополнениями.

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

Процесс на диаграмме потоков данных изображается, как показано на Рис. 3.

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Рисунок 3. Графическое изображение процесса

Номер процесса служит для его идентификации. В поле имени вводится наименование процесса в виде предложения с активным недвусмысленным глаголом в неопределенной форме (вычислить, рассчитать, проверить, определить, создать, получить), за которым следуют существительные в винительном падеже, например: «Ввести сведения о налогоплательщиках», «Выдать информацию о текущих расходах», «Проверить поступление денег».

Информация в поле физической реализации показывает, какое подразделение организации, программа или аппаратное устройство выполняет данный процесс.

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

Накопитель данных может быть реализован физически в виде микрофиши, ящика в картотеке, таблицы в оперативной памяти, файла на магнитном носителе и т.д. Накопитель данных на диаграмме потоков данных изображается, как показано на Рис. 4.

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Рисунок 4. Графическое изображение накопителя данных

Накопитель данных идентифицируется буквой «D» и произвольным числом. Имя накопителя выбирается из соображения наибольшей информативности для проектировщика.

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

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

Поток данных на диаграмме изображается линией, оканчивающейся стрелкой, которая показывает направление потока (Рис. 5). Каждый поток данных имеет имя, отражающее его содержание.

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Рисунок 5. Поток данных

Построение иерархии диаграмм потоков данных

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

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

Для проверки контекстной диаграммы можно составить список событий. Список событий должен состоять из описаний действий внешних сущностей (событий) и соответствующих реакций системы на события. Каждое событие должно соответствовать одному или более потокам данных: входные потоки интерпретируются как воздействия, а выходные потоки — как реакции системы на входные потоки.

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

Для каждой подсистемы, присутствующей на контекстных диаграммах, выполняется ее детализация при помощи DFD. Это можно сделать путем построения диаграммы для каждого события. Каждое событие представляется в виде процесса с соответствующими входными и выходными потоками, накопителями данных, внешними сущностями и ссылки на другие процессы для описания связей между этим процессом и его окружением. Затем все построенные диаграммы сводятся в одну диаграмму нулевого уровня.

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

[Базы данных: Учебник для высших учебных заведений /Под ред. проф. А.Д. Хомоненко. – Спб.: КОРОНА принт, 2000. –416с. Стр. 147–161.]

Спецификация является конечной вершиной иерархии DFD. Решение о завершении детализации процесса и использовании спецификации принимается аналитиком исходя из следующих критериев:

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

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

При построении иерархии DFD переходить к детализации процессов следует только после определения содержания всех потоков и накопителей данных, которое описывается при помощи структур данных. Для каждого потока данных формируется список всех его элементов данных, затем элементы данных объединяются в структуры данных, соответствующие более крупным объектам данных (например, строкам документов или объектам предметной области). Каждый объект должен состоять из элементов, являющихся его атрибутами. Структуры данных могут содержать альтернативы, условные вхождения и итерации. Условное вхождение означает, что данный компонент может отсутствовать в структуре (например, структура «данные о страховании» для объекта «служащий»). Альтернатива означает, что в структуру может входить один из перечисленных элементов. Итерация означает вхождение любого числа элементов в указанном диапазоне (например, элемент «имя ребенка» для объекта «служащий»). Для каждого элемента данных может указываться его тип (непрерывные или дискретные данные). Для непрерывных данных могут указываться единица измерения, диапазон значений, точность представления и форма физического кодирования. Для дискретных данных может указываться таблица допустимых значений.

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

При моделировании бизнес-процессов диаграммы потоков данных (DFD) используются для построения моделей «AS-IS» и «AS-TO-BE», отражая, таким образом, существующую и предлагаемую структуру бизнес-процессов организации и взаимодействие между ними. При этом описание используемых в организации данных на концептуальном уровне, независимом от средств реализации базы данных, выполняется с помощью модели «сущность-связь».

[Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем: Учебник / Под ред. Ю.Ф. Тельнова. – М.: Финансы и статистика, 2002.]

Ниже перечислены основные виды и последовательность работ при построении бизнес-моделей с использованием методики Йордона:

1. Описание контекста процессов и построение начальной контекстной диаграммы.

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

2. Спецификация структур данных.

Определяется состав потоков данных и готовится исходная информация для построения концептуальной модели данных в виде структур данных. Выделяются все структуры и элементы данных типа «итерация», «условное вхождение» и «альтернатива». Простые структуры и элементы данных объединяются в более крупные структуры. В результате для каждого потока данных должна быть сформирована иерархическая (древовидная) структура, конечные элементы (листья) которой являются элементами данных, узлы дерева являются структурами данных, а верхний узел дерева соответствует потоку данных в целом.

3. Построение начального варианта концептуальной модели данных.

Для каждого класса объектов предметной области выделяется сущность. Устанавливаются связи между сущностями и определяются их характеристики. Строится диаграмма «сущность-связь» (без атрибутов сущностей).

4. Построение диаграмм потоков данных нулевого и последующих уровней.

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

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

Декомпозируются сложные процессы и проверяется соответствие различных уровней модели процессов.

Накопители данных описываются посредством структур данных, а процессы нижнего уровня — посредством спецификаций.

5. Уточнение концептуальной модели данных.

Определяются атрибуты сущностей. Выделяются атрибуты-идентификаторы. Проверяются связи, выделяются (при необходимости) связи «супертип-подтип».

Проверяется соответствие между описанием структур данных и концептуальной моделью (все элементы данных должны присутствовать на диаграмме в качестве атрибутов).

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

Источник

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

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

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

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

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

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

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

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

Что такое диаграмма потоков и для чего ее используют. Смотреть фото Что такое диаграмма потоков и для чего ее используют. Смотреть картинку Что такое диаграмма потоков и для чего ее используют. Картинка про Что такое диаграмма потоков и для чего ее используют. Фото Что такое диаграмма потоков и для чего ее используют

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

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

Как создавать нотации 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-нотаций может быть сложно.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *