Технологии разработки программного обеспечения


Сцепление объектов - часть 2


CDBC зависит от:

q       области видимости изменяемого класса-сервера внутри класса-клиента (определяется типом отношения между CS и СС);

q       вида доступа СС к CS (интерфейсный доступ или доступ реализации).

Возможные типы отношений приведены в табл. 14.3, где п — количество методов класса СС,

— количество методов СС, потенциально затрагиваемых изменением.

 

Таблица 14.3. Вклад отношений между клиентом и сервером в зависимость изменения

Тип отношения

SC не используется классом СС

SC — класс экземплярной переменной в классе СС

Локальные переменные типа SC используются внутри /-методов класса СС

SC является суперклассом СС

SC является типом параметра для/-методов класса СС

СС имеет доступ к глобальной переменной класса SC

0

n

j

n

j

n

Конечно, здесь предполагается, что те элементы класса-сервера SC, которые доступны классу-клиенту СС, являются предметом изменений. Авторы исходят из следующей точки зрения: если класс SC является «зрелой» абстракцией, то предполагается, что его интерфейс более стабилен, чем его реализация. Таким образом, многие изменения в реализации SC могут выполняться без влияния на его интерфейс. Поэтому вводится фактор стабильности интерфейса для класса-сервера, он обозначается как к (0 < k < 1). Вклад доступа к интерфейсу в зависимость изменения можно учесть умножением на (1 - k).

Метрика для вычисления степени CDBC имеет вид:

;

CDBC(CC, SC) = min(n, A).

 Пути минимизации CDBC:

1) ограничение доступа к интерфейсу класса-сервера;

2) ограничение видимости классов-серверов (спецификаторами доступа public, protected, private).

 

Локальность данных

Локальность данных LD (Locality of Data) — метрика, отражающая качество абстракции, реализуемой классом. Чем выше локальность данных, тем выше самодостаточность класса. Эта характеристика оказывает сильное влияние на такие внешние характеристики, как повторная используемость и тестируемость класса.




Начало  Назад  Вперед



Книжный магазин