Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода Климко 2006 (Мет пособие).doc
Скачиваний:
277
Добавлен:
15.06.2014
Размер:
1.12 Mб
Скачать
      1. Этапы конструирования программы

Метод Джексона реализуется 5 этапами:

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

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

  3. Создать структуру программы.

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

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

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

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

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

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

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

А) Задание идентификации всех компонентов данных представляет собой таблицы следующего вида:

Идентификация: Код

Таблица 3.4 – Таблица всех компонентов данных

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

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

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

Имя компонента данных (с условием появления)

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

повт.

посл.

выб.

элем.

1

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

Входной файл

1.2, 1.3

1.1

-

-

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. Рассмотреть совокупность всех входных и выходных данных как компонентов самого высокого уровня.

  2. Перечислить подкомпоненты данных, которые содержат компонент из шага 1 или 4. Как компоненты, так и подкомпоненты должны быть либо последовательностью, либо повторением, либо элементарной конструкцией.

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

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

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

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

Входной файл имеет тип FT, FM или FS в зависимости от типа большинства записей. В выходном файле тип файла и дата создания файла извлекаются из файла. Количество T, M, S – это результат подсчета входных записей одного из типов.

В) Контрольный перечень. Представляет собой стандартный набор вопросов для оценки полноты и корректности структур данных. Состоит из двух частей:

  1. для проверки полноты структуры данных.

Вопросы:

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

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

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

  • идентифицированы ли все объекты прикладного уровня.

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

  • для оценки корректности структур данных.

    Вопросы:

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

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

    • является ли каждый компонент данных конкретной последовательностью выбора, повторения или элементарным компонентом.

    Этап 2. Идентификация соответствия между структурами данных (Рисунок 3 .47).

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

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

    2. Соответствующие компоненты должны появляться в одинаковом порядке.

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

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

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

    Этап 3. Создание структуры программы (Рисунок 3 .48).

    Подэтапы:

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

    Рисунок 3.48 – Создание структуры программы

    1. Включить не имеющие соответствия компоненты структуры входных данных в формируемую структуру программы на те же относительные иерархические места и снабдить их соответствующим именем. Результат выполнения ( ):

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

    1. Включить не имеющие соответствия компоненты структуры выходных данных в формируемую структуру программы на те же относительные иерархические места и снабдить их соответствующим именем. Результат выполнения ():

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

    Этап 4: Перечисление и распределение исполнимых операций.

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

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

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

    Для составления списка используется контрольный перечень операций:

    1. операции завершения.

    2. операции открытия.

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

    4. вычисления.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. Читать входной файл.

    1. Внутренние переменные обнаруживаются только в вычислениях.

      1. Tкол :=Tкол + 1

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

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

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

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

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

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

    Рисунок 3.51 – Результат

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

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

    Последовательность (Рисунок 3 .52)

    Рисунок 3.52 – Последовательность

    А посл.

    выполнить В

    выполнить С

    выполнить D

    А конец

    Выбор (Рисунок 3 .53)

    Рисунок 3.53 – Выбор

    А выбуслов. Р

    выполнить процесс Р

    А илиуслов.Q

    выполнить Q

    А или(услов.R)

    Выполнить процесс R

    А конец

    Повторение (Рисунок 3 .54)

    Рисунок 3.54 – Повторение

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

    выполнить процесс Х

    Iконец

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

    Структурированное описание программы отчета будет иметь следующий вид:

    Программа отчета посл

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

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

    ТКОЛ=0

    МКОЛ=0

    SКОЛ=0

    Читать входной файл

    Обработка заголовка посл

    Писать текст файла

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

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

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

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

    Не запись завершителя

    Обработка записи посл

    Читать входной файл

    Обработка выбр. зап. выбусловия Т

    ТКОЛ=ТКОЛ+1

    Обработка выбр. Зап .ИЛИусловия М

    МКОЛ=МКОЛ+1

    Обработка выбр. Зап .ИЛИ(условияS)

    SКОЛ=SКОЛ+1

    Обработка выбр. зап. Конец

    Обработка записи Конец

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

    Писать количество Т

    Писать количествоМ

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

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

    Обработка тела файла Конец

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

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

    Стоп