Структурные карты Джексона
Техника структурных карт Джексона основана методе структурного программирования Джексона, который выявляет соответствие между структурой потоков данных и структурой программы. Основное внимание в методе сконцентрировано на соответствии входных и выходных потоков данных. Структуры на диаграммах Джексона строятся из четырех основных компонентов, представленных на рис. 10:
операция – блок кодов, имеющий один вход и один выход (рис. 10, а);
следование – последовательное выполнение операций слева направо (рис. 10, б);
выбор – выполнение одной из операций в зависимости от выполнения условия (рис. 10, в);
итерация – многократное выполнение блока (рис. 10, г).
Рис. 10. Элементы структурных диаграмм Джексона.
Пример 3. У менеджера торговой фирмы имеется файл, содержащий записи о принтерах со следующими полями: фирма-производитель, марка, скорость печати, стоимость, количество единиц на складе. Эти поля образуют структуру входных данных. По запросу менеджера программа выдает сведения о нужных покупателю принтерах в соответствии с критерием поиска. Критерием может быть: цена, скорость или фирма-производитель. Выходными данными является список, содержащий наименования выбранных принтеров.
С точки зрения структурного программирования Джексона алгоритм программы будет следующим:
Программа
Цикл-пока не конец файла
Сравнить заданные поля с критерием поиска
Если совпали
Сохранить в выходной список
Конец-если
Конец-цикл
Вывод результирующего списка
Конец-программа
Полученная структурная карта Джексона приведена на рис. 11.
Рис 11. Структурная карта Джексона
Порядок выполнения работы:
На основе технического задания из лабораторной работы № 1 и эскизного проекта из лабораторной работы № 2 оформить пояснительную записку к техническому проекту в соответствии с ГОСТ 2.120-73 Технический проект (см. приложение 5).
Разработать структурную схему программного продукта.
Разработать функциональную схему программного продукта.
Уточнить алгоритмы программ, разработанные в лабораторной работе № 2, используя метод пошаговой детализации.
Представить структурную схему в виде структурных карт Константайна.
Представить структурную схему в виде структурных карт Джексона.
Оформить результаты, используя MS Office или MS Visio в виде приложений к техническому проекту (структурные и функциональные схемы).
Сдать и защитить работу.
Защита отчета по лабораторной работе
Отчет по лабораторной работе должен включать в себя:
Структурную схему программного продукта.
Структурные карты Константайна.
Структурные карты Джексона.
Защита отчета по лабораторной работе заключается в предъявлении преподавателю полученных результатов (на экране монитора), демонстрации полученных навыков и ответах на вопросы преподавателя.
Структурные карты Джексона
Техника структурных карт Джексона основана на методе структурного программирования Джексона, который выявляет соответствие между структурой потоков данных и структурой программы [39]. Основное внимание в методе сконцентрировано на соответствии входных и выходных потоков данных. Структуры на диаграммах Джексона строятся из четырех основных компонентов, представленных на рис. 4.9:
- • операция — блок кодов, имеющий один вход и один выход (рис. 4.9, а)
- • следование — последовательное выполнение операций слева направо (рис. 4.9, б);
- • выбор — выполнение одной из операций в зависимости от выполнения условия (рис. 4.9, в);
- • итерация — многократное выполнение блока (рис. 4.9, г).


Рис. 4.9. Элементы структурных диаграмм Джексона

Пример 4.3. У менеджера торговой фирмы имеется файл, содержащий записи о принтерах со следующими полями: фирма-производитель, марка, скорость печати, стоимость, количество единиц на складе. Эти поля образуют структуру входных данных. По запросу менеджера программа выдает сведения о нужных покупателю принтерах в соответствии с критерием поиска. Критерием может быть: цена, скорость или фирма-производитель. Выходными данными является список, содержащий наименования выбранных принтеров.
С точки зрения структурного программирования Джексона алгоритм программы будет следующим:
Диаграмма Джексона
Схема Джексона является метод структурного проектирования компьютерных программ. Это часть метода, который теоретик Майкл А. Джексон (* 1936) разработал между 1975 и 1979 годами.
Оглавление
Структура и элементы
Диаграмма Джексона представляет структуру программы в иерархической форме, подобной организационной диаграмме . Общая программа постепенно разбивается на отдельные функции. Компоненты диаграммы представляют собой простые прямоугольники, соединенные стрелками.
Есть всего три типа прямоугольников:
- Прямоугольник без дополнительной маркировки указывает на простой функциональный блок, который выполняется один раз.
- Прямоугольник со звездочкой (*) в правом верхнем углу указывает на функцию, которая выполняется повторно.
- Прямоугольник с кружком (o) в верхнем правом углу указывает на одну из нескольких альтернатив.
Последовательность программы зависит от положения прямоугольников:
- Прямоугольники, подчиненные другому прямоугольнику, представляют собой уточненное описание функционального блока в прямоугольнике более высокого уровня.
- Прямоугольники, которые расположены рядом друг с другом в ряд и не отмечены кружком, представляют собой функциональные блоки, которые выполняются один за другим.
- Прямоугольники, расположенные рядом друг с другом и отмеченные кружком, представляют собой альтернативы, из которых возможен только один в зависимости от данной ситуации.
Джексон при условии, что данные, обрабатываемые программой, также представлены таким образом, так что связь между структурами данных и потоком программы становится видимой, а поток программы оптимально адаптируется к структуре данных.
пример
Клиенты и их заказы хранятся в базе данных. У каждого покупателя может быть несколько заказов. Каждый заказ состоит, с одной стороны, из заголовка заказа, в котором хранится общая информация о заказе, например запланированная дата доставки и логическое значение, указывающее, был ли заказ уже доставлен. С другой стороны, каждый заказ включает в себя несколько позиций заказа, в которых хранятся тип, количество и цена поставляемых товаров.
Для каждого заказа, для которого дата доставки была достигнута или превышена, следует
- счет будет выписан, когда товар будет доставлен
- можно написать письмо с извинениями, если товар еще не доставлен.
Данные из позиций заказа необходимы для составления счета-фактуры. Данных из записи о клиенте и заголовка заказа достаточно для письма с извинениями.
В этой ситуации следующая диаграмма Джексона показывает структуру данных и выполнение программы :
Есть еще один четвертый прямоугольник, помеченный минусом, технический корпус . Обычно это требуется, если вы хотите разработать единственно правильную, высокопроизводительную структуру программы . Для этого данные отображаются дважды, как описано выше. Один раз, как данные считываются, или второй раз, как данные в конечном итоге должны выводиться.
После определения двух структур данных они сначала сравниваются друг с другом и, наконец, объединяются в соответствии с простым принципом. Здесь совмещены соответствующие уровни иерархии. Остается только структура программы . Есть только одна правильная (наиболее эффективная) структура процесса. Важно, чтобы порядок сортировки данных в структуре ввода и вывода.
должны быть нанесены на карту. Как правило, существует так называемая групповая доля на итерацию (см. Прямоугольники со звездочкой на диаграмме). Каждая фракция группы состоит из части инициализации и последней части. Между ними находится соответствующая обработка. Диаграмма Джексона всегда читается сверху вниз, а затем слева направо. Чтобы иметь возможность поддерживать этот порядок, иногда требуется технический орган .
рейтинг
Диаграмма Джексона функционально эквивалентна диаграмме Насси-Шнейдермана для представления последовательности программы . Диаграмма Насси-Шнейдермана с уточнением растет внутрь, диаграмма Джексона растет вниз и наружу. Какой из двух методов вы предпочтете — дело вкуса.
С точки зрения теоретической информатики диаграммы Джексона являются полными по Тьюрингу , так что любая вычислимая проблема может быть сопоставлена с ними.
Расцвет обоих методов пришелся на 1980-е годы , когда предпочтительным методом было структурированное процедурное программирование. С появлением в 1990-х годах объектно-ориентированных языков программирования, таких как Java и C ++ , оба метода потеряли свое значение, поскольку они не могут адекватно отобразить расширенные возможности, которые предлагают эти языки.
Что касается представления структур данных, метод Джексона устарел вскоре после его создания, поскольку он не мог отображать реляционные базы данных, которые стали популярными в 1980-х годах. Другие способы взгляда на вещи, в частности модель отношений сущностей , быстро взяли верх над методом Джексона.
Диаграммы Джексона.
В основе диаграмм Джексона лежит предположение о том, что структуры данных, так же, как и программ, можно строить из элементов с использованием всего трех основных конструкций: последовательности, выбора и повторения.
Каждая конструкция представляется в виде двухуровневой иерархии, на верхнем уровне которой расположен блок конструкции, а на нижнем — блоки элементов. Нотации конструкций различаются специальными символами в правом верхнем углу блоков элементов. В изображении последовательности дополнительный символ отсутствует. В изображении выбора ставится символ «о» (латинское) — сокращение английского «или» (or). Конструкции последовательности и выбора должны содержать по два или более элементов второго уровня. В изображении повторения в блоке единственного (повторяющегося) элемента ставится символ «*».
Так схема, показанная на рис. 11.22, а, означает, что конструкция A состоит из элементов В, С и D, следующих в указанном порядке. Схема на рис. 11.22, б означает, что конструкция S состоит либо из элемента Р, либо из элемента Q, либо из элемента R. Схема, изображенная на рис. 11.22, в, показывает, что конструкция I может не содержать элементов или содержать один или более элементов X.

Рис. 11.22. Нотация Джексона для представления конструкций: а — последовательность, б — выбор; в — повторение
В случае если необходимо показать, что конструкция повторения должна включать один или более элементов, используют комбинацию из двух структур последовательности и повторения (рис. 11.23).