Слайд 1Структурные методы проектирования ИС
Методология DFD
Слайд 2Метод DFD
DFD (Data Flow Diagram) — методология структурного
анализа потоков данных.
Диаграммы DFD позволяют описать процесс обмена
информацией между элементами изучаемой системы.
DFD
отображает источники и адресаты данных,
идентифицирует процессы и группы данных,
связывающие в потоки одну функцию с другой, а также,
что важно, определяет накопители (хранилища)
данных, которые используются в исследуемом
процессе.
Слайд 3Назначение метода DFD
Диаграммы потоков данных – это средство
моделирования функциональных требований
к
проектируемой системе.
С помощью DFD требования представляются в виде
иерархии функциональных компонентов
(процессов),
связанных потоками данных.
Главная цель DFD — продемонстрировать то, как
каждый процесс преобразует свои входные данные в
выходные, а также выявить отношения между этими
процессами.
Слайд 4Нотации DFD
Для построения DFD традиционно используются две
различные нотации, соответствующие методам
Йордана
и Гейна — Сэрсона. Эти нотации
незначительно отличаются друг от друга
графическим
изображением символов.
Диаграммы потоков данных представляют собой сеть
взаимосвязанных между собой работ. Диаграммы DFD
удобно использовать для описания документооборота и
обработки информации. Для построения DFD в системе
BPWin используется нотация (обозначения) Гейна –
Сарсона (Gane/Sarson).
Слайд 5Функциональные возможности метода DFD
DFD описывает:
функции обработки информации (работы);
документы, объекты, отделы,
сотрудников, которые участвуют в обработке информации;
внешние ссылки, источники и потребители
данных (внешние сущности);
объекты, собирающие и хранящие информацию (хранилища данных).
Слайд 6Функциональные возможности метода DFD (продолжение)
Источники информации (внешние сущности)
порождают информационные потоки
(потоки
данных), переносящие информацию к
подсистемам или процессам. Те в свою
очередь преобразуют
информацию и
порождают новые потоки, которые переносят
информацию к другим процессам или
подсистемам, накопителям данных или
внешним сущностям – потребителям
информации.
Слайд 7Основные компоненты DFD
Основными компонентами диаграмм потоков
данных являются:
внешние сущности;
системы/подсистемы;
процессы;
накопители данных;
потоки данных.
Слайд 8Определение внешней сущности
Внешняя сущность представляет собой
материальный объект или физическое лицо,
представляющие
собой источник или приемник
информации, например заказчики, персонал,
поставщики, клиенты, склад.
Определение некоторого
объекта или системы в
качестве внешней сущности указывает на то, что они
находятся за пределами границ анализируемой
системы.
В процессе анализа некоторые внешние сущности
могут быть перенесены внутрь диаграммы системы,
если это необходимо, или, наоборот, часть процессов
может быть вынесена за пределы диаграммы и
представлена как внешняя сущность.
Слайд 9Обозначение внешней сущности на диаграмме DFD
Внешняя сущность обозначается квадратом,
расположенным
как бы над диаграммой и бросающим
на нее тень для того,
чтобы можно было выделить этот
символ среди других обозначений.
Слайд 10Системы и подсистемы
При построении модели сложной ИС система может
быть представлена
в самом общем виде на
контекстной диаграмме в виде одной системы
как
единого целого либо может быть декомпозирована на
ряд подсистем.
Слайд 11Обозначение системы (подсистемы) на диаграмме DFD
В DFD система или подсистема
изображаются
прямоугольниками со скругленными углами.
Слайд 12Процессы(работы)
Процесс (или работа) представляет собой
преобразование входных потоков данных в выходные
в
соответствии с определенным алгоритмом.
Физически процесс может быть реализован
различными способами:
подразделение
организации (отдел), выполняющее
обработку входных документов и выпуск отчетов;
программа;
аппаратно реализованное логическое устройство и т. д.
Слайд 13Обозначение работы на диаграмме DFD
В DFD работы представляют собой функции
системы,
преобразующие входы в выходы. Хотя работы
изображаются прямоугольниками со скругленными
углами, смысл
их совпадает со смыслом работ IDEF0.
Слайд 14Накопители (хранилище) данных
Накопитель данных - это абстрактное устройство для
хранения информации,
которую можно в любой момент
поместить в накопитель и через некоторое
время
извлечь, причем способы помещения и извлечения
могут быть любыми.
Накопитель данных может быть реализован физически
в виде микрофиши, ящика в картотеке, таблицы в
оперативной памяти, файла на магнитном носителе и т.
д.
Слайд 15Обозначение накопителя на DFD
В системах обработки информации хранилища данных
являются механизмом,
который позволяет сохранить
данные для последующих процессов. Накопитель
данных на диаграмме потоков
данных
идентифицируется своим номером и именем.
Имя накопителя выбирается из соображения
наибольшей информативности для проектировщика.
Слайд 16Контекстная DFD – диаграмма
В отличие от IDEFO, рассматривающего систему
как
множество взаимно пересекающихся действий, в
названиях объектов DFD-диаграмм преобладают имена
существительные.
Контекстная
DFD-диаграмма часто состоит из одного
функционального блока и нескольких внешних
сущностей. Функциональный блок на этой диаграмме
обычно имеет имя, совпадающее с именем
всей системы.
Добавление на диаграмму внешних ссылок не изменяет
фундаментального требования, что модель должна
строиться с единственной точки зрения и должна иметь
четко определенные цель и границы.
Слайд 17Пример контекстной DFD – диаграммы
Слайд 18Ветвление и объединение потоков
Стрелки на DFD-диаграммах могут быть разбиты
(разветвлены)
на части, и при этом каждый
получившийся сегмент может быть переименован
таким
образом, чтобы показать декомпозицию данных,
переносимых данным потоком.
Стрелки могут и соединяться между собой
(объединяться) для формирования так называемых
комплексных объектов.
Слайд 21Построение иерархии DFD
Главная цель построения иерархии DFD заключается в
том, чтобы
сделать требования к системе понятными
на каждом уровне детализации, а также
разбить эти
требования на части с точно определенными
отношениями между ними. Для достижения этого
целесообразно пользоваться следующими правилами.
Слайд 22Правила построения иерархии DFD
размещать на каждой диаграмме от 3 до
6—7
процессов. Верхняя граница соответствует
человеческим возможностям одновременного
восприятия и понимания структуры сложной
системы с
множеством внутренних связей, нижняя граница
выбрана по соображениям здравого смысла: нет
необходимости детализировать процесс диаграммой,
содержащей всего один процесс или два;
• не загромождать диаграммы не существенными на
данном уровне деталями;
Слайд 23Правила построения иерархии DFD
• декомпозицию потоков данных осуществлять
параллельно с декомпозицией
процессов. Эти две
работы должны выполняться одновременно, а не одна
после завершения
другой;
• выбирать ясные, отражающие суть дела имена
процессов и потоков, при этом стараться не
использовать аббревиатуры.
Слайд 24Этап построения контекстной диаграммы
Первый шаг при построении иерархии DFD –
это
построение контекстных диаграмм.
Обычно при проектировании относительно простых
систем строится
единственная контекстная
диаграмма со звездообразной топологией, в центре
которой находится так называемый главный процесс,
соединенный с приемниками и источниками
информации, посредством которых с системой
взаимодействуют пользователи и другие внешние
системы.
Слайд 25Этап построения контекстной диаграммы
Перед построением контекстной DFD необходимо
проанализировать внешние события
(внешние
сущности), оказывающие влияние на
функционирование системы.
Количество потоков на контекстной диаграмме
должно
быть по возможности небольшим, поскольку каждый из
них может быть в дальнейшем разбит на несколько
потоков на следующих уровнях диаграммы.
Слайд 26Этап построения контекстной диаграммы
Для проверки контекстной диаграммы можно
составить список событий.
Список событий должен состоять из описаний
действий внешних сущностей (событий) и
соответствующих
реакций системы на события.
Каждое событие должно соответствовать одному (или
более) потоку данных:
входные потоки интерпретируются как воздействия,
выходные потоки — как реакции системы на входные
потоки.
Слайд 27Этап детализации (декомпозиции) контекстной диаграммы
Для каждой подсистемы, присутствующей на
контекстных диаграммах,
выполняется ее детализация
при помощи DFD. Это можно сделать путем построения
диаграммы
для каждого события.
Каждое событие представляется в виде процесса с
соответствующими входными и выходными потоками,
накопителями данных, внешними сущностями и ссылки
на другие процессы для описания связей между этим
процессом и его окружением. Затем все построенные
диаграммы сводятся в одну диаграмму нулевого
уровня.
Слайд 28Описание процесса на DFD
Спецификация процесса должна формулировать его
основные функции таким
образом, чтобы в
дальнейшем специалист, выполняющий реализацию
проекта, смог выполнить их или
разработать
соответствующую программу.
Фактически спецификации представляют собой
описания алгоритмов задач, выполняемых процессами.
Спецификации содержат номер и/или имя процесса,
списки входных и выходных данных и тело (описание)
процесса, являющееся спецификацией алгоритма или
операции на структурированном естественном языке.
Слайд 29Завершение описание процесса на DFD
Спецификация является конечной вершиной иерархии
DFD. Решение
о завершении детализации процесса и
использовании спецификации принимается аналитиком
исходя из следующих
критериев:
Слайд 30Критерии завершения описание процесса на DFD
наличия у процесса относительно небольшого
количества входных и выходных потоков данных (2- 3 потока);
возможности описания
преобразования данных процессом в виде последовательного алгоритма;
выполнения процессом единственной логической функции преобразования входной информации в выходную;
возможности описания логики процесса при помощи спецификации небольшого объема (не более 20 - 30 строк).
Слайд 31Требования, предъявляемые к спецификации процесса на DFD
Спецификации должны удовлетворять следующим
требованиям:
для
каждого процесса нижнего уровня должна
существовать одна и только одна спецификация;
спецификация
должна определять способ
преобразования входных потоков в выходные;
нет необходимости (по крайней мере на стадии
формирования требований) определять метод
реализации этого преобразования;
спецификация должна стремиться к ограничению
избыточности — не следует переопределять то, что
уже было определено на диаграмме;
набор конструкций для построения спецификации
должен быть простым и понятным.
Слайд 32Язык спецификации процессов в DFD
Структурированный естественный язык применяется
для читабельного, достаточно
строгого описания
спецификаций процессов.
Он представляет собой разумное сочетание строгости
языка программирования и
читабельности
естественного языка и состоит из подмножества слов,
организованных в определенные логические структуры,
арифметических выражений и диаграмм.
Слайд 33Алфавит языка спецификации процессов в DFD
В состав языка входят следующие
основные символы:
глаголы, ориентированные на действие и
применяемые к объектам;
термины, определенные на
любой стадии проекта
ПО (например, задачи, процедуры, символы данных и
т. п.);
предлоги и союзы, используемые в логических
отношениях;
общеупотребительные математические, физические
и технические термины;
арифметические уравнения;
таблицы, диаграммы, графы и т. п.;
комментарии.
Слайд 34Управляющие структуры языка спецификации процессов в DFD
К управляющим структурам языка
относятся
последовательная конструкция, конструкция выбора и
итерация (цикл).
При использовании структурированного естественного
языка приняты
следующие соглашения:
логика процесса выражается в виде комбинации
последовательных конструкций, конструкций выбора и
итераций;
глаголы должны быть активными,
недвусмысленными и ориентированными на целевое
действие (заполнить, вычислить, извлечь, а не
модернизировать, обработать);
логика процесса должна быть выражена четко и
недвусмысленно.
Слайд 35Сравнение IDEF0 – диаграмм и DFD
Сравнительный анализ этих двух
разновидностей
методов структурного анализа проводится по
следующим параметрам:
адекватность средств решаемым задачам;
согласованность
с другими средствами структурного
анализа;
интеграция с последующими стадиями ЖЦ ПО
(прежде всего со стадией проектирования).
Слайд 36Сравнение по адекватности средств решаемым задачам.
Модели SADT(IDEFO) традиционно используются
для
моделирования организационных систем. Метод SADT
успешно работает только при описании хорошо
специфицированных
и стандартизованных бизнес –
процессов.
В системах со слабой формализацией бизнес –
процессов, их стихийным появлением и развитием
разумнее ориентироваться на модели, основанные на
потоковых диаграммах (DFD).
Слайд 37Сравнение по cогласованности с другими средствами структурного анализа
Главным достоинством любых
моделей является
возможность их интеграции с моделями других типов. В
данном случае
речь идет о согласованности
функциональных моделей со средствами
моделирования данных.
Согласование SADT-модели с ERD практически
невозможно или носит искусственный характер.
В свою очередь, DFD и ERD взаимно дополняют друг
друга и являются согласованными, поскольку в DFD
присутствует описание структур данных,
непосредственно используемое для построения ERD.
Слайд 38Сравнение по интеграции с последующими стадиями ЖЦ
DFD могут быть
легко преобразованы в модели
проектируемой системы. Более того, известен ряд
алгоритмов автоматического
преобразования иерархии
DFD в структурные карты различных видов, что
обеспечивает логичный и безболезненный пере-
ход от формирования требований к проектированию
системы.
Формальные методы преобразования SADT-диаграмм
в проектные решения ИС отсутствуют.
Слайд 39Заключение
Метод DFD был разработан независимо от стандарта
IDEF0 и применяется только
для моделирования
информационных систем и процессов.
Метод IDEF0 может быть применен
для описания
бизнес- процессов в любой предметной области.
Функциональные модели в стандарте IDEF0 могутбыть
дополнены DFD – диаграммами как это предусмотрено
в систем BPWIN.
Примеры использования метода DFD описаны в книге
Калашян Ф.Н., Калянов Г.Н. «Структурные модели
бизнеса: DFD – технологии» / под ред Калянова Г.Н. –
М. Финансы и статистика, 2003.