Эволюция мер связи для объектно-ориентированных программных систем В разделах «Связность модуля» и «Сцепление модулей» главы 4 было показано, что классической мерой сложности
внутренних связей модуля является
связность, а классической мерой сложности внешних связей — сцепление. Рассмотрим
развитие этих мер применительно к объектно-ориентированным системам.
Связность объектов В классическом методе Л. Констентайна и Э. Йордана определены семь типов связности.
1.
Связность по совпадению. В модуле отсутствуют явно выраженные внутренние связи.
2.
Логическая связность. Части модуля объединены по принципу функционального подобия.
3.
Временная связность. Части модуля не связаны, но необходимы в один и тот же период работы системы.
4.
Процедурная связность. Части модуля связаны порядком выполняемых ими действий, реализующих некоторый
сценарий поведения.
5.
Коммуникативная связность. Части модуля связаны по данным (работают с одной и той же структурой данных).
6.
Информационная (последовательная) связность. Выходные данные одной части используются как входные данные
в другой части модуля.
7.
Функциональная связность. Части модуля вместе реализуют одну функцию.
Этот метод функционален по своей природе, поэтому наибольшей связностью здесь объявлена функциональная связность.
Вместе с тем одним из принципиальных преимуществ объектно-ориентированного подхода является естественная
связанность объектов.
Максимально связанным является объект, в котором представляется единая сущность и в который включены все операции
над этой сущностью. Например, максимально связанным является объект, представляющий таблицу символов компилятора,
если в него включены все функции, такие как «Добавить символ», «Поиск в таблице» и т. д.
Следовательно, восьмой тип связности можно определить так:
8.