Потоки данных

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

В DFD используются следующие типы объектов:

- Работа (activity) - синоним работе в IDEF0 и IDEF3;

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

- Стрелка (data flow) - обозначение потока информации (данных);

- Data store (хранилище данных) - любой механизм или абстракция (например, запись в базе данных), в которой хранятся данные.

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

На первой стадии декомпозиции определяют границы или область действия анализируемой системы, а также границы между доверенными и недоверенными компонентами. На DFD-диаграммах границы приложений определяют на основе высокоуровневого представления контекстов. Диаграмма контекста содержит один процесс и обычно не содержит хранилищ данных. На следующих стадиях перемещаемся на все более низкие уровни — к диаграммам уровня 0, уровня 1, уровня 2 и т. д. (рис. 2.2.)

Рис. 2.2. Основной принцип анализа на основе DFD-диаграмм

Использование DFD-диаграмм покажем на примере упрощенного Web-приложения для расчета зарплаты. DFD-диаграммы этой главы созданы в шаблоне Data Flow Diagram приложения Microsoft Visio Professional 2002. На рис.2.3 показана диаграмма контекстов примера приложения расчета зарплаты.

Рис.2.3. DFD-диаграмма контекстов приложения расчета зарплаты

 

Каждый процесс на рис.2.3 в свою очередь состоит из нескольких более мелких процессов и поэтому также нуждается в декомпозиции. На рис.2.4 показана диаграмма уровня 1 для данного приложения.

Рис.2.4. DFD-диаграмма уровня 1 приложения расчета зарплаты