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

Метрика 4: Фактор наследования свойства AIF (Attribute Inheritance Factor)




 

Введем обозначения:

q Аi i) — количество унаследованных и не переопределенных свойств в классе Сi;

q А0i) — количество унаследованных и переопределенных свойств в классе Сi;

q An(Ci) — количество новых (не унаследованных и переопределенных) свойств в классе Сi;

q Аdi) = An(Ci) + А0i) — количество свойств, определенных в классе Сi;

q Аai) = Аdi)+ Аi i) — общее количество свойств, доступных в классе Сi.

Тогда формула метрики AIF примет вид:

.

Числителем AIF является сумма унаследованных (и не переопределенных) свойств во всех классах рассматриваемой системы. Знаменатель AIF — это общее количество доступных свойств (локально определенных и унаследованных) для всех классов.

Метрика 5: Фактор полиморфизма POF (Polymorphism Factor)

Введем обозначения:

q M0i) — количество унаследованных и переопределенных методов в классе Сi;

q Mni) — количество новых (не унаследованных и переопределенных) методов в классе Сi;

q DC(Сi) — количество потомков класса Сi;

q Mdi) = Mni) + M0i) — количество методов, определенных в классе Сi.

Тогда формула метрики POF примет вид:

.

Числитель POF фиксирует реальное количество возможных полиморфных ситуаций. Очевидно, что сообщение, посланное в класс Сi связывается (статически или динамически) с реализацией именуемого метода. Этот метод, в свою очередь, может или представляться несколькими «формами», или переопределяться (в потомках Сi).

Знаменатель POF представляет максимальное количество возможных полиморфных ситуаций для класса Сi. Имеется в виду случай, когда все новые методы, определенные в Сi, переопределяются во всех его потомках.

Умеренное использование полиморфизма уменьшает как плотность дефектов, так и затраты на доработку. Однако при POF > 10% возможен обратный эффект.

Метрика 6: Фактор сцепления COF (Coupling Factor)

 

В данном наборе сцепление фиксирует наличие между классами отношения «клиент-поставщик» (client-supplier). Отношение «клиент-поставщик» (Сc =>Cs) здесь означает, что класс-клиент содержит но меньшей мере одну не унаследованную ссылку на свойство или метод класса-поставщика.

Если наличие отношения «клиент-поставщик» определять по выражению:

.

то формула для вычисления метрики COF примет вид:

Знаменатель COF соответствует максимально возможному количеству сцеплений в системе с ТС-классами (потенциально каждый класс может быть поставщиком для других классов). Из рассмотрения исключены рефлексивные отношения — когда класс является собственным поставщиком. Числитель COF фиксирует реальное количество сцеплений, не относящихся к наследованию.

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

Метрики для объектно-ориентированного тестирования

 

Рассмотрим проектные метрики, которые, по мнению Р. Байндера (Binder), прямо влияют на тестируемость ОО-систем [17]. Р. Байндер сгруппировал эти метрики в три категории, отражающие важнейшие проектные характеристики.

Метрики инкапсуляции

 

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

Поделиться:





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



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