Зчеплення
Характеристики хорошої моделі реалізації
КІНЕЦЬПРОГРАМА
КІНЕЦЬЦИКЛ
КІНЕЦЬЯКЩО
ПРОГРАМА
ЦИКЛПОКИ не кінець файлу
Прочитати запис
Порівняти задані поля з критерієм пошуку
ЯКЩО співпали
Зберегти у вихідний список
Виведення результуючого списку
Отримана структурна карта Джексона приведена на рис. 13.12.
Структурні карти самі по собі нічого не говорять про якість моделі реалізації, оскільки є всього лише інструментом для демонстрації структури системи і складових її модулів, а також їх зв'язку один з одним.
Один з фундаментальних принципів структурного проектування полягає в тому, що велика система повинна бути розчленована на модулі. При цьому істотними є те, що це розчленовування повинно бути виконане так, щоб модулі були якомога більш незалежними (критерій зчеплення) і щоб кожен модуль виконував єдину функцію (критерій зв'язаності). Існують і інші принципи оцінки і поліпшення якості проекту на основі структурних карт. Проте зчеплення і зв’язаність є основними критеріями.
Зчеплення є мірою взаємозалежності модулів. У хорошому проекті зчеплення повинні бути мінімізовані, тобто модулі повинні бути слабо залежними настільки, наскільки це можливо.
Існують три типи нормального зчеплення: за даними, за зразком, за управлінням.
На практиці найбільш часто використовують зчеплення за даними.
Два модулі зчеплені за даними, якщо вони взаємодіють через передачу параметрів і при цьому кожен параметр є елементарним інформаційним об'єктом. У разі невеликої кількості параметрів, які передаються зчеплення за даними володіє якнайкращими характеристиками.
Два модулі зчеплені за зразком, якщо один посилає іншому складений інформаційний об'єкт. Приклад складеного об'єкту: Дані про клієнта, що включає поля Назва організації, Поштова адреса, Телефон, Номер рахунку і так далі.
Два модулі зчеплені за керуванням, якщо один посилає іншому інформаційний об'єкт, призначений для управління його внутрішньою логікою. Існує два види таких об’єктів: описовий (кінець файлу, введені дані і так далі) і керуючий (читати наступний запис, встановити в початок).