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