вызов врача на дом
|
Методы анализа - Связность модуля |
Страница 14 из 42
Связность модуля
Связность модуля (Cohesion) — это мера зависимости его частей [58], [70], [77]. Связность — внутренняя характеристика модуля. Чем выше связность модуля, тем лучше результат проектирования, то есть тем «черней» его ящик (капсула, защитная оболочка модуля), тем меньше «ручек управления» на нем находится и тем проще эти «ручки». Для измерения связности используют понятие силы связности (СС). Существует 7 типов связности: 1. Связность по совпадению (СС=0). В модуле отсутствуют явно выраженные внутренние связи. 2. Логическая связность (СС=1). Части модуля объединены по принципу функционального подобия. Например, модуль состоит из разных подпрограмм обработки ошибок. При использовании такого модуля клиент выбирает только одну из подпрограмм. Недостатки: q сложное сопряжение; q большая вероятность внесения ошибок при изменении сопряжения ради одной из функций. 3. Временная связность (СС=3). Части модуля не связаны, но необходимы в один и тот же период работы системы. Недостаток: сильная взаимная связь с другими модулями, отсюда — сильная чувствительность внесению изменений. 4. Процедурная связность (СС=5). Части модуля связаны порядком выполняемых ими действий, реализующих некоторый сценарий поведения. 5. Коммуникативная связность (СС=7). Части модуля связаны по данным (работают с одной и той же структурой данных). 6. Информационная (последовательная) связность (СС=9). Выходные данные одной части используются как входные данные в другой части модуля. 7. Функциональная связность (СС=10). Части модуля вместе реализуют одну функцию. Отметим, что типы связности 1,2,3 — результат неправильного планирования архитектуры, а тип связности 4 — результат небрежного планирования архитектуры приложения. Общая характеристика типов связности представлена в табл. 4.1.
Таблица 4.1. Характеристика связности модуля
|