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

Подэтап 3

Программа

 

обработки

 

таблицы

 

 

 

 

 

 

Формирование

Обработка

Получение

заголовка

тела отчета

завершителя

*

Обработка

строки

*

Обработка

элемента

Рисунок 4.27 – Формирование полной структуры программы (подэтап 3)

4.4.4. Этапы конструирования программы

Метод Джексона реализуется пятью этапами [16]:

1.Изобразить структуры входных и выходных данных.

2.Идентифицировать соответствие между структурами данных.

3.Спроектировать структуру программы.

4.Перечислить и распределить выполняемые операции.

5.Написать структурированное изложение.

Этап 1 метода Джексона.

Изображение структур входных и выходных данных.

Это самый важный этап метода Джексона, так как структуры данных образуют основу получаемых структур программ.

При создании корректных структур данных используетрися вида документов:

А. Задания для идентификации всех компонентов данных (таблицы). Б. Графическое представление структур данных.

В. Контрольные перечни структур данных.

92

А. Задания для идентификации всех компонентов данных

Данные задания представляют собой таблицы, вид которых иллюстрирует таблица 4.2.

Таблица 4.2 – Формат для регистрации входных компонентов данных

номерСсылочный

 

номерСсылочный компонентастаршего

 

 

-Повто рение

-Последо

-ватель ность

 

 

 

 

 

 

 

 

Ссылочные номера

 

 

 

Имя компонента

составляющих компонентов

 

Тип

 

данных

 

 

 

 

 

 

компонента

 

(с условием

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

появления)

 

 

 

Выбор

Элемен-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тарная

 

 

 

 

 

 

 

 

 

1

последова-

Входной файл

1.2,

 

1.1

 

тельность

 

 

 

1.3

 

 

 

 

1.1

последова-

1

Запись заголовка

1.1.2

1.1.1

тельность

 

 

 

 

 

 

 

 

 

1.2

повторение

1

Тело файла

 

1.2.1

 

 

 

 

 

 

 

 

 

1.3

повторение

1

Запись

 

1.3.1

завершителя

 

 

 

 

 

 

 

 

 

1.1.1

элементарная

1.1

Символ «Н»

 

 

 

 

 

 

 

 

 

 

1.1.2

последова-

1.1

Содержимое

 

1.1.2.1 1.1.2.2

тельность

заголовка

 

 

 

 

 

 

 

 

 

 

 

Запись (пока не

 

 

 

 

1.2.1.1,

1.2.1

выбор

1.2

 

1.2.1.2,

конец файла)

 

 

 

 

 

 

 

 

1.2.1.3

 

 

 

 

 

 

 

 

 

1.3.1.

элементарная

1.3

«Z» (пока <= 8)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.2.1.1,

1.1.2.1

выбор

1.1.2

Тип файла

 

1.1.2.1.2,

 

 

 

 

 

 

 

 

 

1.1.2.1.3

1.1.2.2

элементарная

1.1.2

Дата создания —

 

1.2.1.1элементарная 1.2.1 Т-запись — — — —

1.2.1.2элементарная 1.2.1 М-запись — — — —

1.2.1.3элементарная 1.2.1 S-запись — — — —

93

номерСсылочный

 

 

 

номерСсылочный

компонентастаршего

 

 

 

-Повто рение -Последо

-ватель ность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ссылочные номера

 

 

 

 

 

 

 

 

 

Имя компонента

составляющих компонентов

 

 

 

 

Тип

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

компонента

 

 

 

(с условием

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

появления)

 

 

 

 

 

Выбор

Элемен-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тарная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.2.1.1

элементарная

1.1.2.1

Тип Т FT-файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.2.1.2

элементарная

1.1.2.1

Тип М FM-файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.2.1.3

элементарная

1.1.2.1

 

Тип S FS-файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для заполнения таблиц необходимо выполнить следующие действия в

указанном порядке.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-ый шаг. Представить совокупность всех входных и выходных данных в

 

виде компонентов самого высокого уровня (например, «Файл» или «Отчет»).

 

2-ой шаг. Перечислить подкомпоненты данных, которые содержит

 

компонент

из

шага1

или

4. Этот

компонент

 

должен

 

быть

либо

последовательностью, либо повторением, либо выбором.

 

 

 

 

 

 

 

3-ий

шаг.

Снабдить иерархическими

номерами

 

все

подкомпоненты.

Указать имя, тип, номер и условие появления.

4-ый шаг. Для каждого подкомпонента определить, можно ли его обрабатывать при каждом появлении одним и тем же набором действий независимо от условий. Если да, то компонент можно считать элементарным и

исследовать следующий подкомпонент компонента более

высокого

уровня.

Если нет, то необходим возврат к шагу2 с целью дальнейшего разложения

этого подкомпонента.

 

 

Таблица 4.2 содержит набор компонентов для

входной

структуры

данных. Данная структура входных данных будет использоваться в качестве

примера при дальнейшем рассмотрении метода Джексона.

 

 

Аналогичная таблица должна быть заполнена

для полного набора

выходных данных.

 

 

Б. Графическое представление структур данных

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

Рисунок 4.28 представляет схему структуры входных данных. Основу для данной структуры составляет таблица 4.2. Входной файл имеет тип FT, FM или FS в зависимости от типа большинства записей в файле(запись имеет тип Т, М

94

или S). Запись завершителя представляет собой повторение из восьми символов

Z.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Входной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запись

 

 

1.1

 

 

 

Тело файла

 

1.2

 

1.3

Запись

 

 

 

заголовка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

завершителя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.1

 

 

 

 

 

 

 

1.1.2

 

 

 

 

 

 

1.2.1

1.3.1

 

Символ

 

 

Содержимое

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(8)

 

*

 

«Н»

 

 

 

заголовка

 

 

Запись

 

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.2.1

 

 

 

 

 

 

1.1.2.2

 

 

 

 

 

 

 

 

 

 

 

 

 

Тип файла

 

 

 

Дата создания

 

О

 

 

 

О

 

 

О

 

 

 

 

 

 

 

 

T

 

M

 

 

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2.1.1

 

1.2.1.2

 

1.2.1.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

 

 

 

 

О

 

 

 

О

 

 

 

 

 

 

 

 

 

 

 

FT

 

 

FM

 

 

 

FS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.2.1.1

1.1.2.1.2

 

1.1.2.1.3

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 4.28 – Графическое представление структуры входного файла

Рисунок 4.29 содержит графическое представление структуры выходного файла. Пусть данная структура получена на основе таблицы, содержащей набор компонентов для выходной структуры данных. Форма таблицы аналогична рассмотренной выше (см. таблица 4.2).

В выходном файле компоненты«Тип файла» и «Дата создания» (см. рисунок 4.29) извлекаются из входного файла. Компоненты «Количество Т», «Количество М», «Количество S» представляют собой результат подсчета количества входных записей соответствующего типа (Т, М или S).

95

Выходной файл

 

Заголовок

 

 

 

 

 

Тело файла

 

 

 

отчета

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тип файла

 

Дата создания

 

Количество

 

Количество

 

 

Количество

 

 

Т

 

 

M

 

 

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 4.29 – Графическое представление структуры выходного файла

В. Контрольный перечень для формирования структур данных

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

Первая часть перечня предназначена для проверки полноты структуры данных.

Примеры вопросов, относящихся к данной части:

идентифицирован ли каждый вход и выход?

представляет ли компонент данных самого высокого уровнявесь вход или выход?

идентифицирован ли каждый компонент данных именем?

идентифицированы ли все объекты прикладного уровня(заголовки, типы строк отчетов и т.п.)?

можно ли идентифицировать дополнительные структуры данных? Вторая часть перечня предназначена для оценки корректности структур

данных.

 

 

 

 

 

Примеры вопросов, относящихся к данной части:

 

является

ли

каждый

подкомпонент

конструкции

взаимоисключающим среди других соответствующих подкомпонентов?

– изображена ли структура данных сверху вниз и слева направо с точки

зрения появления компонентов данных?

 

 

является

ли

каждый

компонент

данных

последовательностью, выбором, повторением или элементарным компонентом?

96

Этап 2 метода Джексона.

Идентификация соответствий между структурами данных.

Второй

этап

метода

Джексона

заключается

в

идентифик

соответствий обработки между структурами входных и выходных данных,

созданными на первом этапе.

 

 

 

 

Общие

правила

установления

соответствий

между компонентами из

различных (входной и выходной) структур данных:

1)

Должно совпадать число соответствующих

друг другу

компонентов

данных.

 

 

 

 

 

2)

Соответствующие

компоненты должны

появляться

в

одинаковом

порядке.

 

 

 

 

 

3)

Должна иметься

возможность совместной обработки каждого

набора

соответствующих компонентов.

Самый эффективный способ идентификации всех соответствий состоит в том, чтобы начать со структуры данных с наименьшим числом компонентов.

В рассматриваемом примере это структура выходных данных(сравните рисунок 4.28, рисунок 4.29). Используя три приведенных выше правила, необходимо начинать с вершины и при работе продвигаться вниз.

Рисунок 4.30 представляет результат идентификации соответствий рассмотренных выше (см. рисунок 4.28, рисунок 4.29) структур входных и выходных данных.

Этап 3 метода Джексона. Создание структуры программы.

Можно выделить три подэтапа создания структур программ:

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

В результате получается упрощенная структура программы. Каждый из сформированных компонентов программы снабжается именем вида «Обработка Х для создания Y».

Рисунок 4.31 иллюстрирует результат данного подэтапа дл рассматриваемого примера (см. рисунок 4.30).

97

Входной

 

 

 

Выходной

файл

 

 

 

файл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запись

 

 

Тело файла

 

Запись

 

 

заголовка

 

 

 

завершителя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(8)

Символ

 

 

 

 

 

*

 

 

 

 

 

 

Содержимое

 

 

*

 

«Н»

 

 

заголовка

 

Запись

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заголовок

отчета

Тип

Дата

файла

создания

Тип

 

Дата

 

О

 

О

 

О

 

 

T

 

M

 

S

файла

 

создания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тело файла

КоличеКоличеКоличе-

ство Т

ство M

ство S

 

О

 

 

О

 

О

ё FT

 

 

FM

 

 

FS

Рисунок 4.30 – Идентификация соответствий между входной и выходной структурами данных

Программа

отчета

 

 

Обработка

 

 

Обработка

 

 

 

 

заголовка

 

 

тела файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

Обработка даты

 

 

 

 

типа файла

 

 

 

создания

 

 

 

 

 

 

 

 

 

 

Рисунок 4.31 – Упрощенная структура программы

 

Подэтап 2. Включение

не

 

имеющих

соответствия

компонентов

структуры входных данных в формируемую структуру программы на те же относительные иерархические места и присвоение им соответствующих имен по аналогии с подэтапом 1.

Рисунок 4.32 содержит результат выполнения данного подэтапа. На данном рисунке двойной линией справа выделены добавленные на данном подэтапе компоненты программы.

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

Подэтап 3. Включение не имеющих соответствия компоненто структуры выходных данных в формируемую структуру программы на те же относительные иерархические места и присвоение им соответствующих имен по аналогии с подэтапом 1.

Рисунок 4.33 содержит результат выполнения данного подэтапа. На данном рисунке двойной линией справа выделены добавленные на данном подэтапе компоненты программы.

В структуре

выходных

данных

не

имеют

соответствия компоненты

«Количество

Т», «Количество

М», «Количество S».

Это

подкомпоненты

 

компонента

«Обработка

тела

файла».

Но

они

не

содержатся

в

ег

подкомпоненте «Обработка записи». Поэтому их нужно поместить вне этого

 

подкомпонента. Так

как

подкомпоненты«Количество

Т», «Количество

М»,

 

«Количество

S» могут

возникнуть только

после

обработки всего

набора

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

Это изменило структуру компонента «Обработка тела файла». Ранее этот

компонент

был

повторением с повторяемой

частью«Обработка записи».

Теперь

он

стал

последовательностью. Но

среди

последовательных

подкомпонентов не должно быть повторяемых подкомпонентов. Поэтому в структуру компонента «Обработка тела файла» добавляется подкомпонент «Обработка тела записи».

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

На следующем этапе необходимо снабдить управляющую структуру программы исполняемыми операциями.

Программа

отчета

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

 

 

 

 

тела

 

 

 

 

 

 

 

 

заголовка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

завершителя

 

 

 

 

 

 

 

 

 

 

файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

«Н»

 

 

содержимого

 

 

 

 

Обработка

 

 

 

(8)

Обработка Z

 

 

 

 

 

 

 

 

заголовка

 

 

 

 

записи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

Обработка

 

 

 

О

 

 

 

 

 

О

 

 

 

 

О

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

типа

 

 

 

 

 

 

даты

 

 

Обработ-

 

 

 

Обработ-

 

 

Обработ-

 

 

 

файла

 

 

 

 

создания

 

 

ка T

 

 

 

 

 

ка M

 

 

 

ка S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

 

 

 

 

 

 

 

О

 

 

 

 

О

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработ-

 

 

Обработ-

 

 

Обработ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ка FT

 

 

 

ка FM

 

 

 

ка FS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

100

Программа

отчета

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тела

 

 

 

 

 

 

 

 

 

заголовка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

Обработка

 

 

 

 

 

Обработка

 

 

 

 

 

Обработка

 

 

 

 

содержимого

 

 

 

 

 

 

 

 

 

 

 

 

«Н»

 

 

 

 

 

 

тела записи

 

 

 

 

 

количеств

 

 

 

 

 

 

заголовка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

Обработка

 

 

 

 

 

*

 

 

 

 

Обработка

 

 

 

Обработка

 

типа

 

 

 

 

 

 

даты

 

 

Обработка

 

 

 

 

 

количества

 

 

 

количества

 

файла

 

 

 

 

 

создания

 

 

записи

 

 

 

 

 

 

 

 

 

T

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О

 

 

 

 

 

 

 

О

 

 

 

 

О

 

 

О

 

 

 

 

 

О

 

 

 

О

Обработ-

 

Обработ-

 

 

Обработ-

 

Обработ-

 

Обработ-

 

 

Обработ-

 

 

 

 

ка FT

 

 

 

ка FM

 

 

ка FS

 

ка T

 

 

ка M

 

 

 

 

 

ка S

 

 

 

 

 

 

Обработка

завершителя

*

(8) Обработка Z

Обработка

количества

S

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

Этап 4 метода Джексона.

Перечисление и распределение исполняемых операций.

Для составления точного списка операций необходимо знать:

 

· спецификацию того, что должна делать программа;

 

 

· язык программирования, на

котором

должна

быть реализована

программа (для определения уровня детализации описания операций).

 

Для

составления

списка

операций

рекомендуется

пользова

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

группы операций.

 

 

 

 

 

 

 

 

I.

Операции

завершения,

служащие

для

прекращения

работы

 

программы – по одной на программу(например, «Стоп», «Конец» и

II.

т.п.).

 

 

 

 

 

 

 

 

Операции открытия и закрытия (например, для файлов).

 

III.

Операции вывода результатов (например, «Писать»).

 

 

IV.

Вычисления.

 

 

 

 

 

 

 

 

V.

Операции ввода входных данных.

 

 

 

 

VI. Управление

 

внутренними

 

переменными:

запоминание,

 

восстановление, инициализация и т.п.).

 

 

 

 

Опишем перечень операций для программы, управляющую структуру

которой

содержит

рисунок4.33,

на

метаязыке

структурированного

изложения.

 

 

 

 

 

 

 

 

I.Операции завершения.

1.Стоп.

II.Операции открытия и закрытия.

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

2.Открыть входной файл.

3.Открыть выходной файл.

4.Закрыть входной файл.

5.Закрыть выходной файл.

III.Операции вывода результатов.

Для определения операций вывода исследуется структура выходных данных (см. рисунок 4.29). Каждому элементарному компоненту соответствует своя операция вывода.

6.Писать тип файла.

7.Писать дату создания файла.

8.Писать количество T.

9.Писать количество M.

10.Писать количество S.

IV. Вычисления.

Вычисления требуются для генерации выходных данных. Поэтому

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

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

Для операций 8, 9, 10 необходимо накапливание количества записей соответствующего типа. Поэтому появляются операции:

11.Ткол := Ткол + 1.

12.Mкол := Mкол + 1.

13.Sкол := Sкол + 1.

V. Операции ввода входных данных.

Врассматриваемом примере используется один входной файл. Поэтому необходима одна операция ввода:

14.Читать из входного файла.

VI. Управление внутренними переменными.

Внутренние переменные обнаруживаются обычно только в вычислениях. Переменными, участвующими в вычислениях, в рассматриваемом примере являются Ткол, Mкол, Sкол (см. операции 11, 12, 13). В начале программы их нужно обнулить.

15.Tкол := 0.

16.Mкол := 0.

17.Sкол := 0.

Итак, полный набор исполняемых операций в рассматриваемом примере содержит 17 операций.

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

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

2)Где эта часть данных обрабатывается в структуре программы. В результате идентифицируется компонент программы, в который вносится эта операция. Эта операция вносится как его последовательный подкомпонент.

3)На каком последовательном месте должна появиться операция в компоненте программы (слева или справа, то есть в начале или в конце компонента).

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

Операция 1 (Стоп) встречается один раз на файл. Файл обрабатывается компонентом «Программа отчета». Поэтому операция «Стоп» должна являться подкомпонентом компонента «Программа отчета». Встречается в самом конце программы. Поэтому размещается на правом краю компонента«Программа отчета».

103

Программа

отчета

2

3

15

16

17

14

Обработка

Обработка

Обработка

4

5

1

 

 

 

 

 

 

заголовка

тела файла

завершителя

 

 

 

 

 

 

Обработка

 

 

 

Обработка

 

 

 

Н

 

 

содержимого

 

 

 

 

 

 

 

 

 

 

заголовка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

Обработка

 

 

 

типа файла

 

 

 

даты

 

 

 

 

 

 

 

 

 

 

создания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

6

 

 

 

 

 

 

тела типа

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка О

Обработка О

 

 

Обработка О

FT

 

 

FM

 

 

 

 

FS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

Обработка

 

Обработка *

(8)

 

тела записи

 

 

количеств

 

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка *

 

 

Обработка

 

 

Обработка

 

Обработка

 

 

записи

 

количества

 

количества

 

количества

 

 

 

 

 

 

 

 

 

 

 

 

 

Т

 

 

M

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

выбранной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

9

 

10

 

 

записи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка О

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обработка О

Обработка О

 

 

 

 

 

 

Т

 

 

 

 

М

 

 

 

 

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

12

 

 

 

 

 

 

13

 

 

 

 

 

Рисунок 4.34 – Размещение исполняемых операций

104

По аналогии операции 2 – 5 (Открытие и закрытие файлов) также являются подкомпонентами компонента «Программа отчета». Но операции 2, 3

(Открытие входного

и выходного файлов) необходимо поместить вначале

(слева) программы, а

операции 4, 5 (Закрытие файлов) – справа, но перед

операцией 1 (Стоп).

 

Операция 6 (Писать тип файла) выполняется один раз на тип файла. Тип файла обрабатывается компонентом«Обработка типа файла». Но у него уже есть три подкомпонента«Обработка FT», «Обработка FM», «Обработка FS». Операция 6 должна появляться после любого из этих подкомпонентов после того, когда принято решение, какой именно тип файла представлен. Таким образом, компонент «Обработка типа файла» должен превратиться из выбора в последовательность двух подкомпонентов: сначала выбор, затем операция 6. Поэтому в программу вводится дополнительный компонент«Обработка тела типа».

Очевидно, что операция 7 (Писать дату создания файла) является подкомпонентом компонента «Обработка даты создания».

Аналогично, операции 8, 9, 10 (Писать количество Т, Писать количество М, Писать количество S) распределяются по компонентам«Обработка количества Т», «Обработка количества М», «Обработка количества S».

Точно также операции 11, 12, 13 (Ткол := Ткол + 1, Mкол := Mкол + 1,

Sкол := Sкол + 1) являются подкомпонентами компонентов«Обработка Т», «Обработка М», «Обработка S».

Операции 15, 16, 17 (Tкол := 0, Mкол := 0, Sкол := 0) выполняются один раз на всю программу. Поэтому они являются подкомпонентами компонента «Программа отчета» и должны располагаться вначале (слева) программы.

Операция 14 (Читать из входного файла) должна появиться первый раз перед обработкой заголовка (один раз на всю программу). Поэтому операция 14 подключается к компоненту«Программа отчета» перед (слева) подкомпонентом «Обработка заголовка». Затем операция 14 должна появляться перед обработкой каждой записи. Поэтому компонент «Обработка записи» из

выбора превращается в последовательность и добавляется компон «Обработка выбранной записи» (см. рисунок 4.34).

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

Этап 5 метода Джексона.

Написание структурированного изложения.

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

105

 

Рисунок

4.35

иллюстрирует

представление

конструкц

последовательности в структурированном изложении. Данное представление

состоит из

списка подкомпонентов

последовательности в

порядке слев

направо с меткой посл (последовательность) в начале и с меткой конец в конце.

 

Последовательность

 

Структурированное изложение

 

 

 

 

 

 

 

 

 

А посл.

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

выполнить В

 

 

 

 

 

 

 

 

 

 

выполнить С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выполнить D

 

 

B

 

 

C

 

D

 

А конец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 4.35 – Конструкция последовательности и ее структурированное изложение

Рисунок 4.36 содержит представление конструкции выбора структурированном изложении. Представление выбора начинается меткой выб (выбор). «Условие Р» - это условие, при справедливости которого выполняется процесс Р. Аналогичное назначение имеют«Условие Q», «(Условие R)». Последнее условие берется в скобки, потому что в программе на языке программирования оно как правило не пишется.

 

Выбор

 

 

 

Структурированное изложение

 

 

 

 

 

 

 

Е выб. условие Р

 

 

Е

 

 

 

 

 

 

 

 

выполнить Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Е или условие Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выполнить Q

О

 

 

О

 

 

О

Е или (условие R)

Р

 

Q

 

R

 

 

 

 

выполнить R

 

 

 

 

 

 

 

Е конец

 

 

 

 

 

 

 

Рисунок 4.36 – Конструкция выбора и ее структурированное изложение

Рисунок 4.37

иллюстрирует

представление

конструкции

повторения

в

структурированном

изложении.

Представление

начинается

меткой

повт

 

 

 

 

 

 

 

106

(повторение). «Пока условие Х» описывает условие, при котором повторяется выполнение процесса Х.

Повторение

Структурированное изложение

 

 

 

 

I повт. пока условие Х

 

I

 

 

 

выполнить Х

 

 

 

 

 

 

 

 

I конец

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

Рисунок 4.37 – Конструкция повторения

 

 

 

 

 

 

 

 

 

 

 

 

и ее структурированное изложение

 

 

 

Таким

образом,

для

того

чтобы

перейти

к

структурированном

изложению

на базе

структуры

программы и размещенных

исполняемы

операций, необходимо

определить

условия

для

конструкций

выбора

повторения.

 

 

 

 

 

 

 

 

 

Для обеих конструкций выбора«Обработка тела типа» и «Обработка

выбранной

записи» (см. рисунок 4.34) условия

непосредственно связаны с

проверкой текущего содержимого записи.

Для повторения «Обработка тела записи» условием повторения является отсутствие записи завершителя (8 символов Z). Таким образом, с завершителем ничего не нужно делать, кроме распознавания его появления.

Еще одним компонентом, не требующим выполнения операций, является компонент «Обработка Н».

Таким образом, структурированное описание программы отчета, схему которой содержит рисунок 4.34, имеет следующий вид:

Программа отчета посл Открыть входной файл Открыть выходной файл ТКОЛ := 0 МКОЛ := 0

SКОЛ := 0

Читать из входного файла Обработка заголовка посл

Писать тип файла Писать дату создания файла

Обработка заголовка конец

107

Обработка тела файла посл

Обработка тела записи повт пока не запись завершителя ((8)Z) Обработка записи посл

Читать из входного файла Обработка выбранной записи выб условие Т

ТКОЛ := ТКОЛ + 1 Обработка выбранной записи или условие М

МКОЛ := МКОЛ + 1

Обработка выбранной записи или (условие S) SКОЛ := SКОЛ + 1

Обработка выбранной записи конец Обработка записи конец

Обработка тела записи конец Обработка количеств посл

Писать количество Т Писать количествоМ Писать количество S Обработка количеств конец

Обработка тела файла конец Закрыть входной файл Закрыть выходной файл Стоп

Программа отчета конец.

В программе присутствуют простые последовательные

компоненты,

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

тексте

структурированного

изложения

указывают

уровень

вложенност

программной

структуры

для

соответствующей

части программы. Например,

«Обработка

количеств

посл» находится

на

глубине

трех

уровней

 

 

 

 

 

 

 

 

 

программной структуре.

Структурированное изложение легко преобразуется в код программы, написанной на любом языке программирования.

Следует отметить, что метод Джексона был разработан давно(в 1975 г.). Поэтому данную технологию принято относить к разряду классически технологий.

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

степени

быть

отнесен

к

современнымCASE-технологиям

разработки

программных средств.

 

 

 

108