Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proekt_po.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
424 Кб
Скачать
☆

4.3.Структурные карты Константайна

На структурной карте отношения между модулями представляют в виде графа, вершинам которого соответствуют модули и общие области данных, а дугам – межмодульные вызовы и обращения к общим областям данных.

Различают четыре типа вершин:

  • модуль – подпрограмма;

  • подсистема – программа;

  • библиотека – совокупность подпрограмм, размещенных в отдельном модуле;

  • область данных – специальным образом оформленная совокупность данных, к которой возможно обращение извне.

Обозначения соответствующих вершин приведены на рис. 4.6. (Обозначения даны в соответствии со стандартами IBM, ISO и ANSI.)

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

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

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

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

Пример 4.2. Представим в виде структурной карты Константайна полную структурную схему, полученную в предыдущем примере (рис. 4.5).

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

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

Модули Расчет значений функции, Вывод таблицы и Построение графика связаны с основной программой по образцу, так как параметры X и Y структурные (массивы), следовательно, программа считается сцепленной по образцу.

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]