Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧЕБНОЕ ПОСОБИЕ Глухова Лилия Александровна 2007.pdf
Скачиваний:
568
Добавлен:
15.06.2014
Размер:
921.37 Кб
Скачать

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

4.2.4. Анализ сообщений

Анализ сообщений является второй из стратегий, реализующих метод

нисходящего

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

Анализ сообщений

используется

в первую

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

 

Анализ

сообщений

основывается

на

анализепотока

данных,

обрабатываемых программой.

Рисунок 4.1 иллюстрирует потоки информации и обрабатывающие их процессы для программы обработки пакетов записей[12], рассмотренной в пп. 4.2.2, 4.2.3 (см. примеры 4.1, 4.2).

 

 

Правильные

 

 

 

Входные Проверка

пакеты

Результаты

Проверка

данные

пакетов

Обработка

результа-

 

пакетов

 

 

тов

 

 

 

 

Неправильные

 

Неправильные

Правильные

пакеты

 

 

результаты

 

результаты

Печать

ошибок Печать Запоминание ошибок правильных

результатов

Сообщения об ошибках

Рисунок 4.1 – Диаграмма потоков данных для программы обработки пакетов

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

72

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

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

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

Рисунок 4.2 представляет диаграмму разбиения программы на исток– преобразователь – сток. Линии на диаграмме показывают потоки передачи данных между процессами.

А В С

Исток

Преобразователь

Сток

Рисунок 4.2 – Диаграмма разбиения любой программы на исток-преобразователь-сток

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

независимый

модуль,

внутренняя

подпрограмма

или

некоторая

часть

программы.

 

 

 

 

 

 

 

Процесс

декомпозиции

программы

заключается

в

рекурсивн

использовании

метода

разбиения

на исток–

преобразователь

– сток

на

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

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

73

Управление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

В

 

 

С

 

 

 

 

 

 

 

 

 

Рисунок 4.3 – Схема иерархии модулей программы

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

Рисунок 4.4 представляет иерархическую структуру модулей для первого уровня декомпозиции программы обработки пакетов, рисунок 4.5 – для второго уровня декомпозиции.

Обработка

пакетов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

3

 

 

 

 

 

 

 

 

 

Рисунок 4.4 – Анализ сообщений при проектировании программы обработки пакетов

(декомпозиция первого уровня)

На данных рисунках приняты следующие обозначения:

1)чтение правильного пакета (исток)

2)обработка пакетов (преобразователь)

3)запоминание правильных результатов (сток)

4)чтение пакета (исток модуля-истока 1);

5)проверка пакета (преобразователь модуля-истока 1);

6)запоминание неправильного пакета (сток модуля-истока 1);

7)чтение записи (исток модуля-преобразователя 2);

8)обработка записи (преобразователь модуля-преобразователя 2);

9)проверка результатов (преобразователь модуля-стока 3);

10)запоминание результатов (сток модуля-стока 3).

74

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

Обработка

пакетов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

5

6

7

8

9

10

Рисунок 4.5 – Анализ сообщений при проектировании программы обработки пакетов

(расширенная декомпозиция)

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

Таблица 4.1 представляет информационные связи между модулями для программы обработки пакетов.

Таблица 4.1 – Таблица межмодульных связей

Модуль

Вход

Выход

 

 

 

1

Правильный пакет

Конец файла

 

 

2

Правильный пакет

Результаты пакета

 

 

 

3

Результаты пакета

 

 

 

4

Данные пакета

Конец файла

 

 

75