p> [pic] Пример механизма Каждый блок на диаграмме имеет свой номер. Блок любой диаграммы может
быть далее описан диаграммой нижнего уровня, которая, в свою очередь, может
быть далее детализирована с помощью необходимого числа диаграмм. Таким
образом, формируется иерархия диаграмм. Для того, чтобы указать положение любой диаграммы или блока в
иерархии, используются номера диаграмм. Например, А12 является диаграммой,
которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует
блок 2 на диаграмме А0, которая является самой верхней диаграммой модели.
На рисунке 11 показано типичное дерево диаграмм. Иерархия диаграмм Типы связей между функциями. Одним из важных моментов при
проектировании ИС с помощью методологии SADT является точная
согласованность типов связей между функциями. Различают по крайней мере
семь типов: (0) Тип случайной связности: наименее желательный. Случайная связность
возникает, когда конкретная связь между функциями мала или полностью
отсутствует. Это относится к ситуации, когда имена данных на SADT-дугах в
одной диаграмме имеют малую связь друг с другом. (1) Тип логической связности. Логическое связывание происходит тогда, когда
данные и функции собираются вместе вследствие того, что они попадают в
общий класс или набор элементов, но необходимых функциональных отношений
между ними не обнаруживается.
(2) Тип временной связности. Связанные по времени элементы возникают
вследствие того, что они представляют функции, связанные во времени, когда
данные используются одновременно или функции включаются параллельно, а не
последовательно.
(3) Тип процедурной связности. Процедурно-связанные элементы появляются
сгруппированными вместе вследствие того, что они выполняются в течение
одной и той же части цикла или процесса.
(4) Тип коммуникационной связности. Диаграммы демонстрируют
коммуникационные связи, когда блоки группируются вследствие того, что они
используют одни и те же входные данные и/или производят одни и те же
выходные данные (рисунок 12).
(5) Тип последовательной связности. На диаграммах, имеющих последовательные
связи, выход одной функции служит входными данными для следующей функции.
Связь между элементами на диаграмме является более тесной, чем на
рассмотренных выше уровнях связок, поскольку моделируются причинно-
следственные зависимости (рисунок 13).
(6) Тип функциональной связности. Диаграмма отражает полную функциональную
связность, при наличии полной зависимости одной функции от другой.
Диаграмма, которая является чисто функциональной, не содержит чужеродных
элементов, относящихся к последовательному или более слабому типу
связности. Одним из способов определения функционально-связанных диаграмм
является рассмотрение двух блоков, связанных через управляющие дуги, как
показано на рисунке 14. Коммуникационная связность Последовательная связность В математических терминах необходимое условие для простейшего типа
функциональной связности, показанной на рисунке 14, имеет следующий вид: C = g(B) = g(f(A)) (1) Функциональная связность Моделирование потоков данных (процессов). В основе данной методологии
(методологии Gane/Sarson) лежит построение модели анализируемой ИС -
проектируемой или реально существующей. В соответствии с методологией
модель системы определяется как иерархия диаграмм потоков данных (ДПД или
DFD), описывающих асинхронный процесс преобразования информации от ее ввода
в систему до выдачи пользователю. Диаграммы верхних уровней иерархии
(контекстные диаграммы) определяют основные процессы или подсистемы ИС с
внешними входами и выходами. Они детализируются при помощи диаграмм нижнего
уровня. Такая декомпозиция продолжается, создавая многоуровневую иерархию
диаграмм, до тех пор, пока не будет достигнут такой уровень декомпозиции,
на котором процесс становятся элементарными и детализировать их далее
невозможно. Источники информации (внешние сущности) порождают информационные
потоки (потоки данных), переносящие информацию к подсистемам или процессам.
Те в свою очередь преобразуют информацию и порождают новые потоки, которые
переносят информацию к другим процессам или подсистемам, накопителям данных
или внешним сущностям - потребителям информации. Таким образом, основными
компонентами диаграмм потоков данных являются:
внешние сущности;
системы/подсистемы;
процессы;
накопители данных;
потоки данных. Внешние сущности. Внешняя сущность представляет собой материальный
предмет или физическое лицо, представляющее собой источник или приемник
информации, например, заказчики, персонал, поставщики, клиенты, склад.
Определение некоторого объекта или системы в качестве внешней сущности
указывает на то, что она находится за пределами границ анализируемой ИС. В
процессе анализа некоторые внешние сущности могут быть перенесены внутрь
диаграммы анализируемой ИС, если это необходимо, или, наоборот, часть
процессов ИС может быть вынесена за пределы диаграммы и представлена как
внешняя сущность. Внешняя сущность обозначается квадратом (рисунок 15),
расположенным как бы "над" диаграммой и бросающим на нее тень, для того,
чтобы можно было выделить этот символ среди других обозначений: [pic] Внешняя сущность Системы и подсистемы. При построении модели сложной ИС она может быть
представлена в самом общем виде на так называемой контекстной диаграмме в
виде одной системы как единого целого, либо может быть декомпозирована на
ряд подсистем. Подсистема (или система) на контекстной диаграмме изображается
следующим образом (рисунок 16). [pic] Подсистема Номер подсистемы служит для ее идентификации. В поле имени вводится
наименование подсистемы в виде предложения с подлежащим и соответствующими
определениями и дополнениями. Процессы. Процесс представляет собой преобразование входных потоков
данных в выходные в соответствии с определенным алгоритмом. Физически
процесс может быть реализован различными способами: это может быть
подразделение организации (отдел), выполняющее обработку входных документов
и выпуск отчетов, программа, аппаратно реализованное логическое устройство
и т.д. Процесс на диаграмме потоков данных изображается, как показано на
рисунке 17. [pic] Процесс Номер процесса служит для его идентификации. В поле имени вводится
наименование процесса в виде предложения с активным недвусмысленным
глаголом в неопределенной форме (вычислить, рассчитать, проверить,
определить, создать, получить), за которым следуют существительные в
винительном падеже, например:
"Ввести сведения о клиентах";
"Выдать информацию о текущих расходах";
"Проверить кредитоспособность клиента". Использование таких глаголов, как "обработать", "модернизировать" или
"отредактировать" означает, как правило, недостаточно глубокое понимание
данного процесса и требует дальнейшего анализа. Информация в поле физической реализации показывает, какое
подразделение организации, программа или аппаратное устройство выполняет
данный процесс. Накопители данных. Накопитель данных представляет собой абстрактное
устройство для хранения информации, которую можно в любой момент поместить
в накопитель и через некоторое время извлечь, причем способы помещения и
извлечения могут быть любыми. Накопитель данных может быть реализован
физически в виде микрофиши, ящика в картотеке, таблицы в оперативной
памяти, файла на магнитном носителе и т.д. Накопитель данных на диаграмме
потоков данных изображается, как показано на рисунке 18. [pic] Накопитель данных Накопитель данных идентифицируется буквой "D" и произвольным числом.
Имя накопителя выбирается из соображения наибольшей информативности для
проектировщика. Накопитель данных в общем случае является прообразом будущей базы
данных и описание хранящихся в нем данных должно быть увязано с
информационной моделью. Поток данных определяет информацию, передаваемую через некоторое
соединение от источника к приемнику. Реальный поток данных может быть
информацией, передаваемой по кабелю между двумя устройствами, пересылаемыми
по почте письмами, магнитными лентами или дискетами, переносимыми с одного
компьютера на другой и т.д. Поток данных на диаграмме изображается линией, оканчивающейся
стрелкой, которая показывает направление потока (рисунок 19). Каждый поток
данных имеет имя, отражающее его содержание. [pic] Поток данных Построение иерархии диаграмм потоков данных. Первым шагом при
построении иерархии ДПД является построение контекстных диаграмм. Обычно
при проектировании относительно простых ИС строится единственная
контекстная диаграмма со звездообразной топологией, в центре которой
находится так называемый главный процесс, соединенный с приемниками и
источниками информации, посредством которых с системой взаимодействуют
пользователи и другие внешние системы. Если же для сложной системы ограничиться единственной контекстной
диаграммой, то она будет содержать слишком большое количество источников и
приемников информации, которые трудно расположить на листе бумаги
нормального формата, и кроме того, единственный главный процесс не
раскрывает структуры распределенной системы. Признаками сложности (в смысле
контекста) могут быть:
наличие большого количества внешних сущностей (десять и более);
распределенная природа системы;
многофункциональность системы с уже сложившейся или выявленной группировкой
функций в отдельные подсистемы. Для сложных ИС строится иерархия контекстных диаграмм. При этом
контекстная диаграмма верхнего уровня содержит не единственный главный
процесс, а набор подсистем, соединенных потоками данных. Контекстные
диаграммы следующего уровня детализируют контекст и структуру подсистем. Иерархия контекстных диаграмм определяет взаимодействие основных
функциональных подсистем проектируемой ИС как между собой, так и с внешними
входными и выходными потоками данных и внешними объектами (источниками и
приемниками информации), с которыми взаимодействует ИС. Разработка контекстных диаграмм решает проблему строгого определения
функциональной структуры ИС на самой ранней стадии ее проектирования, что
особенно важно для сложных многофункциональных систем, в разработке которых
участвуют разные организации и коллективы разработчиков. После построения контекстных диаграмм полученную модель следует
проверить на полноту исходных данных об объектах системы и изолированность
объектов (отсутствие информационных связей с другими объектами). Для каждой подсистемы, присутствующей на контекстных диаграммах,
выполняется ее детализация при помощи ДПД. Каждый процесс на ДПД, в свою
очередь, может быть детализирован при помощи ДПД или миниспецификации. При
детализации должны выполняться следующие правила:
правило балансировки - означает, что при детализации подсистемы или
процесса детализирующая диаграмма в качестве внешних источников/приемников
данных может иметь только те компоненты (подсистемы, процессы, внешние
сущности, накопители данных), с которыми имеет информационную связь
детализируемая подсистема или процесс на родительской диаграмме;
правило нумерации - означает, что при детализации процессов должна
поддерживаться их иерархическая нумерация. Например, процессы,
детализирующие процесс с номером 12, получают номера 12.1, 12.2, 12.3 и
т.д. Миниспецификация (описание логики процесса) должна формулировать его
основные функции таким образом, чтобы в дальнейшем специалист, выполняющий
реализацию проекта, смог выполнить их или разработать соответствующую
программу. Миниспецификация является конечной вершиной иерархии ДПД. Решение о
завершении детализации процесса и использовании миниспецификации
принимается аналитиком исходя из следующих критериев:
наличия у процесса относительно небольшого количества входных и выходных
потоков данных (2-3 потока);
возможности описания преобразования данных процессом в виде
последовательного алгоритма;
выполнения процессом единственной логической функции преобразования входной
информации в выходную;
возможности описания логики процесса при помощи миниспецификации небольшого
объема (не более 20-30 строк). При построении иерархии ДПД переходить к детализации процессов
следует только после определения содержания всех потоков и накопителей
данных, которое описывается при помощи структур данных. Структуры данных
конструируются из элементов данных и могут содержать альтернативы, условные
вхождения и итерации. Условное вхождение означает, что данный компонент
может отсутствовать в структуре. Альтернатива означает, что в структуру
может входить один из перечисленных элементов. Итерация означает вхождение
любого числа элементов в указанном диапазоне. Для каждого элемента данных
может указываться его тип (непрерывные или дискретные данные). Для
непрерывных данных может указываться единица измерения (килограммы, рубли и
т.п.), диапазон значений, точность представления и форма физического
кодирования. Для дискретных данных может указываться таблица допустимых
значений. После построения законченной модели системы ее необходимо
верифицировать (проверить на полноту и согласованность). В полной модели
все ее объекты (подсистемы, процессы, потоки данных) должны быть подробно
описаны и детализированы. Выявленные недетализированные объекты следует
детализировать, вернувшись на предыдущие шаги разработки. В согласованной
модели для всех потоков данных и накопителей данных должно выполняться
правило сохранения информации: все поступающие куда-либо данные должны быть
считаны, а все считываемые данные должны быть записаны. Методология IDEF. Метод IDEF1, разработанный Т.Рэмей (T.Ramey),
основан на подходе П.Чена и позволяет построить модель данных,
эквивалентную реляционной модели в третьей нормальной форме. В настоящее
время на основе совершенствования методологии IDEF1 создана ее новая версия
- методология IDEF1X. IDEF1X разработана с учетом таких требований, как
простота изучения и возможность автоматизации. IDEF1X-диаграммы
используются рядом распространенных CASE-средств (в частности, ERwin,
Design/IDEF). Сущность в методологии IDEF1X является независимой от идентификаторов
или просто независимой, если каждый экземпляр сущности может быть
однозначно идентифицирован без определения его отношений с другими
сущностями. Сущность называется зависимой от идентификаторов или просто
зависимой, если однозначная идентификация экземпляра сущности зависит от
его отношения к другой сущности (рисунок 20). [pic] Сущности Каждой сущности присваивается уникальное имя и номер, разделяемые
косой чертой "/" и помещаемые над блоком. Связь может дополнительно определяться с помощью указания степени или
мощности (количества экземпляров сущности-потомка, которое может
существовать для каждого экземпляра сущности-родителя). В IDEF1X могут быть
выражены следующие мощности связей:
каждый экземпляр сущности-родителя может иметь ноль, один или более
связанных с ним экземпляров сущности-потомка;
каждый экземпляр сущности-родителя должен иметь не менее одного связанного
с ним экземпляра сущности-потомка;
каждый экземпляр сущности-родителя должен иметь не более одного связанного
с ним экземпляра сущности-потомка;
каждый экземпляр сущности-родителя связан с некоторым фиксированным числом
экземпляров сущности-потомка. Если экземпляр сущности-потомка однозначно определяется своей связью
с сущностью-родителем, то связь называется идентифицирующей, в противном
случае - неидентифицирующей. Идентифицирующая связь между сущностью-родителем и сущностью-потомком
изображается сплошной линией (рисунок 21). Сущность-потомок в
идентифицирующей связи является зависимой от идентификатора сущностью.
Сущность-родитель в идентифицирующей связи может быть как независимой, так
и зависимой от идентификатора сущностью (это определяется ее связями с
другими сущностями). [pic] Идентифицирующая связь Пунктирная линия изображает неидентифицирующую связь (рисунок 22).
Сущность-потомок в неидентифицирующей связи будет независимой от
идентификатора, если она не является также сущностью-потомком в какой-либо
идентифицирующей связи. [pic] Неидентифицирующая связь Атрибуты изображаются в виде списка имен внутри блока сущности.
Атрибуты, определяющие первичный ключ, размещаются наверху списка и
отделяются от других атрибутов горизонтальной чертой (рисунок 23). [pic] Атрибуты и первичные ключи Сущности могут иметь также внешние ключи (Foreign Key), которые могут
использоваться в качестве части или целого первичного ключа или неключевого
атрибута. Внешний ключ изображается с помощью помещения внутрь блока
сущности имен атрибутов, после которых следуют буквы FK в скобках.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|