Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии разработки ПО Уебное пособие Глухова Лилия Александровна, БГУИР 2010 (Книга).pdf
Скачиваний:
1125
Добавлен:
15.06.2014
Размер:
2 Мб
Скачать
☆

Выходные данные управляющего компонента отображаются как входные для вызываемых им компонентов. Поэтому компонент-исток имеет выходные данные, сток – входные данные, преобразователь – и те, и другие.

Резюме

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

Таблица 4.1

Таблица связей между компонентами

Компо-

Вход

Выход

нент

 

 

1

—

Правильные даты

 

 

 

2

Правильные даты

Результаты

 

 

 

3

Результаты

—

 

 

 

4

—

Прочитанная дата

 

 

 

5

Прочитанная дата

Правильная дата

Неправильная дата

 

 

6

Неправильная дата

—

 

 

 

7

Правильная дата

Обработанная дата

 

 

 

8

Обработанная дата

Правильный результат

Неправильный результат

 

 

9

Правильный результат

—

 

 

 

4.4. Методы восходящего проектирования

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

107

более высокого уровня. Процесс продолжается, пока не будет завершена разработка всего программного средства.

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

Метод восходящего проектирования целесообразно применять в следующих случаях:

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

заранее известно, что некоторые простые или стандартные модули потребуются нескольким различным частям программы (например, подпрограмма анализа ошибок, ввода-вывода и т.п.).

Обычно используется сочетание методов нисходящего и восходящего проектирования [22]. Такое сочетание возможно различными способами. Ниже рассмотрены два из них.

Первый способ сочетания

Выделяются ключевые (наиболее важные) модули промежуточных уровней разрабатываемой программы. Затем проектирование ведется нисходящим и восходящим методами одновременно (рис. 4.27).

Второй способ сочетания

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

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

Резюме

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

108

Восходящее проектирование на базе ключевых модулей

Ключевые модули промежуточных уровней (разрабатываются вначале)

Нисходящее проектирование ключевых модулей

Рис. 4.27. Проектирование программы нисходящим и восходящим методами на базе ключевых модулей

Нисходящее

проектирование

Интерфейс между верхним и нижним уровнями программы

Восходящее

проектирование

Модули нижнего уровня, проектируемые в 1-ю очередь

Рис. 4.28. Проектирование программы нисходящим и восходящим методами на базе модулей нижнего уровня

109