Метрика 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. Весовые коэффициенты для метрики ОС
Поскольку операция должна быть ограничена конкретной обязанностью, желательно уменьшать ОС. Рекомендуемое значение ОС 65 (для предложенного суммирования). Метрика 7: Среднее количество параметров на операцию NPAVG (Average Number of Parameters per operation)
Чем больше параметров у операции, тем сложнее сотрудничество между объектами. Поэтому значение NPAVGдолжно быть как можно меньшим. Рекомендуемое значение NPAVG = 0,7.
Метрики для ОО-проектов
Основными задачами менеджера проекта являются планирование, координация, отслеживание работ и управление программным проектом. Одним из ключевых вопросов планирования является оценка размера программного продукта. Прогноз размера продукта обеспечивают следующие ОО-метрики.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|