Стандарт описания бизнес-процессов DFD (диаграмма потоков данных) используется для описания процессов верхнего уровня.
На диаграмме потоков данных показываются работы, которые входят в состав описываемого бизнес-процесса, а также входы и выходы каждой из работ. Данные входы и выходы представляют собой информационные либо материальные потоки. При этом выходы одной работы могут являться входами для других.
Входы и выходы, которые были показаны при описании окружения бизнес-процесса, являются внешними. Внешние входы на DFD-схеме поступают извне от поставщика процесса, а внешние выходы уходят наружу к клиенту процесса. При построении DFD- схемы бизнес-процесса их нужно перенести со схемы окружения процесса на DFD- диаграмму.
Для окончательного описания бизнес-процесса остается описать только внутренние информационные и материальные потоки. Каждый из них является выходом одной из работ и в то же время входом для другой (рис. 20).
Пример несовпадения временной последовательности работ и направления движения документа
Пример построения диаграммы потоков данных (Data Flow Diagram)
Рис. 20. Диаграмма потоков данных — DFD
При построении DFD-схемы бизнес-процесса нужно помнить, что данная схема показывает материальные и информационные потоки и не говорит о временной последовательности работ. В большинстве случаев временная последовательность работ совпадает с направлением движения потоков в бизнес-процессе. В общем случае это неверно, так как могут быть случаи, подобные примеру, приведенному на рис. 21.
Рис. 21. Пример несовпадения временной последовательности работ и направления движения документа
В данном примере вторая работа по времени начала выполняться раньше первой работы, но документ движется от первой работы ко второй. Именно поэтому стандарт DFD целесообразен для описания бизнес-процессов верхнего уровня или макропроцессов, когда в общем случае невозможно указать временную последовательность работ, так как все работы выполняются одновременно или существует несколько вариантов различных последовательностей, которые к тому же могут зависеть и от различных точек зрения.
Давайте рассмотрим пример бизнес-процесса, приведенный на рис. 22.
Рис. 22. Пример бизнес-процесса верхнего уровня
Если компания использует схему работы «на склад», то на вопрос: что происходит раньше — закупка продукции или ее продажа — могут быть даны два различных ответа в зависимости от двух различных ситуаций. Если конкретный продукт имеется на складе, то его закупка по времени первичней, чем продажа. Если, при обращении клиента, продукции на складе нет и клиент готов подождать, пока будет произведена закупка, то процесс продажи начинается по времени раньше, чем закупка, а заканчивается позже. Поэтому при описании данного бизнес-процесса и ему подобных целесообразно использовать DFD стандарт, который не делает акцент на временную последовательность работ.
Анна Вичугова . Практическое использование DFD: как описать движение данных в бизнес-процессах?
При построении DFD-схемы бизнес-процесса также нужно показать подразделения и должности, участвующие в работах процесса и отвечающие за их выполнение. Рекомендуется каждой работе присвоить номер или идентификатор, а также использовать два правила при формулировке названия работ.
Правило 1. Названия работы нужно формулировать согласно следующей формуле:
Название работы = Действие + Объект, над которым действие осуществляется.
Например, если эта работа представляет собой действие по продаже продукции, то ее нужно назвать «Продажа продукции», а еще лучше конкретизировать, что это за продукция. В данном случае «Продажа» — это действие, а «продукция» — объект, над которым действие по продаже производится.
Правило 2. При формулировании названия работы нужно стараться использовать краткую и лаконичную формулировку, что повысит эффективность дальнейшей работы по оптимизации бизнес-процесса. Идеальным вариантом является случай, когда название работы формулируется при помощи 2-3 слов. В крайнем случае, нужно стремиться использовать в названии не более 50 символов. В сложных случаях рекомендуется для
каждого краткого названия работы сделать ее подробное описание, которое поместить в глоссарий.
При формулировании названий материальных и информационных потоков также нужно использовать подобные правила. В данном случае второе правило используется без изменений, а первое правило выражается следующей формулой:
Название потока = Объект, представляющий поток + Статус объекта.
Например, если речь идет о продукции, которую отгрузили клиенту, то данный поток нужно сформулировать следующим образом — «Продукция отгруженная» или «Продукция, отгруженная клиенту». В данном случае «Продукция» — это объект, представляющий поток, а «отгруженная клиенту» — статус объекта.
При построении DFD-схемы бизнес-процесса необходимо использовать правило «7», согласно которому нужно выбрать такой уровень абстрагирования и детализации, при котором схема бизнес-процесса будет состоять в среднем из семи работ. Использование большей детализации и соответственно большего количества работ приведет к сильному усложнению схемы и снижению возможности проведения качественного анализа бизнес- процесса. Это в свою очередь вызвано тем, что человек может эффективно оперировать не более чем семью различными объектами. Использование небольшой детализации и меньшего количества работ на схеме бизнес-процесса приведет к тому, что работы будут излишне укрупненными и это также уменьшит возможность проведения их качественного анализа и оптимизации.
В случае если для достижения целей оптимизации бизнес-процесса требуется большая его детализация, то ее нужно сделать посредством проведения декомпозиции работ, составляющих процесс. Для этого каждую или некоторые работы процесса рассматривают как подпроцесс и описывают в виде отдельной схемы бизнес-процесса второго уровня (рис. 23).
При классическом подходе описания бизнес-процессов для разработанной схемы второго уровня может использоваться как DFD, так и WFD формат описания в зависимости от уровня и глобальности работы. Если работа глобальна и ее невозможно представить в виде временной последовательности более мелких работ, то используют DFD-стандарт ее описания. В противном случае работу целесообразно описать посредством WFD- модели.
Рис. 23. Декомпозиция бизнес-процесса
В случае необходимости работы на схеме процесса второго уровня могут быть декомпозированы на схемы бизнес-процессов третьего уровня и т.д. Декомпозиция бизнес-процесса должна продолжаться до тех пор, пока не будут достигнуты цели его описания. В данном случае удобно использовать понятия «вложенный процесс» или «подпроцесс». На рис.
23. процессная схема работы 3 является вложенным процессом или подпроцессом процесса верхнего уровня. Аналогичным образом процессные схемы работ 3.1 и 3.4 являются вложенными процессами или подпроцессами процесса второго уровня.
В итоге описание бизнес-процесса представляет собой иерархически упорядоченный набор DFD и WFD-схем, в котором схемы верхнего уровня ссылаются на схемы нижнего уровня. При этом схемы DFD, используемые на более высоких уровнях, декомпозируются или ссылаются на схемы DFD и WFD. Схемы WFD, используемые на более низких уровнях, декомпозируются или ссылаются только на схемы WFD.
Источник: cyberpedia.su
Описание бизнес-процесса с помощью Data Flow Diagram
Data Flow Diagram (диаграмма потоков данных) обеспечивает анализ требований и функциональное проектирование информационных систем [3]. DFD описывают работы, из которых состоит моделируемый бизнес-процесс, а также входы и выходы каждой из работ. Входы и выходы представляют собой информационные и материальные потоки. При этом выходы одних работ могут являться входами для других. Внешние входы на DFD-схеме поступают от поставщика процесса, а внешние выходы уходят к клиенту процесса [2]. Основными элементами DFD являются:
- Внешние сущности – объекты, находящиеся за границами системы и являющиеся источником или получателем данных.
- Подсистемы – группирующие сущности. Подсистема не обрабатывает никаких данных и содержит внутри себя процессы и накопители данных.
- Процессы – сущности, преобразующие входные потоки данных в выходные в соответствии с определенным алгоритмом.
- Накопители данных – сущности, предназначенные для хранения и предоставление данных.
- Потоки данных – информация, передаваемая от источника приемнику [2].
Таким образом, можно отметить, что DFD обладает сходным функционалом с IDEF0, но помимо этого, она также позволяет выделить объекты внешней среды. Однако с помощью данной нотации возможно описать только функциональную составляющую системы, не учитывая понятия и особенности предметной области [2]. Описание данной диаграммы представлено на рисунке 1.4: Рисунок 1.4. Описание бизнес-процесса «Продажа товаров/услуг/работ» с помощью диаграммы потоков данных
Описание бизнес-процесса с помощью Entity-Relationship Diagram
Entity-Relationship Diagram (диаграмма «сущность-связь») предназначена для разработки моделей данных и обеспечивает стандартный способ определения данных и отношений между ними.
Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей) [4]. Описание данной диаграммы представлено на рисунке 1.5: Рисунок 1.5. Описание бизнес-процесса «Продажа товаров/услуг/работ» с помощью диаграммы «сущность-связь»
Описание бизнес-процесса с помощью Use Case Diagram
UseCaseDiagram(диаграмма вариантов использования) отображает взаимодействие между вариантами использования, представляющими функции системы, и акторами, представляющими людей или внешние системы. Эта диаграмма отражает функциональные требования к системе с точки зрения пользователя.
Диаграмма показывает, какие акторы инициируют конкретный вариант использования. Из нее также видно, когда актор получает информацию от варианта использования [2]. В диаграммы вариантов использования позволяют визуализировать поведение системы, подсистемы или класса, чтобы пользователи могли понять, как их использовать, а разработчики – реализовать соответствующий элемент. Однако для более детального описания поведения системы такие диаграммы применены быть не могут [2]. Описание данной диаграммы представлено на рисунке 1.6: Рисунок 1.6. Описание бизнес-процесса «Продажа товаров/услуг/работ» с помощью диаграммы вариантов использования
Источник: studfile.net
H Что такое 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 — удобный инструмент для создания нерегламентированных диаграмм, которые можно сделать быстро и с максимумом свободы.
Применяется этот вид нотации в случае, когда требуется описание системы как хранилища данных. Т.е. нотация должна наглядно ответить на вопросы:
- Из чего состоит информационная система?
- Что нужно, чтобы обработать информацию?
- Процесс (англ. Process), т.е. функция или последовательность действий, которые нужно предпринять, чтобы данные были обработаны. Это может быть создание заказа, регистрация клиента и т.д. В названиях процессов принято использовать глаголы, т.е. «Создать клиента» (а не «создание клиента») или «обработать заказ» (а не «проведение заказа»). Здесь нет строгой системы требований, как, например, в IDEF0 или BPMN, где нотации имеют жестко определенный синтаксис, так как они могут быть исполняемыми. Но все же определенных правил стоит придерживаться, чтобы не вносить путаницу при чтении DFD другими людьми.
- Внешние сущности (англ. External Entity). Это любые объекты, которые не входят в саму систему, но являются для нее источником информации либо получателями какой-либо информации из системы после обработки данных. Это может быть человек, внешняя система, какие-либо носители информации и хранилища данных.
- Хранилище данных (англ. Data store). Внутреннее хранилище данных для процессов в системе. Поступившие данные перед обработкой и результат после обработки, а также промежуточные значения должны где-то храниться. Это и есть базы данных, таблицы или любой другой вариант организации и хранения данных. Здесь будут храниться данные о клиентах, заявки клиентов, расходные накладные и любые другие данные, которые поступили в систему или являются результатом обработки процессов.
- Поток данных (англ. Data flow). В нотации отображается в виде стрелок, которые показывают, какая информация входит, а какая исходит из того или иного блока на диаграмме.
Как создавать нотации DFD
Давайте для примера рассмотрим нотацию автоматизации продаж. Допустим, у нас есть клиент, который делает заявку через сайт или по телефону. Есть менеджер, который регистрирует эту заявку. Таким образом, в системе появляются данные – клиент и его заказ. Работник склада должен это увидеть и произвести отгрузку товара с оформлением всех необходимых документов и передать документы клиенту.
Последовательность получается такая:
- Клиент предоставляет свои данные и заявку.
- Менеджер проверяет и вносит полученные данные в систему.
- Работник склада формирует документы, например, расходную накладную, и отгружает товар.
- Клиент получает товар и пакет документов к нему.
С точки зрения DFD у нас имеются:
- Покупатель – это внешняя сущность, которая является источником данных и получением результата.
- Процесс обработки заказа (подтверждение и проводка данных в системе менеджером).
- Сбор заказа на складе (после получения заявки).
- Оформление отгрузки (создание необходимых документов).
- Каждый процесс должен иметь хотя бы один вход и один выход. Смысл процессов здесь заключается в обработке данных, а потому процесс должен получить данные (входящая стрелка) и отдать куда-то после обработки (исходящая стрелка);
- Процесс обработки данных должен иметь внешнюю входящую стрелку (данные от внешней сущности). Для того, чтобы любой подобный процесс начал работать, мало использовать данные из хранилища, должна поступить новая информация для последующей обработки;
- Стрелки не могут связывать напрямую хранилища данных, все связи идут через процессы. Нет смысла просто перемещать данные из одного места в другое, а именно так читается прямая связь двух хранилищ стрелкой. Данные поступают для того, чтобы производились какие-то действия, в нашем примере – осуществлялся процесс продажи. А это возможно только посредством обработки (процесса);
- Все процессы должны быть связаны либо с другими процессами, либо с другими хранилищами данных. Процессы не существуют сами по себе, а потому результат должен куда-то передаваться;
- Декомпозиция. В DFD-диаграммах предусмотрена возможность создавать крупные процессы и декомпозировать их на подпроцессы с подробным описанием действий. Например, мы можем создать процесс «создание заявки», который потом декомпозировать на последовательность действий, например, на получение заявки, отдельно – проверку и получение данных клиента, если товар в интернет-магазине продается под заказ, то также при формировании заявки потребуется получить данные от поставщика о наличии нужных наименований и т.д. И тогда на верхней диаграмме у нас будет блок «обработка заявки», а при декомпозировании мы получим диаграмму с подробной последовательностью действий на этом этапе. При этом ни на одном этапе у нас не будет условий и ветвления. Будет процесс и его декомпозиция глубиной до 3-4 уровней.
И декомпозиция основного элемента нашей диаграммы:
Где используются 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-нотаций может быть сложно.
Источник: sohabr.net