Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Метрика 2: Количество операций, переопределяемых подклассом, NOO




(Number of Operations Overridden by a Subclass)

 

Переопределением называют случай, когда подкласс замещает операцию, унаследованную от суперкласса, своей собственной версией.

Большие значения NOO обычно указывают на проблемы проектирования. Ясно, что подкласс должен расширять операции суперкласса. Расширение проявляется в виде новых имен операций. Если же NOО велико, то разработчик нарушает абстракцию суперкласса. Это ослабляет иерархию классов, усложняет тестирование и модификацию программного обеспечения.

Рекомендуемое значение NOO 3 методов.

Метрика 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.

Операционно-ориентированные метрики

 

Эта группа метрик ориентирована на оценку операций в классах. Обычно методы имеют тенденцию быть небольшими как по размеру, так и по логической сложности. Тем не менее реальные характеристики операций могут быть полезны для глубокого понимания системы.

Метрика 5: Средний размер операции OSAVG (Average Operation Size)

В качестве индикатора размера может использоваться количество строк программы, однако LOC-оценки приводят к известным проблемам. Альтернативный вариант — «количество сообщений, посланных операцией».

Рост значения метрики означает, что обязанности размещены в классе не очень удачно. Рекомендуемое значение OSAVG 9.

Метрика 6: Сложность операции ОС (Operation Complexity

 

Сложность операции может вычисляться с помощью стандартных метрик сложности, то есть с помощью LOC- или FP-оценок, метрики цикломатической сложности, метрики Холстеда.

М. Лоренц и Д. Кидд предлагают вычислять ОС суммированием оценок с весовыми коэффициентами, приведенными в табл. 14.5.

Таблица 14.5. Весовые коэффициенты для метрики ОС

Параметр Вес
Вызовы функций API 5,0
Присваивания 0,5
Арифметические операции 2,0
Сообщения с параметрами 3,0
Вложенные выражения 0,5
Параметры 0,3
Простые вызовы 7,0
Временные переменные 0,5
Сообщения без параметров 1,0

Поскольку операция должна быть ограничена конкретной обязанностью, желательно уменьшать ОС.

Рекомендуемое значение ОС 65 (для предложенного суммирования).

Метрика 7: Среднее количество параметров на операцию NPAVG

(Average Number of Parameters per operation)

 

Чем больше параметров у операции, тем сложнее сотрудничество между объектами. Поэтому значение NPAVGдолжно быть как можно меньшим.

Рекомендуемое значение NPAVG = 0,7.

 

Метрики для ОО-проектов

 

Основными задачами менеджера проекта являются планирование, координация, отслеживание работ и управление программным проектом.

Одним из ключевых вопросов планирования является оценка размера программного продукта. Прогноз размера продукта обеспечивают следующие ОО-метрики.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...