DFD (диаграммы потоков данных) + ПРЕЗЕНТАЦИЯ

 

sample-dfd

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

Главное, что нужно уяснить — это то, что DFD показывает как информация передается из источника в приемник, трансформируясь «по пути», попадая в нашу систему. Очень важно понять, что любой обмен информацией вне нашей системы нас не интересует.

Небольшой теоритический экскурс.

Черный ящик

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

Черный ящик

Иерархии

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

Пример иерархии:

Пример иерархии

Пример иерархии

DFD — диаграммы потоков данных

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

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

Пример контекстной диаграммы:

Пример контекстной диаграммы

Пример контекстной диаграммы

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

Пример диаграммы нулевого уровня:

Пример диаграммы нулевого уровня

Пример диаграммы нулевого уровня

После этого этапа мы спускаемся на уровень процессов. Диаграмма этого уровня очень похожа на диаграмму нулевого уровня, потому что условные обозначения подсистем и процессов практически одинаковые. Главное отличие в именовании — процесс должен иметь имя «глагол+существительное», чтобы означать действия.

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

Основные компоненты DFD

  • внешние сущности;
  • системы/подсистемы;
  • процессы;
  • накопители данных;
  • потоки данных.
Основные элементы DFD

Основные элементы DFD

Внещние сущности

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

Внешняя сущность — это материальный объект, находящийся за пределами нашей систем.

Системы/подсистемы

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

Процесс

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

Накопитель данных

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

Поток данных

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

Презентация

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

Выводы

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

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

  • Yulia Sherer

    Супер! Спасибо (:

  • Moonzy

    Таких статей побольше-бы!!! Спасибо.

  • KenIch

    Спасибо !