Методология построения диаграмм потоков данных.. Лекция 02.02.20. Методология построения диаграмм потоков данных
Скачать 212.45 Kb.
|
Тема: Методология построения диаграмм потоков данных. План: Введение; Назначение диаграмм потоков данных; Синтаксис и семантика диаграмм потоков данных; Построение диаграмм потоков данных; Контрольные вопросы. Введение Диаграммы потоков данных (Data Flow Diagrams – DFD) – методология графического структурного анализа, описывающая внешние по отношению к системе источники и адресаты данных, логические функции, потоки данных и хранилища данных, к которым осуществляется доступ. Необходимость использования DFD-диаграмм заключается в потребности описать существующие в структуре организации потоки данных. Модель производственных процессов в формате DFD получается, когда описание создается по процессному признаку. DFD описывают: a) функции обработки информации (работы); b) документы (стрелки), объекты, сотрудников или отделы, которые участвуют в обработке информации; c) внешние ссылки, которые обеспечивают интерфейс с внешними объектами, находящимися за границами моделируемой системы; d) таблицы для хранения документов (хранилище данных). Диаграммы потоков данных содержат элементы двух видов (рис. 1): четырехугольники – описывающие функции (работы, процессы) и стрелки которые описывают информационные потоки между этими функциями. Как для IDEF0 и IDEF3, для DFD существует набор правил, нарушение которых ведет к неправильности понимания диаграмм. Отличие DFD от описания потоков информации между под- разделениями заключается в том, что в DFD содержится информация о реально происходящих производственных процессах как на уровне подразделения, так и на уровне организации. Так же на диаграммах DFD отображаются хранилища данных, под которыми может пониматься любой носитель информации (документ, база данных и др.) Рис. 1. Пример диаграммы потока данных Построение DFD-диаграмм в основном ассоциируется с разработкой программного обеспечения, поскольку нотация DFD изначально была разработана для этих целей. Назначение диаграмм потоков данных Диаграммы потоков данных моделируют систему как набор действий, соединенных друг с другом стрелками (так же, как и диаграммы IDEF0). DFD может содержать два новых типа объектов: объекты, собирающие и хранящие информацию (хранилища данных) и внешние сущности (объекты, моделирующие взаимодействие с теми частями системы или другими системами, которые выходят за границы моделирования (рис. 2). Рис. 2. Пример DFD-диаграммы В отличии от стрелок в IDEF0, которые иллюстрируют отношения, стрелки в DFD показывают, как объекты (включая и данные) реально перемещаются от одного действия к другому. Это представление потока обеспечивает отражение в DFD-моделях таких физических характеристик системы, как движение объектов (потоки данных), хранение объектов (хранилища данных), источники и потребители объектов (внешние сущности). 6 По диаграммам DFD мы имеем возможность определить необходимые ресурсы при выполнении операций, определить движение информационных и ресурсных потоков. Совместное использование DFD диаграмм и IDEF3 и дальнейшее преобразование функциональной модели в имитационную позволяет более точно определить параметры процесса, найти «узкие» места, зависящие как от наличия свободных ресурсов, так и в том числе от квалификации исполнителей. Синтаксис и семантика диаграмм потоков данных В отличии от IDEF0, рассматривающего систему как множество взаимопересекающихся действий, в названиях объектов DFD-диаграмм преобладают имена существительные. Контекстная DFD-диаграмма часто состоит из одного функционального блока и нескольких внешних сущностей. Функциональный блок на этой диаграмме обычно имеет имя, совпадающее с именем всей системы (рис. 3). Добавление к диаграмме внешних ссылок не отменяет основного требования, что модель должна строиться с единственной точки зрения и иметь четко определенную цель и границы, что уже обсуждалось ранее. Рис. 3. Контекстная DFD-диаграмма Функциональные блоки DFD моделируют некоторую функцию, которая преобразует сырье в какую-либо продукцию (или, в терминах JDEF, вход в выход). Хотя функциональные блоки DFD изображаются в виде прямоугольников с закругленными углами, они почти идентичны с функциональными блоками IDEF0 и действиями IDEF3. Как и действия IDEF3, функциональные блоки DFD имеют входы и выходы, 7 однако не имеют управления и механизма исполнения, как IDEF0. В некоторых интерпретациях нотации DFD Гейна-Сарсона механизмы исполнения IDEF0 моделируются как ресурсы и изображаются в нижней части прямоугольника (рис. 4). Рис. 4. Элемент DFD-диаграммы, построенной в нотации Гейна-Сарсона Внешние сущности обеспечивают необходимые входы для системы и/или являются приемниками для ее выходов. Одна внешняя сущность может одновременно предоставлять входы (функционируя как поставщик) и принимать выходы (функционируя как получатель). Внешние сущности изображаются как отбрасывающие тень прямоугольники (рис. 5) и обычно размещаются у краев диаграммы. Одна внешняя сущность может повторяться на одной и той же диаграмме несколько раз. Этот прием полезно применять для сокращения количества линий, соединяющих объекты на диаграмме. Рис. 5. Обозначение внешней сущности Стрелки (потоки данных) описывают передвижение (потоки) объектов от одной части системы к другой. Поскольку все стороны обозначающего функциональный блок DFD прямоугольника равнозначны (в отличии от IDEF0), стрелки могут начинаться и заканчиваться в любой части блока. В DFD также используются двунаправленные стрелки, которые нужны для отображения взаимодействия между блоками (например, диалога типа «приказ – результат выполнения»). На рис. 6 двунаправленная стрелка обозначает взаимный обмен информацией между департаментом маркетинга и рекламы и департаментом пластиковых карт. Рис. 6. Двунаправленный поток между блоком и внешней сущностью Хранилища данных. В то время как потоки данных представляют объекты в процессе их передвижения, хранилища данных моделируют их во всех остальных состояниях. При моделировании производственных систем хранилищами данных служат места временного складирования, где хранится продукция на промежуточных стадиях обработки. В информационных системах хранилища данных представляют любой механизм, который поддерживает хранение данных для их промежуточной обработки. На рисунке 7 приведен пример обозначения хранилищ данных на DFD-диаграммах. Рис. 7. Обозначение хранилища данных на DFD-диаграмме Ветвление и объединение. Стрелки на DFD-диаграммах могут быть разбиты (разветвлены) на части, и при этом каждый получившийся сегмент может быть переименован таким образом, чтобы показать декомпозицию данных, переносимых конкретным потоком (рис. 8). Рис. 8. Разветвление стрелки, иллюстрирующее декомпозицию данных Стрелки могут соединяться между собой (объединяться) для формирования так называемых комплексных объектов. Пример такого объединения приведен на рис. 9. Рис. 9. Объединение потоков в один Построение диаграмм потоков данных Два подхода к построению DFD-моделей Диаграммы DFD можно строить с использованием подхода, аналогичного структурному методу анализа и проектирования, применяемому в IDEF0. Вначале строится модель физической реализации существующей системы, которая используется пользователями в настоящее время. Затем создается логическая модель для моделирования основных требований реальной системы. После этого формируется новая логическая модель для отражения основных параметров разрабатываемой системы. И, наконец, создается новая физическая модель, реализующая логическую модель новой системы. В настоящее время при разработке информационных систем завоевывает все большую популярность альтернативный подход, известный как разделение событий, в котором для моделирования системы строится несколько моделей DFD: вначале – логическая модель, отображающая систему как набор действий и описывающая, что должна делать система. Затем строится модель окружения, описывающая систему как объект, отвечающий на события, порождаемые внешними сущностями. Такая модель обычно состоит из описания назначения системы, одной диаграммы контекстного уровня и списка событий. Контекстная диаграмма содержит один функциональный блок, представляющий 10 систему в целом, и внешние сущности (окружения), с которыми система взаимодействует. На заключительном этапе создается модель поведения, показывающая, как система обрабатывает те или иные события. Эта модель начинается с единственной диаграммы с одним функциональным блоком на каждый ответ системы на событие, описанное в модели окружения. Хранилища данных в модели поведения используются для моделирования данных, которые должны сохраняться в промежутках между обработкой событий. Потоки применяются для соединения элементов диаграмм между собой и для проверки согласованности моделей поведения и окружения. При подготовке такого рода моделей к различным презентациям обычно необходима их «чистка». При этом может применяться как создание упрощенных родительских диаграмм посредством объединения нескольких функциональных блоков в один, так и, наоборот, декомпозиция некоторых элементов для более легкого восприятия модели. Нумерация объектов Номер каждого функционального блока DFD может включать в себя префикс, номер родительской диаграммы и собственно номер объекта (рис. 10). Номер объекта уникальным образом идентифицирует функциональный блок на диаграмме. Номер родительской диаграммы и номер объекта в совокупности обеспечивают уникальную идентификацию каждого блока модели. Уникальные номера присваиваются также каждому хранилищу данных и каждой внешней сущности вне зависимости от расположения объекта на диаграмме. Каждый номер хранилища данных содержит префикс D (Data Store) и уникальный номер хранилища в модели (например, D3). Аналогично, номер каждой внешней сущности содержит префикс Е (External entity) и уникальный номер сущности в модели (например, Е5). Рис. 10. Компоненты номера функционального блока DFD Контрольные вопросы: 1. Что такое DFD? Какие новые типы объектов может содержать DFD 2. Привести пример контекстной DFD-диаграммы. 3. Назначение функциональных блоков, внешних сущностей и стрелок (потоков данных) в DFD. 4. Какова функция хранилищ данных в производственных и информационных системах? |