Каждый процесс должен иметь хотя бы один вход и один выход. Смысл процессов здесь заключается в обработке данных, а потому процесс должен получить данные (входящая стрелка) и отдать куда-то после обработки (исходящая стрелка);
Процесс обработки данных должен иметь внешнюю входящую стрелку (данные от внешней сущности). Для того, чтобы любой подобный процесс начал работать, мало использовать данные из хранилища, должна поступить новая информация для последующей обработки;
Стрелки не могут связывать напрямую хранилища данных, все связи идут через процессы. Нет смысла просто перемещать данные из одного места в другое, а именно так читается прямая связь двух хранилищ стрелкой. Данные поступают для того, чтобы производились какие-то действия, в нашем примере – осуществлялся процесс продажи. А это возможно только посредством обработки (процесса);
Все процессы должны быть связаны либо с другими процессами, либо с другими хранилищами данных. Процессы не существуют сами по себе, а потому результат должен куда-то передаваться;
Декомпозиция. В DFD-диаграммах предусмотрена возможность создавать крупные процессы и декомпозировать их на подпроцессы с подробным описанием действий. Например, мы можем создать процесс «создание заявки», который потом декомпозировать на последовательность действий, например, на получение заявки, отдельно – проверку и получение данных клиента, если товар в интернет-магазине продается под заказ, то также при формировании заявки потребуется получить данные от поставщика о наличии нужных наименований и т.д. И тогда на верхней диаграмме у нас будет блок «обработка заявки», а при декомпозировании мы получим диаграмму с подробной последовательностью действий на этом этапе. При этом ни на одном этапе у нас не будет условий и ветвления. Будет процесс и его декомпозиция глубиной до 3-4 уровней.
Какова роль основных элементов в стандарте DFD?
Функции, которые должна выполнять система, моделируют Диаграммы потоков данных (Data Flow Diagram – DFD) – используются совместно со словарями данных и спецификациями процессов.
Всего в DFD использует четыре элемента.
– Процессы. Процессы в DFD обозначают функции, которые обрабатывают и изменяют информацию. Процессы представлены на диаграммах в виде прямоугольников со скругленными углами.
– Стрелки. Стрелки идут от объекта-источника к объекту-приемнику, обозначая информационные потоки в системе документооборота. Взаимодействие работ с внешним миром и между собой описывается в виде стрелок (потоков данных). Поток данных соединяет выход объекта (или процесса) с входом другого объекта (или процесса).
Индивидуальные данные в системе часто являются независимыми. Однако иногда необходимо иметь дело с несколькими независимыми данными одновременно. Например, в системе имеются потоки: ЯБЛОКИ, АПЕЛЬСИНЫ и ГРУШИ. Эти потоки могут быть сгруппированы с помощью введения нового потока ФРУКТЫ. Для этого необходимо определить формально поток ФРУКТЫ как состоящий из нескольких элементов-потомков. В свою очередь поток ФРУКТЫ сам может содержаться в потоке-предке ЕДА вместе с потоками ОВОЩИ, МЯСО и др. Такие потоки, объединяющие несколько потоков, получили название групповых.
– Внешние сущности. Внешние сущности указывают на место, организацию или человека, которые участвуют в процессе обмена информацией с системой, но располагаются за рамками этой диаграммы. Внешние сущности изображают входы в систему и/или выходы из системы в виде прямоугольника с тенью и располагаются по краям диаграммы. Одна внешняя сущность может быть использована многократно на одной или нескольких диаграммах. Обычно такой прием используют, чтобы не рисовать слишком длинных и запутанных стрелок. Внешние сущности представляют собой материальный предмет или физическое лицо, которые являются приемником или источником информации. Например: ЗАКАЗЧИК, ПЕРСОНАЛ, ПОСТАВЩИК, КЛИЕНТ, СКЛАД.
– Хранилища данных. Хранилища данных представляют собой, собственно, данные, к которым осуществляется доступ. Эти данные также могут быть созданы или изменены процессами. Хранилище данных изображают объекты в покое и данные, которые сохраняются в памяти между последующими процессами. Информация, которую содержит хранилище данных, может использоваться в любое время после ее определения. При этом данные могут выбираться в любом порядке. Имя хранилища должно идентифицировать его содержимое и быть существительным.
Для изображения DFD используются две нотации (=стандарт):
1 Нотация Йодона;
2 Нотация Гейно-Сарсона.