Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектування інформаційних систем.doc
Скачиваний:
94
Добавлен:
21.09.2019
Размер:
28.77 Mб
Скачать

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

Методика структурних карт використовується на етапі проектування програмного забезпечення для того, щоб продемонструвати, яким чином програмний продукт виконує системні вимоги. При цьому найчастіше застосовуються дві техніки: структурні карти Константайна (Constantine), призначені для опису зв’язків між модулями, і структурні карти Джексона (Jackson), призначені для опису внутрішньої структури модулів [39].

Структуру програмної системи складають модулі, які на будь-якій мові програмування мають наступні спільні властивості:

  • модуль має назву, за якою до нього можна звертатися як до єдиного фрагмента;

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

  • модуль може приймати і/або передавати дані як параметри у певній послідовності або зв'язувати дані через певні параметри.

Структурні карти Константайна є моделлю зв’зків між модулями програми. Вузли структурних карт відповідають модулям і областям даних, потоки зображають міжмодульні зв'язки. На діаграмі спеціальними вузлами зображають циклічні і умовні виклики модулів, а потоки проходять через ці спеціальні вузли. Потоки, що зображають міжмодульні зв'язки між даними і функціями також зображають на діаграмі спеціальними вузлами, а стрілками вказують напрями потоків. На рис. 2.10 приведені основні компоненти структурних карт Константайна.

Модуль є базовим елементом структурної карти. Розрізняють наступні типи модулів (див. рис. 10.2):

  • модуль (рис. 10.2, а);

Рис. 10.1. Елементи структурних карт

а – модуль; б – виклик модуля; в – зв'язок з даними;с - зв'язок з функціями

  • підсистема – деталізований модуль або програма. Може використовуватися повторно будь-яку кількість разів (рис. 10.2, б);

  • бібліотека – сукупність підпрограм, розміщених в модулі окремо від заданої системи (рис. 10.2, в);

  • область даних – описує модулі, що містять виключно області глобальних/розподілених даних (рис. 10.2, г).

Рис. 10.2. Типи модулів

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

Для моделювання умовних і циклічних викликів застосовуються наступні вузли (рис. 10.3):

Рис. 10.3. Типи викликів модулів

  • умовний вузол застосовується для моделювання конструкцій IF-THEN-ELSE (на діаграмі з вузла виходять два потоки) і IF-THEN (з вузла виходить один потік). Умовний вузол зображається у вигляді ромба, потоки – альтернативні виклики зображаються такими, що виходять з нього;

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

Якщо необхідно показати, що підлеглий модуль викликається одноразово, це здійснюється вказанням цифри "1" поряд зі стрілкою, що позначає виклик модуля-спадкоємця (рис 10.4).

Рис. 2.12. Умовні і циклічні виклики модулів

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

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

Рис. 10.5. Зв'язки а – за даними і б – за керуванням

Приклад 10.1. Розробити структурну карту Константайна для задачі сортування одновимірного масиву за допомогою алгоритмів бульбашки, прямого вибору і Шелла.

Програма складається з модулів Меню, Методів сортування, і Виведення результату. Користувач вибирає потрібний метод, вводить масив і отримує у результаті відсортований масив.

Результат наведений на рис. 10.6.