Лекция 3 28 февраля 2019 г. • DFD (Data Flow Diagram) – диаграмма потоков данных, предложена Лари Константином в 70-е гг. ХХ века. • Отображает пути, по которым циркулируют данные внутри системы, а также между системой и внешним миром. • Как и в IDEF0 в основе – функции, выполняемые системой. Другое изображение – прямоугольники со скругленными краями. Процесс Выполняет какие-либо действия над данными, как например: создает, модифицирует, сохраняет, удаляет и т.д. Хранилище данных Используется для хранения данных. Внешняя сущность Является источником или адресатом потока данных. Отображают внешние по отношению к системе сущности. Поток данных Потоки данных между процессами, хранилищами, внешними сущностями. Нотации DFD-моделирования Гейна-Сарсона (Gene-Sarson) Йордона-ДеМарко (Yordon-DeMarco) Примечание. В зависимости от используемой нотации графическое представление элементов диаграмм будет различным Процесс Трансформирует входящий поток данных в выходящий Хранилище данных Используются для хранения данных в системе. Поток данных Стрелки, отображающие потоки данных. Нотация Йордона Нотация Йордона Нотация Гейна-Сарсона Нотация Гейна-Сарсона Внешняя сущность Изображает сущности, находящиеся за рамками системы. Внешние сущности являются источниками или адресатами потоков данных системы. ▪ Представляет собой материальный объект или физическое лицо, являющееся источником или приемником информации (например, заказчики, клиенты, поставщики, склад, персонал, банк). ▪ Внешняя сущность находится за пределами границ анализируемой USED AT: AUTHOR: asu DATE: 06 PROJECT: уу REV: 06 системы. ▪ Одна и та же внешняя сущность может быть использована многократно NOTES: 1 2 3 4 5 6 7 8 9 10 на одной или нескольких диаграммах. 1 Имя Е 1 Имя 0р. Внешняя сущность в нотации Йордона-ДеМарко Внешняя сущность в нотации Гейна-Сарсона ▪ При построении модели сложной системы она может быть представлена в самом общем виде на так называемой контекстной диаграмме в виде одной системы, либо в виде ряда подсистем. ▪ Наименование системы/подсистемы представляется в виде словосочетания с отглагольным существительным (рассмотрение повестки дня, решение задачи, получение денег и т.п.). Система/подсистема Наименование системы в нотации ГейнаСарсона Имя системы/ подсистемы Поле идентификации 1 Поле имени Персонал, оборуд-е Поле физической реализации 1 Система/подсистема в нотации ЙордонаДеМарко или имя ▪ Представляет собой преобразование входных потоков в выходные в соответствии с определенным алгоритмом. ▪ Примеры: обработка входных документов и выпуск отчетности определенным подразделением, процессы физически реализованного устройства. ▪ Процесс именуется в виде словосочетания с активным глаголом в неопределенной форме, за которым следует существительное в винительном падеже. Поле идентификации 1.1 Наименование процесса Поле имени Персонал, оборуд-е Имя процесса Поле физической реализации 1 или Процесс в нотации Гейна-Сарсона имя Процесс в нотации Йордона-ДеМарко Процесс отличается от системы/подсистемы по полю наименования!!!! Это абстрактное устройство для хранения информации, которую можно в любой момент поместить в накопитель и через некоторое время извлечь. D1 Имя Базы Данных Примеры: ящик в картотеке, таблицы в ОЗУ, файл на электронном носителе. Определяет информацию, передаваемую через некоторые соединения от источника к приемнику. Реальный поток данных может быть информацией, передаваемой по кабелю между двумя устройствами, пересылаемыми по почте письмами и т.п. 1.1.1 Деканат Ведомость Заполнить ведомость Преподаватель USED AT: AUTHOR: asu PROJECT: уу USED AT: AUTHOR: asu DATE: 06.03.2009 USED AT: AUTHOR: asu PROJECT: уу REV: 06.03.2009 PROJECT: уу DATE: 06.03.2009 WORKING READE DATE: 06.03.2009 DRAFT REV: REV: 06.03.2009 06.03.2009 RECOMMENDED 1 2 31 2 4 35 46 PUBLICATION NOTES: 57 687 98 10 9 10 NOTES: 1 2 3 4 5 6 7 8 9 10 NOTES: Системы, подсистемы Процессы 2.1 E1 1 Имя Наименование процесса Наименование подсистемы Наи 2.2 [Префикс]+номер родительской [Префикс] + собственный номер подсистемы+собственный номер USED AT: AUTHOR: asu PROJECT: уу DATE: 06.03.2009 REV: 06.03.2009 NOTES: 1 2 3 4 5 6 7 8 9 10 Внешние сущности WORKING 2 DRAFT RECOMMENDED PUBLICATION READER 0 D1 Имя Наименование системы [Префикс]+номер [Префикс]+номер CONTEX TO Хранилища данных E1 Имя DATE 3 Как минимум по одному потоку должны входить и выходить из каждого процесса или хранилища. Хранилище и внешние сущности должны быть подсоединены к процессу (входящим, выходящим или обоими потоками). Один поток должен идти только в одном направлении (все стрелки – однонаправленные). У процесса есть выходящие потоки, но нет входящих. Хранилище и внешний источник связаны напрямую. Поток идет одновременно в двух направлениях. Хранилища связаны напрямую. Уровень 0 • Первая диаграмма называется контекстной (уровень 0) и служит для обозначения рамок системы (задания контекста, в котором система работает). Уровень 1 • Диаграмма детализируется путем добавления новых уровней. • На каждом новом уровне декомпозируется (строится отдельная диаграмма) один какой-то процесс с предыдущего уровня. Уровень 2 Как и в IDEF0 нумерация функциональных блоков имеет иерархических характер: • Уровень 0 – 0 • Уровень 1 – 1, 2, 3, … • Уровень 2 – 1.1, 1.2, …, 2.1, 2.2, … • Уровень 3 – 1.1.1, 1.1.2, …, 1.2.1, 1.2.2, … и т.д. Контекстная диаграмма – корневая диаграмма, на которой изображены: • все «заинтересованные» внешние сущности, общающиеся с системой • единственный процесс с номером «0», который изображает всю систему целиком • основные потоки данных между системой и внешним миром Будет сложно сразу определить все потоки данных и идентифицировать все внешние сущности за один раз, поэтому обычно DFD рисуют итерационно. DFD-диаграмма не является блок схемой, т.е. она нечувствительна к порядку выполнения операций. Она просто показывает как и где данные циркулируют в нашей системе. Существуют два типа: • Логическая DFD – изображает потоки данных • Физическая DFD – изображает потоки физических сущностей (товаров и т.п.) Уровень 0 Уровень 1 USED AT: AUTHOR: 1 PROJECT: 1 DATE: 02.03.2009 REV: 02.03.2009 NOTES: 1 2 3 4 5 6 7 8 9 10 5 Клиенты БД 1 заказов Сведения о заказе 0р. Заказы A1 READER DATE CONTEXT: A-0 Информация о доставке Сведения о клиенте Обработать заказы WORKING DRAFT RECOMMENDED PUBLICATION 6 Данные о клиенте БД 3 клиентов Данные о клиенте Склад Продукция Данные счета 0р. 2 БД счетов Данные счета A2 Проконтроллировать оплату A3 Продукция 0р. Доставить продукцию Платежные документы 5 Клиенты USED AT:AUTHOR: Шилина DATE: 10.03.2010 PROJECT : Постройка домаREV: 10.03.2010 WORKING READER DRAFT RECOMMENDED PUBLICATION DATE CONTEXT: 1. Контекстная диаграмма уровня системы NOTES: 1 2 3 4 5 6 7 8 9 10 Проект дома 0р. 3 Магазин 1 Архитектор 0 Прайс-лист на материалы Пос тройка дома Акт приемки 2 Заказчик TOP 2. Диаграмма уровня подсистемы USED AT:AUTHOR: Шилина DATE: 10.03.2010 WORKING PROJECT: Постройка дома REV: 10.03.2010 Согласование проекта Прайс-лист на материалы DATE CONT EXT: DRAFT RECOMMENDED PUBLICATION NOTES: 1 2 3 4 5 6 7 8 9 10 Проект Спис ок дома ис правлений 0р. READER A-0 2 Заказчик 1 Утвержденный проект 0р. 2 Выполнение строительных работ Чеки на материалы 1 Документация Акты выполненных работ 0р. 3 Сдача работ Акт приемки 3. Диаграмма уровня USED AT:AUTHOR: Шилинапроцесса DATE: 10.03.2010 PROJECT: Постройка дома REV: 10.03.2010 WORKING READER DRAFT RECOMMENDED NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION Утвержденный Чеки на материалы проект 0р. 1 Заложить фундамент Прайс-лист на материалы DATE CONT EXT: A0 Акты выполненных работ 0р. 2 Возвести стены 0р. 3 Положить крышу 0р. 4 Выполнить отделку Сколько процессов должно быть на одной диаграмме? • Как правило – не более 5-7, если требуется больше – надо нарисовать еще один уровень Есть ли соглашения об именовании объектов диаграммы? • Процессы обозначаются глаголами, все остальное – существительными Сколько уровней должно быть в диаграмме? • Столько, сколько вам требуется, чтобы корректно и наглядно декомпозировать систему