Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PrIS

.pdf
Скачиваний:
45
Добавлен:
07.12.2018
Размер:
7.24 Mб
Скачать

151

152

РОЗДІЛ. 10. Структурне проектування на етапі проектування програмного забезпечення

Призначення структурних карт Константайна

Призначення структурних карт Джексона

Урозділі описано методологію побудови структурних карт

Константайна та Джексона.

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

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

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

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

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

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

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

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

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

153

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

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

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

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

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

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

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

для моделювання умовних і циклічних викликів застосовуються вузли зображені на рис. 10.3;

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

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

154

потоки – альтернативні виклики ─ зображаються такими, що виходять

з нього;

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

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

Рис. 10.4. Умовні і циклічні виклики модулів а - циклічний; б - умовний; в – одноразовий.

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

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

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

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

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

10.2. Структурні карти Джексона

155

Техніка структурних карт Джексона базується на методі структурного програмування Джексона, який виявляє відповідність між структурою потоків даних і структурою програми [39]. Основна увага у методі сконцентрована на відповідності вхідних і вихідних потоків даних.

Рис.10.6. Приклад структурної карти Константайна.

Структури на діаграмах Джексона будуються з чотирьох основних компонентів, поданих на рис. 10.7:

операція – блок кодів, що має один вхід і один вихід (рис. 10.7, а);

проходження – послідовне виконання операцій зліва направо (рис.10.7,

б);

вибір – виконання однієї з операцій залежно від виконання умови (рис. 10.7, в);

ітерація – багатократне виконання блоку (рис. 10.7, г).

.

156

Рис. 10.7. Елементи структурних діаграм Джексона.

Приклад 10.2. У менеджера торгівельної фірми є файл, що містить записи про принтери з такими полями: фірма-виробник, марка, швидкість друку, вартість, кількість одиниць на складі. Ці поля утворюють структуру вхідних даних. На запит менеджера програма видає відомості про потрібні покупцеві принтери відповідно до критерію пошуку. Критерієм може бути: ціна, швидкість або фірма-виробник. Вихідними даними є список, що містить назву вибраних принтерів.

Із погляду структурного програмування Джексона алгоритм програми буде такими:

Програма Цикл-поки не кінець файла

Прочитати запис Порівняти задані поля з критерієм пошуку Якщо назви співпали

Зберегти у вихідний список Кінець-якщо Кінець-цикл

Виведення результатного списку Кінець-програма

Отримана структурна карта Джексона наведена на рис. 10.8.

157

Рис 10.8. Структурна карта Джексона.

Таблиця. 10.1. Позначення елементів структурних карт.

 

 

Константа-

 

 

 

 

 

SAG

 

 

SADT (fefo)

Джексона

 

 

 

 

 

 

 

йна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модуль

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

підсистема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---

 

 

---

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(підпрограма)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бібліотека

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---

 

 

----

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(бібл.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модуль)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

виклик

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модуля

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зв’язок за

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---

 

 

---

 

даними

 

 

 

 

+ опис секції

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зв’язок з

 

 

 

 

 

 

 

 

 

 

 

 

 

 

через

---

 

функцією

 

 

повислі вершини

 

 

механізм

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

виконуються

 

 

успадкування

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прогр. модулями

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Висновки

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

158

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

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

Контрольні запитання

1.Призначення структурних кар Джексона.

2.Призначення структурних карт Константайна.

РОЗДІЛ 11. Засоби створення діаграм

Призначення CASE-технологій

Програмний засіб BPWin

Програмний засіб ERWin

Програмний засіб Visio

Урозділі описано призначення CASE-технологій та основні програмні засоби для проектування систем.

11.1. Призначення CASE-технологій

Ориґінальне проектування ІС є досить дорогим заходом та використовується при створенні невеликих та нескладних за функціями ІС. Типове проектування застосовується фірмами-розроблювачами, що спеціалізуються на створенні ІС об'єктів керування визначеного типу або окремих функцій керування (бухгалтерський облік, логістика, керування персоналом і

159

т.ін.). Типове проектування ІС забезпечує економію витрат праці розроблювачів, скорочення часу проектування, гарантований рівень якості проектних рішень.

CASE-технологія забезпечує автоматичну верифікацію і контроль проекту на повноту і обґрунтованість на ранніх етапах розроблення, що істотно заощаджує час на етапі тестування.

При створенні великомасштабних і складних ІС, реінжинірінґу бізнес-процесів все частіше користуються засобами САSЕ-технологій або їх елементами. Сучасні САSЕ-технології (табл. 3.1) підтримують основні етапи життєвого циклу ІС (ЖЦ ІС) [34], забезпечують перевірку результатів проектування.

Системи автоматизації розподіленого проектування ПЗ на основі CASE-технологій дозволяють внести значні вдосконалення у процес розроблення.

Проектування і реалізація ІС [78] здійснюється за допомогою різних технологій виконання проектних робіт:

ориґінальне проектування ІС;

типове проектування ІС;

засоби комп'ютерної підтримки процесу розроблення ІС — CASE-технології (Computer Aided System Engineering).

Таблиця 11.1. Характеристика CASE-технологій.

160

CASE-

 

 

 

Пере

П

 

технології

 

 

ЖЦ

вірка

латфо

СКБД

 

 

 

ІС

 

рма

 

 

 

 

 

 

West-Mounti-,

 

+

+

O

CASE + Unifase

 

+

 

 

ACLE,

 

 

 

 

 

 

Informix

 

 

 

 

 

 

Sybase,

 

 

 

 

 

 

Ingres

 

 

 

 

 

 

тощо, d

 

 

 

 

 

 

файли

 

 

 

 

 

Designer+,Dev

 

+

-

Ц

eloper

 

 

+

 

 

ьова

 

 

 

 

 

 

СКБД

 

 

 

 

 

 

тільки

 

 

 

 

 

 

ORACL

 

 

 

 

 

 

Silver-Run

+

 

-

 

 

JAM

 

 

+

 

+

ORACL

 

 

 

 

 

 

Informix

 

 

 

 

 

 

Sybase,

 

 

 

 

 

 

Ingres

 

 

 

 

 

 

тощо

 

 

 

 

 

 

 

AllFusion

 

 

 

-

-

 

Modeling

Suite

+

 

 

ORACL

(Erwin/ERX

 

+)

 

 

 

Informix

PowerBuilder

 

 

 

 

 

Sybase,

 

 

 

 

 

 

підтрим

 

 

 

 

 

 

ODBC