Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Структурное программирование

Работа добавлена на сайт samzan.net:


15. Структурное программирование. Функциональные диаграммы

Функциональные диаграммы

Функциональными называют диаграммы, в первую очередь отражающие взаимосвязи функций разрабатываемого программного обеспечения.

Они создаются на ранних этапах проектирования систем, для того чтобы помочь проектировщику выявить основные функции и составные части проектируемой системы и, по возможности, обнаружить и устранить существенные ошибки.  

Современные методы структурного анализа и проектирования предоставляют разработчику определенные синтаксические и графические средства проектирования функциональных диаграмм информационных систем.

В качестве примера рассмотрим методологию SADT, предложенную Дугласом Россом. На ее основе разработана, в частности, известная методология IDEFO (Icam DEFinition).

Методология SADT представляет собой набор методов, правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области.

Функциональная модель SADT отображает функциональную структуру объекта, т. е. производимые им действия и связи между этими действиями. Основные элементы этой методологии основываются на следующих концепциях:

• графическое представление блочного моделирования. На SADT-диаграмме функции представляются в виде блока, а интерфейсы входа-выхода — в виде дуг, соответственно входящих в блок и выходящих из него. Интерфейсные дуги отображают взаимодействие функций друг с другом;

• строгость и точность отображения.

Правила SADT включают:

• уникальность меток и наименований;

• ограничение количества блоков на каждом уровне декомпозиции;

• синтаксические правила для графики;

• связность диаграмм;

• отделение организации от функции;

• разделение входов и управлений.

Методология SADT может использоваться для моделирования и разработки широкого круга систем, удовлетворяющих определенным "требованиям и реализующих требуемые функции.

В уже разработанных системах методология SADT может быть использована для анализа выполняемых ими функций, а также для указания механизмов, посредством которых они осуществляются.

Диаграммы — главные компоненты модели, все функции программной системы и интерфейсы на них представлены как блоки и дуги. Место соединения дуги с блоком определяет тип интерфейса. Дута, обозначающая управление, входит в блок сверху, в то время как информация, которая подвергается обработке, представляется дугой с левой стороны блока, а результаты обработки — дугами с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется в виде дуги, входящей в блок снизу (рис. 3.22).

Рис. 3.22. Функциональный блок и интерфейсные дуги

Блоки на диаграмме размещают по «ступенчатой» схеме в соответствии с последовательностью их работы или доминированием, которое понимается как влияние, оказываемое одним блоком на другие. В функциональных диаграммах SADT различают пять типов влияний блоков друг на друга:

• вход-выход блока подается на вход блока с меньшим доминированием, т. е. следующего (рис. 3.23, а);

• управление. Выход блока используется как управление для блока с меньшим доминированием (рис. 3.23, б),

• обратная связь по входу. Выход блока подается на вход блока с большим доминированием (рис. 3.23, в);

• обратная связь по управлению. Выход блока используется как управляющая информация для блока с большим доминированием (рис. 3.23, г);

• выход-исполнитель. Выход блока используется как механизм для другого блока (рис. 3.23, д).

Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.

Рис. 3.23. Типы влияний блоков:

а — вход; б — управление; в — обратная связь по входу; г — обратная связь

по управлению; д — выход-исполнитель

На рис. 3.24 приведены четыре диаграммы и их взаимосвязи, показывающие структуру SADT-модели. Каждый компонент модели может быть декомпозирован на другой диаграмме. Детальная диаграмма иллюстрирует внутреннее строение блока «родительской» диаграммы.

Рис. 3.24. Структура SADT-модели. Декомпозиция диаграмм

Иерархия диаграмм

Прежде всего, вся система представляется в виде простейшей компоненты — одного блока и дуг, представляющих собой интерфейсы с внешними по отношению к данной системе функциями. Имя блока является общим для всей системы.

Затем блок, который представляет систему в целом, детализируется на следующей диаграмме. Он представляется в виде нескольких блоков, соединенных интерфейсными дугами. Каждый блок детальной диаграммы представляет собой подфункцию, границы которой определены интерфейсными дугами. Каждый из блоков детальной диаграммы может быть также детализирован на следующей в иерархии диаграмме. На каждом шаге декомпозиции более общая диаграмма называется родительской для более детальной диаграммы.

Все диаграммы связывают друг с другом иерархической нумерацией блоков: первый уровень — А0, второй — Al, A2 и т. п., третий — All, A12, А13 и т. п., где первые цифры — номер родительского блока, а последняя — номер конкретного блока детальной диаграммы.

Во всех случаях каждая подфункция может содержать только те элементы, которые входят в исходную функцию, причем никакие из них не могут быть опущены. То есть родительский блок и его интерфейсы обеспечивают контекст. К нему нельзя ничего добавить, и из него не может быть ничего удалено.

Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.

На рис. 3.25—3.27 представлены различные варианты выполнения функций и соединения дуг с блоками.

Последовательность операций, время их выполнения не указываются на SADT-диаграммах. Обратные связи, итерации, продолжающиеся процессы и перекрывающиеся (по времени)

Функции могут быть изображены с помощью дуг. Обратные связи могут выступать в виде комментариев, замечаний, исправлений и т. д. (см. рис. 3.27).

Рис. 3.27. Пример обратной связи

Пример. 

Разработку функциональных диаграмм продемонстрируем на примере уточнения спецификаций программы сортировки одномерного массива с использованием нескольких методов.

Диаграмма, представленная на рис. 3.28, а, является диаграммой верхнего уровня. Она иллюстрирует исходные данные программы и ожидаемые результаты.

Рис. 3.28. Функциональные диаграммы для программы сортировки массива:

а — диаграмма верхнего уровня; б — уточняющая диаграмма

Диаграмма, представленная на рис. 3.28, б, детализирует Функции программы. На ней показаны три блока: Меню, Сортировка, Вывод результата. Для каждого блока определены исходные данные, управляющие воздействия и результаты. На детализирующей диаграмме используются следующие обозначения:

11 — размер массива;

12 — массив;

С1 — выбор метода;

R1 — вывод описания метода;

R2 — отсортированный массив.




1. В результате Октябрьской революции было свергнуто Временное правительство и к власти пришло правительство
2. .2. Федеральное агентство по образованию Государственное образовательное учреждение высшего профессион
3. Экономический анализ деятельности предприятия
4. 2013 года ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ 1 для экзамена по дисциплине Технич
5. Корпоративная культура как компонент инновационной культуры студента педагогического вуз
6. Задание 1 Номер варианта Составьте формулы оксидов и соответст
7. МЕХавцев... а тут еще и на Рафа напали
8. Искусство Древнего Египта
9. Денежные реформы в истории России
10. тематических задач в Mple IV
11. тема організацій та установ.
12. Утверждаю Начальник отдела по Физической культуре спорту туризму и молодежной политике Приозе
13. Аудит прочих расходов
14. Совершенствование структуры и содержания домашнего задания как формы организации самостоятельной работы учащихся
15. Лабораторная работа 1 Работа в режиме командной строки
16. РЕФЕРАТ на тему- ldquo; Конституционная монархия в Англии 1689 г и ее правовое закрепление
17. Каждый преобразователь многоотводной линии вырабатывает выходной электрический сигнал по мере того как п
18. ПОСОБИЕ ПО ИЗУЧЕНИЮ КУРСА СОЦИОЛОГИИ ХАРЬКОВ 2010
19. Бенчмаркинг Приведем лишь некоторые из них
20. Контрольная работа по дисциплине История Вариант 10 Выполни