Пропорция переопределения методов в подклассе (POM)
Пропорция переопределения методов в подклассе (Proportion of Overridden Methods in Class-POM). Эта метрика вычисляется как отношение:
POM = число переопределенных методов подкласса / общее число методов подкласса
Эта метрика, как дополнение к метрике NMO, позволяется сравнивать абстрактность программ разного размера. Например, одну и ту же программу, но на разных этапах ее разработки
Число свойств (атрибутов или переменных) в классе(NAA)
Число свойств (атрибутов или переменных) в классе (The total number of available attributes (NAA)) - длина списка свойств вершины в промежуточной модели наследования. Считается, что нулевое значение метрики показывает, что программа не является хорошо продуманной ОО программой
Число унаследованных свойств (атрибутов или переменных) в классе (NIV)
Число унаследованных свойств (The number of inherited variables - NIV) - Число дуг в промежуточной модели наследования со значением наследование свойства атрибута тип, входящих в вершину.
Использование глобалов (GUS)
Использование глобальных переменных (Global Usage - GUS). При вычислении этой метрики подсчитывается количество глобальных переменных, в том числе глобальных переменных для всей системы, а также количество переменных класса, глобальных для этого класса.
Ситуация с использованием глобальных переменных в программах на языке C++ часто возникает, если эти программы используют старые программы написанные на языке С. Метрика GUS позволяет выявить такие зависимости.
|
|
Излишняя взаимосвязь через глобалы (UCGU)
Излишняя взаимосвязь через глобальные переменные (Unnesessary Coupling through Global Usage - UCGU). При вычислении этой метрики подсчитывается сколько раз глобальные переменные, определенные метрикой GUS, были использованы.
Метрика UCGU позволяет оценить степень влияния глобальных переменных на систему в целом. Возможно зависимость от глобальных переменных локализована в каком либо одном классе, и такое влияние не велико. Однако возможна и обратная ситуация, когда глобальные переменные используются часто и в большом количестве классов.
Степень взаимосвязи между классами (DCBO)
Степень взаимосвязи между классами (Degree of Coupling between Classes - DCBO). Эта метрика используется как дополнение к метрике DCO. Метрика DCO подсчитывает количество классов, с которыми данный класс разделяет атрибуты и методы. Метрика DCBO подсчитывает только методы данного класса, используемые из других классов. Если методы данного класса никому не нужны, то DCBO=0.
Количество скрытых методов экземпляра (PrIM)
Количество скрытых (private) методов экземпляра (Number of Private Instance Methods - PrIM) позволяет степень скрытия информации классом.
Мера Мак-Клура (MMK)
|
|
Мера Мак-Клура предназначена для управления сложностью структурированных программ в процессе проектирования. Она применяется к иерархическим схемам разбиения программ на модули, что позволяет выбрать схему разбиения с меньшей сложностью задолго до написания программы. Метрикой выступает зависимость сложности программы от числа возможных путей исполнения, числа управляющих конструкций и числа переменных (от которых зависит выбор пути). Методика расчета сложности по Мак-Клуру четко ориентирована на хорошо структурированные программы.
Тестирующей мерой М называется мера сложности, удовлетворяющая следующим условиям:
1.Мера сложности простого оператора равна 1;
2.М ({ F 1; F 2; ┘; Fn }) = е i n M ( Fi );
3.М ( IF P THEN F 1 ELSE F 2) = 2 MAX ( M ( F 1), M ( F 2));
4. М ( WHILE P DO F ) = 2 M ( F ).
Мера возрастает с глубиной вложенности и учитывает протяженность программы. К тестирующей мере близко примыкает мера на основе регулярных вложений. Идея этой меры сложности программ состоит в подсчете суммарного числа символов (операндов, операторов, скобок) в регулярном выражении с минимально необходимым числом скобок, описывающим управляющий граф программы. Все меры этой группы чувствительны к вложенности управляющих конструкций и к протяженности программы. Однако возрастает уровень трудоемкости вычислений.
Дата добавления: 2021-03-18; просмотров: 97; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!