Основы программирования

Модели реализации объектно-ориентированных программных систем - Метрики инкапсуляции
Индекс материала
Модели реализации объектно-ориентированных программных систем
Интерфейсы
Компоновка системы
Разновидности компонентов
Моделирование программного текста системы
Основы компонентной объектной модели
Организация интерфейса СОМ
Реализация интерфейса
Серверы СОМ-объектов
Работа с СОМ-объектами
Повторное использование СОМ-объектов
IDL-описаниеи библиотека типа
Диаграммы размещения
Использование диаграмм размещения
Метрики объектно-ориентированных программных систем
Информационная закрытость
Связность объектов
Метрики связности по данным
Метрики связности по методам
Сцепление объектов
Локальность данных
Метрики, ориентированные на классы
Операционно-ориентированные метрики
Метрики для ОО-проектов
Метрики инкапсуляции
Метрики полиморфизма
Все страницы
Метрики инкапсуляции

 

К метрикам инкапсуляции относятся: «Недостаток связности в методах LCOM», «Процент публичных и защищенных PAP (Percent Public and Protected)» и «Публичный доступ к компонентным данным PAD (Public Access to Data members)».

Метрика 1: Недостаток связности в методах LCOM

 

Чем выше значение LCOM, тем больше состояний надо тестировать, чтобы гарантировать отсутствие побочных эффектов при работе методов.

Метрика 2: Процент публичных и защищенных PAP (Percent Public and Protected)

 

Публичные свойства наследуются от других классов и поэтому видимы для этих классов. Защищенные свойства являются специализацией и приватны для определенного подкласса. Эта метрика показывает процент публичных свойств класса. Высокие значения РАР увеличивают вероятность побочных эффектов в классах. Тесты должны гарантировать обнаружение побочных эффектов.

Метрика 3: Публичный доступ к компонентным данным PAD (Public Access to Data members)

 

Метрика показывает количество классов (или методов), которые имеют доступ к свойствам других классов, то есть нарушают их инкапсуляцию. Высокие значения приводят к возникновению побочных эффектов в классах. Тесты должны гарантировать обнаружение таких побочных эффектов.

Метрики наследования

 

К метрикам наследования относятся «Количество корневых классов NOR (Number Of Root classes)», «Коэффициент объединения по входу FIN», «Количество детей NOC» и «Высота дерева наследования DIT».

Метрика 4: Количество корневых классов NOR (Number Of Root classes)

 

Эта метрика подсчитывает количество деревьев наследования в проектной модели. Для каждого корневого класса и дерева наследования должен разрабатываться набор тестов. С увеличением NOR возрастают затраты на тестирование.

Метрика 5: Коэффициент объединения по входу FIN

В контексте О-О-смистем FIN фиксирует множественное наследование. Значение FIN > 1 указывает, что класс наследует свои свойства и операции от нескольких корневых классов. Следует избегать FIN > 1 везде, где это возможно.

Метрика 6: Количество детей NOC

 

Название говорит само за себя. Метрика заимствована из набора Чидамбера-Кемерера.

Метрика 7: Высота дерева наследования DIT

 

Метрика заимствована из набора Чидамбера-Кемерера. Методы суперкласса должны повторно тестироваться для каждого подкласса.

В дополнение к перечисленным метрикам Р. Байндер выделил метрики сложности класса (это метрики Чидамбера-Кемерера — WMC, CBO, RFC и метрики для подсчета количества методов), а также метрики полиморфизма.



 
Скорая компьютерная помощь: ремонт компьютера в Москве.