Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 5.docx
Скачиваний:
59
Добавлен:
23.02.2016
Размер:
58.65 Кб
Скачать

5.3 Структурні карти Константайна

 

На структурній карті відносини між модулями представляють у вигляді графа, вершинам якого відповідають модулі та загальні області даних, а дугам - міжмодульні виклики і звернення до загальних областей даних. Розрізняють чотири типи вершин (рис. 5.5):

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

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

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

• область даних - спеціальним чином оформлена сукупність даних, до якої можливе

звернення ззовні.

 

 

Рис. 5.5 - Позначення вершин за стандартами IBMISO і ANSI:

А - модуль; б - підсистема; в - бібліотека, г - область даних

 

При цьому окремі частини програмної системи (програми, підпрограми) можуть викликатися послідовно, паралельно або як співпрограми (рис. 5.6).

Рис. 5.6 - Позначення типу виклику:

А – послідовний виклик; б – паралельний виклик; в – виклик спів програми

 

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

Під паралельним викликом розуміють розпаралелювання обчислень на декількох обчислювачах, коли при активізації іншого процесу даний процес продовжує роботу (рис. 5.7, а). На однопроцесорних комп'ютерах у мультипрограмному середовищі у цьому випадку починається поперемінне виконання відповідних програм. Паралельні процеси бувають синхронні та асинхронні. Длясинхронних процесів визначають точки синхронізації - моменти часу, коли здійснюється обмін інформацією між процесами.Асинхронні процеси обмінюються інформацією тільки у момент активізації паралельного процесу.

Під викликом співпрограми розуміють можливість почергового виконання двох одночасно запущених програм, наприклад, якщо одна програма підготувала пакет даних для висновку, то друга може її вивести, а потім перейти в стан очікування наступного пакету. Причому в мультипрограмних системах основна програма, передавши дані, продовжує працювати, а не переходить в стан очікування, як зображено на рис. 5.7, б.

Рис. 5.7 - Діаграми реалізації паралельного виклику (а)

І виклику співпрограми (б)

 

Якщо стрілка, що зображає виклик, стосується блоку, то звернення відбувається до модуля цілком, а якщо входить до блоку, то - до елемента всередині модуля.

При необхідності на структурній карті можна уточнити особливі умови виклику (рис. 5.8): циклічний виклик, умовний виклик і одноразовий виклик - при повторному виклику основного модуля одноразово викликаний модуль не активізується!

Рис. 5.8 - Позначення особливих умов виклику:

А - циклічний, б-умовний; в - одноразовий

 

Зв'язки за даними і управлінню позначають стрілками, паралельними дузі виклику, напрям стрілки вказує напрямок зв'язку (рис. 5.9).

Структурні карти Константайна дозволяють наочно уявити результат декомпозиції програми на модулі та оцінити її якість, тобто відповідність рекомендаціям структурного програмування (зчеплення і зв'язність).

Рис. 5.9 - Позначення типу зв'язку:

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