
- •1. Введение
- •3. Постановка задачи разработки информационной системы
- •Нотация idef0
- •Описание стрелок
- •Соединение блоков
- •Соединение и разъединение стрелок
- •Рис 8. Соединение и разъединение стрелок
- •Туннелирование
- •Другие типы диаграмм idef0
- •Пример использования dfd
- •5.1 Idef1x
- •Сущность
- •Атрибут
- •Связь (отношение)
- •5.3 Логическая модель данных
- •6. Проектирование с использованием uml
- •Диаграммы последовательности действий
- •6.1 Диаграмма последовательности действий
- •8. Список литературы
Туннелирование
Если необходимо нарушить правило взаимоувязывания стрелок на родительской диаграмме и диаграмме декомпозиции, то следует воспользоваться механизмом туннелирования. Туннели позволяют избавиться от загромождения родительских диаграмм стрелками, несущественными для их уровня. Аналогично, при построении диаграмм декомпозиции иногда неудобна необходимость изображения некоторых стрелок, связанных с декомпозируемой функцией.
Туннель обозначается с помощью скобок у начала или конца стрелки. Если скобки ставятся у конца стрелки (т.е. около блока), то это значит, что данная стрелка не показывается на диаграмме декомпозиции.
Если скобки ставятся около начала стрелки, то она не показывается на родительской диаграмме.
Другие типы диаграмм idef0
Кроме контекстной диаграммы и диаграмм декомпозиции, при представлении моделей IDEF0 могут использоваться презентационные диаграммы и диаграммы дерева модели.
Презентационная диаграмма (For Exposition Only, FEO) допускает любые нарушения синтаксиса IDEF0. Фактически, это любая иллюстрацию. Обычно такие диаграммы используются для более полного описания функциональных блоков и их совокупностей.
Дерево модели — это обзорная диаграмма, показывающая иерархическую структуру модели. Узел дерева модели — это функциональный блок. Обычно вершина соответствует контекстному блоку.
Рис. 9. Дерево модели
Рис 10. Дерево диаграмм видеопроката.
Рис. 11. Контекстная диаграмма процесса
Рис. 12. Диаграмма 2-го уровня - декомпозиция контекстной диаграммы
Рис. 13. Диаграмма 3-го уровня - диаграмма декомпозиции блока А1
Рис. 14. Диаграмма 3-го уровня - диаграмма декомпозиции блока А2
Рис. 15. Диаграмма 3-го уровня - диаграмма декомпозиции блока А3
Рис. 16. Диаграмма 3-го уровня - диаграмма декомпозиции блока А4
Рис. 17. Диаграмма 3-го уровня - диаграмма декомпозиции блока А5
Показано, какие функциональные блоки разбиваться и на сколько функциональных блоков, а также можно определить сколько уровней и функциональных блоков на каждом уровне. В моем случаи на первом уровне один функциональный блок, то есть контекстная диаграмма, на втором уровне пять функциональных блоков и на третьем 20 функциональных блоков.
4.3 Моделирование в DFD
Аналогично IDEF0, диаграммы потоков данных (Data Flow Diagrams — DFD) позволяют моделировать систему как набор функций (действий, операций и т.п.), соединенных стрелками.
Для метода DFD, модель системы — это иерархия диаграмм потоков данных, описывающих асинхронный процесс преобразования информации от ее ввода в систему до выдачи пользователю. Диаграммы верхних уровней иерархии — контекстные диаграммы (КД) — определяют основные функции, или подсистемы ИС с внешними входами и выходами. КД детализируются при помощи диаграмм нижних уровней.
Имеется два основных варианта DFD: метод Гейна-Сарсона (Gane-Sarson) и метод Йордана-Де Марко (Yourdon-DeMarco). Нотации этих методов различаются.
В DFD имеются два типа элементов, не имеющих аналогов в IDEF0. Это накопители данных — объекты, в которые собирается и в которых хранится информация, — и внешние сущности — объекты, с помощью которых моделируется взаимодействие с частями системы, выходящими за границы моделирования, или с другими системами.
Основными элементами DFD являются:
внешние сущности;
системы и подсистемы;
процессы;
накопители (хранилища) данных (data store);
потоки данных.
Внешняя сущность — материальный предмет или физическое лицо, представляющее собой источник или приемник информации. Внешняя сущность находится за пределами анализируемой части системы (или системы целиком).
В процессе анализа некоторые внешние сущности могут переноситься внутрь диаграммы анализируемой системы. Или, наоборот, часть процессов ИС может переноситься за границы моделирования и представляться как внешние сущности.
Система и подсистема. При построении модели сложной ИС она может быть представлена в общем виде на так называемой контекстной диаграмме в виде одного блока (т.е. системы), либо декомпозирована на ряд подсистем. Система и подсистема — это частный случай процесса.
Наименование системы и подсистемы представляет собой существительное или некоторое предложение с подлежащим.
Процесс. Под процессом понимается преобразование входных потоков данных в выходные в соответствии с определенным алгоритмом. Физически процесс может реализовываться посредством персонала организации, аппаратуры, программы и т.п.
Наименование процесса: активный глагол в неопределенной форме, за которым следует дополнение в виде существительного в винительном падеже («вычислить квадратный корень» и т.п.).
Накопитель данных — абстрактное устройство для хранения информации. Накопитель данных часто является прообразом будущей БД.
Наименование накопителя данных представляет собой существительное.
Поток данных — информация, передаваемая от источника к приемнику по некоторому каналу (соединению).
В зависимости от нотации, элементы DFD могут обозначаться по-разному.
Элемент |
Нотация Гейна-Сарсона |
Нотация Йордана-Де Марко |
Внешняя сущность |
|
|
Процесс |
|
|
Накопитель данных |
|
|
Поток данных |
|
|
В некоторых модификациях метода Гейна-Сарсона для процессов могут быть показаны ресурсы, аналогичные механизмам исполнения IDEF0:
Потоки могут быть двунаправленными:
Потоки данных могут разбиваться (разветвляться) и соединяться. При разбиении каждая новая ветвь может быть переименована. Таким образом обеспечивается возможность декомпозиции данных.
В самом общем случае, порядок построения иерархии DFD следующий:
Создание контекстной диаграммы; обычно для простой ИС строится одна диаграмма со звездообразной топологией: центр звезды — система, углы — внешние сущности.
Детализация системы и процессов. При этом должно соблюдаться правило балансировки: на диаграмме детализации могут указываться только те источники и приемники информации, которые показаны для детализируемой системы (процесса). Правило нумерации процессов: номер имеет вид типа X.Y, где Y — порядковый номер процесса, детализирующего процесс X.
Завершение детализации. Детализация процесса не выполняется в следующих случаях:
небольшое число входных и выходных потоков данных (2-3 потока);
можно описать процесс преобразования данных последовательным алгоритмом;
преобразование входной информации в выходную описывается единственной логической функцией;
можно описать логику процесса с помощью так называемой миниспецификации; миниспецификация — это текст объемом 20-30 на естественном языке, в котором четко определяется функция преобразования.
Верификация (проверка на корректность). Должно выполняться правило сохранения информации: все поступающие данные должны быть считаны, все считываемые — записаны.
Внешние сущности и накопители данных также обычно нумеруются. Номер накопителя данных состоит из префикса D (Data store) и уникального порядкового номера накопителя во всей модели DFD. Номер внешней сущности состоит из префикса E (External entity) и ее уникального порядкового номера в модели.
Применение DFD предполагает, что структура потоков данных и накопителей данных должна быть описана отдельно. Диаграммы потоков данных обеспечивают удобный инструмент описания функционирования компонентов системы, но не позволяют указать, какая именно информация преобразуется процессами и как она преобразуется. Для решения первой задачи предназначены текстовые средства, служащие для описания структуры преобразуемой информации и получившие название словарей данных. Словарь данных представляет собой определенным образом организованный список всех элементов данных системы с их точными определениями, что дает возможность различным категориям пользователей (от системного аналитика до программиста) иметь общее понимание всех входных и выходных потоков и компонентов накопителей. Для решения второй задачи используются миниспецификации.
При построении диаграмм DFD полезно придерживаться следующих принципов:
размещать на одной диаграмме 3-7 процессов (меньше 3 — малоосмысленная детализация, больше 7 — излишне сложная схема);
декомпозировать потоки совместно с детализацией процессов;
давать емкие и недвусмысленные наименования, избегать сокращений и аббревиатур;
при наличии вариантов возможных декомпозиций выбирать самый простой.
При построении диаграмм DFD часто удобно придерживаться такой последовательности действий:
Разложить множество требований в крупные группы по функциональному признаку, получить в результате основные функциональные группы.
Выявить все важные внешние объекты.
Определить основные виды передаваемой информации.
Разработать предварительную контекстную диаграмму (КД). Основные функциональные группы станут процессами, внешние объекты — внешними сущностями, основные виды информации — потоками данных.
Изучить предварительную КД, внести требуемые изменения.
Построить КД путем объединения всех процессов предварительной диаграммы в один процесс, который станет системой, и группирования потоков данных.
Сформировать диаграмму первого уровня детализации на базе процессов предварительной КД.
Проверить корректность DFD первого уровня.
(Иерархический спуск сверху вниз) Описать каждый процесс текущей диаграммы с помощью детализирующей диаграммы или миниспецификации.
Параллельно с детализацией процессов выполнить декомпозицию потоков, занести определения новых потоков в словарь данных.
Проверить соблюдения основных требований для текущей диаграммы.
Писать миниспецификацию в тех случаях, если функцию сложно или невозможно выразить через комбинацию процессов.