Лекция: Диаграммы потоков данных(DFD). Назначение. Основные объекты. Построение моделей с использованием DFD
Диаграммы потоков данных являются основным средством моделирования функциональных требований проектируемой системы. С их помощью эти требования разбиваются на функциональные компоненты и представляются в виде сети, связанной потоками данных. Главная цель таких средств — продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.
На диаграммах функциональные требования представляются с помощью процессов и хранилищ, связанных потоками данных.
1. Потоки данных являются механизмами, использующимися для моделирования передачи информации из одной части системы в другую. Потоки на диаграммах обычно изображаются именованными стрелками, ориентация которых указывает направление движения информации.
2. Хранилище данных позволяет на определенных участках определять данные, которые будут сохраняться в памяти между процессами. Фактически хранилище представляет “срезы” потоков данных во времени.
3. Внешняя сущность представляет сущность вне контекста системы, являющуюся источником или приемником системных данных. Предполагается, что объекты, представленные такими узлами, не должны участвовать ни в какой обработке.
Контекстная диаграмма отражает интерфейс системы с внешним миром, а именно, информационные потоки между системой и внешними сущностями, с которыми она должна быть связана. DFD первого уровня строится как декомпозиция процесса, который присутствует на контекстной диаграмме.
Построенная диаграмма первого уровня также имеет множество процессов, которые в свою очередь могут быть декомпозированы в DFD нижнего уровня. Таким образом строится иерархия DFD с контекстной диаграммой в корне дерева.
Главная цель построения иерархического множества DFD заключается в том, чтобы сделать требования ясными и понятными на каждом уровне детализации, а также разбить эти требования на части с точно определенными отношениями между ними.
Этапы построения модели:
1.Расчленение множества требований и организация их в основные функциональные группы.
2. Идентификация внешних объектов, с которыми система должна быть связана.
3. Идентификация основных видов информации циркулирующей между системой и внешними объектами.
4. Предварительная разработка контекстной диаграммы.
5. Изучение предварительной контекстной диаграммы и внесение в нее изменений по результатам ответов на возникающие вопросы по всем ее частям.
6. Построение контекстной диаграммы путем объединения всех процессов предварительной диаграммы в один процесс, а также группирования потоков.
7.Формирование DFD первого уровня на базе процессов предварительной контекстной диаграммы.
8. Проверка основных требований по DFD первого уровня.
9. Декомпозиция каждого процесса текущей DFD с помощью детализирующей диаграммы или спецификации процесса.
Проверка основных требований по DFD соответствующего уровня.
11.Добавление определений новых потоков в словарь данных при каждом их появлении на диаграммах.
12.Параллельное (с процессом декомпозиции) изучение требований (в том числе и вновь поступающих), разбиение их на элементарные и идентификация процессов или спецификаций процессов, соответствующих этим требованиям.
13.После построения двух-трех уровней проведение ревизии с целью проверки корректности и улучшения понимаемости модели.
14.Построение спецификации процесса (а не простейшей диаграммы) в случае, если некоторую функцию сложно или невозможно выразить комбинацией процессов.
Основные объекты:
1) управляющий процесс — интерфейс между DFD и спецификациями управления, собственно моделирующими и документирующими аспекты реального времени. Фактически управляющий процесс представляет собой преобразователь входных управляющих потоков в выходные. Точное описание этого преобразования должно задаваться в спецификациях управления.
2) управляющее хранилище — срез управляющего потока во времени. Содержащаяся в нем управляющая информация может быть использована в любое время после занесения в хранилище.
3) управляющий поток — средство, используемое для моделирования передачи управляющей информации. Обычно управляющий поток имеет дискретное, а не непрерывное значение.
Существуют три управляющих потоков:
а) Т – поток, является потоком управления процессом, который может вызывать выполнение процесса. При этом процесс как бы включается одной короткой операцией.
б) А – поток, является потоком управления процессом, который может изменять выполнение отдельного процесса. Используется для обеспечения непрерывности выполнения процесса до тех пор, пока “включен” поток.
3) E/D – поток, является потоком управления процессом, который может переключать выполнение отдельного процесса. Течение по Е-линии вызывает выполнение процесса, которое продолжается до тех пор, пока не возбуждается течение по D-линии.