Навигация по странице:
|
04_Структурный анализ потоков данных DFD. Структурный анализ потоков данных (dfd Data Flow Diagrams) Назначение диаграмм потоков данных
Структурный анализ потоков данных (DFD — Data Flow Diagrams)
Назначение диаграмм потоков данных
Так же, как и диаграммы IDEFO, диаграммы потоков данных моделируют систему как набор действий, соединенных друг с другом стрелками. Диаграммы потоков данных также могут содержать два новых типа объектов: объекты, собирающие и хранящие информацию — хранилища данных и внешние сущности — объекты, которые моделируют взаимодействие с теми частями системы (или другими системами), которые выходят за границы моделирования. На рис. 3.1 приведен внешний вид диаграммы потоков данных.
Рис. 3.1. Пример диаграммы DFD
В отличие от стрелок в IDEFO, которые иллюстрируют отношения, стрелки в DFD показывают, как объекты (включая и данные) реально перемещаются от одного действия к другому. Это представление потока вкупе с хранилищами данных и внешними сущностями обеспечивает отражение в DFD-моделях таких физических характеристик системы, как движение объектов (потоки данных), хранение объектов (хранилища данных), источники и потребители объектов (внешние сущности).
Построение DFD-диаграмм в основном ассоциируется с разработкой программного обеспечения, поскольку нотация DFD изначально была разработана для этих целей. В частности, графическое изображение объектов на DFD-диаграммах этой главы соответствует принятому Крисом Гейном (Chris Gane) и Тришем Сарсоном (Trish Sarson), авторами DFD-метода, известного как метод Гейна — Сарсона. Другой распространенной нотацией DFD является так называемый метод Йордана — Де Марко (Yourdon — DeMarco).
3.2 Синтаксис и семантика диаграмм потоков данных
В отличие от IDEFO, рассматривающего систему как множество взаимопересекающихся действий, в названиях объектов DFD-диаграмм преобладают имена существительные. Контекстная DFD-диаграмма часто состоит из одного функционального блока и нескольких внешних сущностей. Функциональный блок на этой диаграмме обычно имеет имя, совпадающее с именем всей системы (рис. 3.2).
Добавление на диаграмму внешних ссылок не изменяет фундаментального требования, что модель должна строиться с единственной точки зрения и должна иметь четко определенные цель и границы, что уже обсуждалось ранее.
Рис. 3.2. Контекстная диаграмма DFD
Функциональные блоки
Функциональный блок DFD моделирует некоторую функцию, которая преобразует какое-либо сырье в какую-либо продукцию (или, в терминах IDEF, вход в выход). Хотя функциональные блоки DFD и изображаются в виде прямоугольников с закругленными углами, они почти идентичны функциональным блокам IDEFO и действиям IDEF3. Как и действия IDEF3, функциональные блоки DFD имеют входы и выходы, но не имеют управления и механизма исполнения как IDEFO. В некоторых интерпретациях нотации DFD Гейна — Сарсона механизмы исполнения IDEFO моделируются как ресурсы и изображаются в нижней части прямоугольника (рис. 3.3).
Рис. 3.3. Элемент DFD-диаграммы, построенной в нотации Гейна — Сарсона
Внешние сущности
Внешние сущности обеспечивают необходимые входы для системы и/или являются приемниками для ее выходов. Одна внешняя сущность может одновременно предоставлять входы (функционируя как поставщик) и принимать выходы (функционируя как получатель). Внешние сущности изображаются как прямоугольники (рис. 3.4) и обычно размещаются у краев диаграммы. Одна внешняя сущность может быть размещена на одной и той же диаграмме в нескольких экземплярах. Этот прием полезно применять для сокращения количества линий, соединяющих объекты на диаграмме.
Рис. 3.4. Обозначение внешней сущности
Стрелки (потоки данных)
Стрелки описывают передвижение (поток) объектов от одной части системы к другой. Поскольку все стороны обозначающего функциональный блок DFD прямоугольника равнозначны (в отличие от IDEFO), стрелки могут начинаться и заканчиваться в любой части блока. В DFD также используются двунаправленные стрелки, которые нужны для отображения взаимодействия между блоками (например, диалога типа приказ — результат выполнения). На рис. 3.5 двунаправленная стрелка обозначает взаимный обмен информацией между департаментами маркетинга и рекламы и пластиковых карт.
Рис. 3.5. Двунаправленный поток между блоком и внешней сущностью
Хранилища данных
В то время как потоки данных представляют объекты в процессе их передвижения, хранилища данных моделируют их во всех остальных состояниях. При моделировании производственных систем хранилищами данных служат места временного складирования, где хранится продукция на промежуточных стадиях обработки. В информационных системах хранилища данных представляют любой механизм, который поддерживает хранение данных для их промежуточной обработки. На рис. 3.6 приведен пример обозначения хранилищ данных на DFD-диаграммах.
Рис. 3.6. Обозначение хранилища данных на DFD-диаграмме
Ветвление и объединение
Стрелки на DFD-диаграммах могут быть разбиты (разветвлены) на части, и при этом каждый получившийся сегмент может быть переименован таким образом, чтобы показать декомпозицию данных, переносимых данным потоком (рис. 3.7).
Рис. 3.7. Разветвление стрелки, иллюстрирующее декомпозицию данных
Стрелки могут и соединяться между собой (объединяться) для формирования так называемых комплексных объектов. Пример такого объединения приведен на рис. 3.8.
Рис. 3.8. Объединение потока в один
Построение диаграмм потоков данных
Два подхода к построению DFD-моделей
Диаграммы DFD можно строить с использованием подхода, аналогичного структурному методу анализа и проектирования, применяемому в IDEFO. Вначале строится модель физической реализации реальной системы, которая используется пользователями в настоящее время. Затем создается логическая модель текущего состояния системы для моделирования основных требований существующей системы. После этого создается новая логическая модель для отражения основных параметров предлагаемой разрабатываемой системы. Наконец, создается новая физическая модель, реализующая логическую модель новой системы.
В настоящее время при разработке информационных систем завоевывает все большую популярность альтернативный подход, известный как разделение событий, в котором для моделирования системы строится несколько моделей DFD. Вначале строится логическая модель, отображающая систему как набор действий и описывающая, что должна делать система. Затем строится модель окруэюения, описывающая систему как объект, отвечающий на события, порождаемые внешними сущностями. Такая модель обычно состоит из описания назначения системы, одной диаграммы контекстного уровня и списка событий. Контекстная диаграмма содержит один функциональный блок, представляющий систему в целом, и внешних сущностей (окружения), с которыми система взаимодействует.
На заключительном этапе создается модель поведения, показывающая, как система обрабатывает те или иные события. Эта модель начинается с единственной диаграммы с одним функциональным блоком на каждый ответ системы на событие, описанное в модели окружения. Хранилища данных в модели поведения используются для моделирования данных, которые должны сохраняться в промежутках между обработкой событий. Потоки применяются для соединения элементов диаграмм между собой и для проверки согласованности моделей поведения и окружения.
При подготовке такого рода моделей к различным презентациям обычно необходима их "чистка". При этом может применяться как создание упрощенных родительских диаграмм посредством объединения нескольких функциональных блоков в один, так и декомпозиция некоторых элементов для более ясного восприятия модели.
Нумерация объектов
В DFD каждый номер функционального блока может включать в себя префикс, номер родительской диаграммы и собственно номер объекта (рис. 3.9). Номер объекта уникальным образом идентифицирует функциональный блок на диаграмме. Номер родительской диаграммы и номер объекта в совокупности обеспечивают уникальную идентификацию каждого блока модели.
Уникальные номера присваиваются также каждому хранилищу данных и каждой внешней сущности вне зависимости от расположения. Каждый номер хранилища содержит префикс D (от английского Data Store) и уникальный номер хранилища в модели (например, D3).
Рис. 3.9. Компоненты номер функционального блока DFD
Аналогично каждый номер каждой внешней сущности содержит префикс Е (от английского External entity) и уникальный номер сущности в модели (например, Е5).
* * *
Итак, диаграммы потоков данных (DFD) обеспечивают удобный способ описания передаваемой информации как между частями моделируемой системы, так и между системой и внешним миром. Это качество определяет область применения DFD — они используются для создания моделей информационного обмена организации, например модели документооборота. Кроме того, различные вариации DFD широко применяются при построении корпоративных информационных систем.
|
|
|