Метрика 3: Количество операций, добавленных подклассом, NOA
(Number of Operations Added by a Subclass)
Подклассы специализируются добавлением приватных операций и свойств. С ростом NOA подкласс удаляется от абстракции суперкласса. Обычно при увеличении высоты иерархии классов (увеличении DIT) должно уменьшаться значение NOA на нижних уровнях иерархии.
Для рекомендуемых значений CS = 20 и DIT = 6 рекомендуемое значение NOA 4 методов (для класса-листа).
Метрика 4: Индекс специализации SI (Specialization Index)
Обеспечивает грубую оценку степени специализации каждого подкласса. Специализация достигается добавлением, удалением или переопределением операций:
SI = (NOO x уровень) /Mобщ,
где уровень – номер уровня в иерархии, на котором находится подкласс, Мобщ – общее количество методов класса.
Пример расчета индексов специализации приведен на рис. 14.5.
Рис. 14.5.Расчет индексов специализации классов
Чем выше значение SI, тем больше вероятность того, что в иерархии классов есть классы, нарушающие абстракцию суперкласса.
Рекомендуемое значение SI 0,15.
Дата добавления: 2019-02-07; просмотров: 394;