Автор работы: Пользователь скрыл имя, 14 Декабря 2013 в 16:49, курсовая работа
SADT возникла в конце 60-х годов в ходе революции, вызванной структурным программированием. Когда большинство специалистов билось над созданием программного обеспечения, немногие старались разрешить более сложную задачу создания крупномасштабных систем, включающих как людей и машины, так и программное обеспечение, аналогичных системам, применяемым в телефонной связи, промышленности, управлении и в контроле за вооружением. В то время специалисты, традиционно занимавшиеся созданием крупномасштабных систем, стали осознавать необходимость большей упорядоченности.
2. Документирование полученной информации.
3. Представление ее в виде модели.
4. Уточнение модели посредством итеративного рецензирования.
Таким образом, SADT выделяется среди современных методологий описания систем благодаря своему широкому применению. Почему SADT имеет такое широкое применение? Потому что:
Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы - главные компоненты модели, все функции ИС и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса.
Дуга изображается одинарной линией со стрелкой на конце. Они изображают такие понятия, как данные или объекты, связанные с выполняемыми функциями, и описываются существительными или существительными с определениями.
Линия дуги может быть прямой или изогнутой. Поскольку дуга часто изображает не один, а несколько данных (объектов), то она может иметь разветвление или соединение.
Изображение дуг должно соответствовать следующим синтаксическим правилам:
Взаимоотношения между дугами и блоками
Между данными (объектами) и функциями возможны четыре вида отношений: вход, управление, выход и механизм. Каждый вид изображается дугой, связанной с определенной стороной блока: левая сторона предназначена для входных дуг (входов) Х правая для выходных (выходов), верхняя сторона для управленческих дуг и нижняя для дуг механизмов.
Входные дуги изображают данные (объекты), используемые и преобразуемые функциями (документы, сырье, детали).
Выходные дуги изображают данные (объекты), в которые преобразуются входы (документы, счета, деньги, устройства).
Управляющие дуги представляют информацию, управляющую действиями функций (законы, приказы, системные требования, планы).
Дуги механизмов изображают физические аспекты функций (людей, склады, организации, приборы). С помощью дуг механизмов имеется возможность точно определять, какие ресурсы требуются для реализации конкретной функции, кто будет выполнять ее и т.д.
На диаграмме блоки выстраиваются по степени важности. Такой относительный порядок называется доминированием. Доминирование понимается как влияние одного блока диаграммы на другие. Наиболее доминирующий блок обычно размещается в верхнем левом углу диаграммы, а наименее доминирующий - в правом нижнем.
Другим методом указания доминирования блоков является их нумерация: блок с меньшим номером будет иметь большую степень доминирования над блоком с большим номером.
Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.
В приложении А, где приведены четыре диаграммы и их взаимосвязи, показана структура SADT-модели. Каждый компонент модели может быть декомпозирован на другой диаграмме. Каждая диаграмма иллюстрирует "внутреннее строение" блока на родительской диаграмме.
Описание модели SADT организовано в виде иерархии упорядоченных и взаимосвязанных диаграмм, что отображает функциональную структуру объекта. Процесс моделирования начинается с представления работы как единого целого – одного функционального блока с интерфейсными дугами, эта диаграмма называется контекстной.
Построение SADT-модели начинается с представления всей системы в виде простейшей компоненты - одного блока и дуг, изображающих интерфейсы с функциями вне системы. Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим. Это верно и для интерфейсных дуг - они также представляют полный набор внешних интерфейсов системы в целом.
Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом для более детального представления.
Во всех случаях каждая подфункция может содержать только те элементы, которые входят в исходную функцию. Кроме того, модель не может опустить какие-либо элементы, т.е., как уже отмечалось, родительский блок и его интерфейсы обеспечивают контекст. К нему нельзя ничего добавить, и из него не может быть ничего удалено.
Модель SADT представляет собой серию диаграмм с сопроводительной документацией, разбивающих сложный объект на составные части, которые представлены в виде блоков. Детали каждого из основных блоков показаны в виде блоков на других диаграммах. Каждая детальная диаграмма является декомпозицией блока из более общей диаграммы. На каждом шаге декомпозиции более общая диаграмма называется родительской для более детальной диаграммы.
Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.
На рисунках 1.2 — 1.4 представлены различные варианты выполнения функций и соединения дуг с блоками.
Рис. 1.2. Одновременное выполнение
Рис. 1.3. Соответствие должно быть полным и непротиворечивым
Некоторые дуги присоединены к блокам диаграммы обоими концами, у других же один конец остается неприсоединенным. Неприсоединенные дуги соответствуют входам, управлениям и выходам родительского блока. Источник или получатель этих пограничных дуг может быть обнаружен только на родительской диаграмме. Неприсоединенные концы должны соответствовать дугам на исходной диаграмме. Все граничные дуги должны продолжаться на родительской диаграмме, чтобы она была полной и непротиворечивой.
На SADT-диаграммах не указаны явно ни последовательность, ни время. Обратные связи, итерации, продолжающиеся процессы и перекрывающиеся (по времени) функции могут быть изображены с помощью дуг. Обратные связи могут выступать в виде комментариев, замечаний, исправлений и т.д. (Рис. 1.4).
Рис. 1.4. Пример обратной связи
Как было отмечено, механизмы (дуги с нижней стороны) показывают средства, с помощью которых осуществляется выполнение функций. Механизм может быть человеком, компьютером или любым другим устройством, которое помогает выполнять данную функцию (Рис. 1.5).
Рис. 1.5. Пример механизма
Каждый блок на диаграмме имеет свой номер. Блок любой диаграммы может быть далее описан диаграммой нижнего уровня, которая, в свою очередь, может быть далее детализирована с помощью необходимого числа диаграмм. Таким образом, формируется иерархия диаграмм.
Для того, чтобы
указать положение любой
Одним из важных моментов при проектировании ИС с помощью методологии SADT является точная согласованность типов связей между функциями. Различают по крайней мере семь типов связывания (Таблица 1.1)
Таблица 1.1.
Тип связи |
Относительная значимость |
Случайная |
0 |
Логическая |
1 |
Временная |
2 |
Процедурная |
3 |
Коммуникационная |
4 |
Последовательная |
5 |
Функциональная |
6 |
Ниже каждый тип связи кратко определен и проиллюстрирован с помощью типичного примера из SADT.
(0) Тип случайной связности: наименее желательный.
Случайная связность возникает, когда конкретная связь между функциями мала или полностью отсутствует. Это относится к ситуации, когда имена данных на SADT-дугах в одной диаграмме имеют малую связь друг с другом. Крайний вариант этого случая показан на рисунке 1.7.
Рис. 1.7. Случайная связность
(1) Тип логической связности. Логическое связывание происходит тогда, когда данные и функции собираются вместе вследствие того, что они попадают в общий класс или набор элементов, но необходимых функциональных отношений между ними не обнаруживается.
(2) Тип временной связности. Связанные по времени элементы возникают вследствие того, что они представляют функции, связанные во времени, когда данные используются одновременно или функции включаются параллельно, а не последовательно.
Рис. 1.8. Процедурная связность
(4) Тип коммуникационной
Рис. 1.9. Коммуникационная связность
(5) Тип последовательной
Рис. 1.10. Последовательная связность
(6) Тип функциональной связности. Диаграмма отражает полную функциональную связность, при наличии полной зависимости одной функции от другой. Диаграмма, которая является чисто функциональной, не содержит чужеродных элементов, относящихся к последовательному или более слабому типу связности. Одним из способов определения функционально-связанных диаграмм является рассмотрение двух блоков, связанных через управляющие дуги, как показано на рисунке 1.11.
Рис. 1.11. Функциональная связность
Ниже в таблице 1.2. представлены все типы связей, рассмотренные выше. Важно отметить, что уровни 4-6 устанавливают типы связностей, которые разработчики считают важнейшими для получения диаграмм хорошего качества.
Таблица 1.2.
Значимость |
Тип связности |
Для функций |
Для данных |
0 |
Случайная |
Случайная |
Случайная |
1 |
Логическая |
Функции одного и того же множества или типа (например, "редактировать все входы") |
Данные одного и того же множества или типа |
2 |
Временная |
Функции одного и того
же периода времени (например, |
Данные, используемые в каком-либо временном интервале |
3 |
Процедурная |
Функции, работающие в одной и той же фазе или итерации (например, "первый проход компилятора") |
Данные, используемые во время одной и той же фазы или итерации |
4 |
Коммуникационнная |
Функции, использующие одни и те же данные |
Данные, на которые воздействует одна и та же деятельность |
5 |
Последовательная |
Функции, выполняющие последовательные преобразования одних и тех же данных |
Данные, преобразуемые последовательными функциями |
6 |
Функциональная |
Функции, объединяемые для выполнения одной функции |
Данные, связанные с одной функцией |