Resumo métricas de software
São utilizadas várias abordagens para definir métricas de software orientado a objetos. Chidamber e Kemerer determinam métricas em termos de classes e métodos, como por exemplo Falta de coesão em métodos (LCOM) e número de filhos de uma classe (NOC). Xenos et al fornece um conjunto de métricas tradicionais e orientadas a objetos, dividindo-se em conta classes, métodos, acoplamento, herança e de sistema.
Como exemplo de métricas tradicionais pode-se citar Duração Média do Módulo (AML) e
Relação de Acoplamento (COR). Segue abaixo, algumas das métricas orientadas a objeto: - Métricas de Classe: Coesão da Classe (CCO), Número de Métodos de Classe em um Classe (NCM), Percentual do Potencial de Métodos usados realmente reutilizados
(PMR), Número de Parâmetros por Método (NPM).
- Métricas de Herança: Eficácia da Fatoração (FEF), Número de Métodos Herdados
(NMI), Índice de Especialização (SIX).
- Métricas de Sistema: Granularidade da Aplicação (APG), Número de Hierarquias
(NOH), Percentual de Objetos Reutilizados Modificados (PRO).
- Métricas de Métodos: Complexidade do Método (MCX), Tamanho Médio do
Método (AMS).
- Métricas de Acoplamento: Acoplamento entre Objetos (CBO), Acoplamento de
Classe (CCP), Fator de Acoplamento (CFA).
Com o objetivo de avaliar as métricas tradicionais e orientadas a objetos, Xenos et al estabelece algumas meta métricas auxiliando sua aplicação. São elas:
- Escala de medida: As métricas podem estar associadas a várias escalas
(nominal, ordinal, intervalo, racional e absoluto).
- Independência de medidas: uma métrica deve sempre oferecer o mesmo resultado, quando medida.
- Automação: esforço necessário para automatizar a métrica.
- Valores de implementação: busca analisar se o resultado da métrica depende da implementação. - Monotonicidade: quando duas unidades são embutidas em uma terceira unidade, o valor da métrica obrigatoriamente deve ser maior ou igual do que a soma dos valores