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



На структурной карте отношения между модулями представляют в виде графа, вершинам

которого соответствуют модули и общие области данных, а дугам - межмодульные вызовы и

обращения к общим областям данных.

Различают четыре типа вершин (рис. 5.7):

• модуль - подпрограмма,

• подсистема - программа,

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

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

возможно обращение извне.

 

При этом отдельные части программной системы (программы, подпрограммы) могут

вызываться последовательно, параллельно или как сопрограммы (рис. 5.8).

Чаще всего используют последовательный вызов, при котором модули, передав управление,

ожидают завершения выполнения вызванной программы или подпрограммы, чтобы продолжить

прерванную обработку.

Под параллельным вызовом понимают распараллеливание вычислений на нескольких

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

5.9, а). На однопроцессорных компьютерах в мультипрограммных средах в этом случае

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

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

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

процессы обмениваются информацией только в момент активизации параллельного процесса.

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

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

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

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

работать, а не переходит в состояние ожидания, как изображено на рис. 5.9, б.  

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

целиком, а если входит в блок, то - к элементу внутри модуля.

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

циклический вызов, условный вызов и однократный вызов - при повторном вызове основного

модуля однократно вызываемый модуль не активизируется!

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

направление стрелки указывает направление связи (рис. 5.11).

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

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

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


Дата добавления: 2019-02-12; просмотров: 345; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!