Вы находитесь на странице: 1из 9

Mtricas sobre Arquitetura de Software

Conjunto de mtricas de CK (CHIDAMBER; KEMERER, 1994).


Medir complexidade, coeso e acoplamento.

1 - Profundidade da rvore de Herana (DIT) (Depth of the Inheritance Tree)


Intuito:
Mede o comprimento da rvore de herana da raiz at o n folha de maior tamanho. Pode-se considerar que, quanto maior o valor de DIT, maior ser a dificuldade de prever o comportamento das classes herdeiras e maior ser complexidade do sistema.

Frmula:
DIT = SC(1) + SC(2)+....+SC(n)

Valor de Referncia*:
DIT < 2 predomina -> herana subutilizada DIT > 5 predomina -> herana muito utilizada mais complexidade elevada.

Forma de estudo:
Anlise estatstica

2 - Nmeros de Filhos (NOC) Number of Children


Intuito:
Medir o grau de reutilizao de uma classe. uma mtrica que conta o nmero de classes filhas que herdem imediatamente de uma determinada classe, ou seja, somente as classes filhas no nvel abaixo na hierarquia de classes.

Frmula:
NOC = CF(1) + CF(2) +...CF(n)

Valor de Referncia*:

No foi encontrado valor bom ou ruim, pois depende de outras mtricas.

Forma de estudo:
Anlise estatstica

3 - Acoplamento entre Objetos (CBO) Coupling Between Objet Classes


Intuito:
Medir o acoplamento da classe em um sistema. Avalia o acoplamento de uma classe, onde uma classe A est acoplada a uma classe B quando a classe A utiliza mtodos ou variveis da classe B.

Frmula:
CBO(C) = n i =1 cliente(C; Ci).

Valor de Referncia*:
CBO 5.

Forma de estudo:
Anlise estatstica

4 - Respostas para uma Classe (RFC) Response For a Class


Intuito:
Mede a complexidade de uma classe. Conta o nmero de mtodos que podem ser executados em resposta a uma mensagem recebida por um objeto.

Frmula:
RS = {MI Uall i { R i }, onde { R,} onde {R,} = conjunto de mtodos chamados pelo mtodo i e {M} = conjunto de todos os mtodos da classe.

Valor de Referncia*:
RFC: 50. Quanto maior o RFC, mais complexa a classe.

Forma de estudo:
Anlise estatstica

5 - Falta de Coeso em Mtodos (LCOM) Lack of Cohesion in Methods


Intuito:
Medir a coeso da classe. A mtrica LCOM avalia a similaridade entre mtodos de uma classe, onde similaridade entre dois mtodos o acesso aos mesmos atributos da classe. Quanto maior a similaridade entre mtodos maior ser a coeso da classe e menor ser o valor de LCOM

Frmula:
Interseo de atributos

Valor de Referncia*:
Mais atributos em comum, maior coeso.

Forma de estudo:
Anlise estatstica

6 - Mtodos Ponderados por Classes (WMC) Weighted Methods per Class


Intuito:
Medir a complexidade de cada mtodo de uma classe. Mtrica de complexidade da classe, obtida em termos da complexidade de cada um de seus mtodos.

Frmula:
WMC = C(M1) + C(M2) + ... + C(Mn)

Valor de Referncia: Forma de estudo:


Anlise estatstica

As mtricas MOOD criado por Harrison, Counsell e Nithi (1998). 7 - Fator de Acoplamento (CF) Coupling Factor
Intuito:
Medir o fator de acoplamento para mtodos e atributos de um sistema. A mtrica CF calculada considerando todos os possveis conjuntos de pares de classes, isso feito combinando todas as possveis duplas de classes e verificando se esto relacionadas, esse relacionamento pode ser pela passagem de parmetros ou por referncia direta de um atributo ou mtodo de uma classe por outra

Frmula:

Valor de Referncia: Forma de estudo:

8 - Fator de Herana de Mtodos (MIF) Method Inheritance Factor


Intuito:
Medir a herana de mtodos. Conta-se em todas as classes de um sistema, a quantidade de mtodos que so herdados. Esse total ser dividido pelo total de mtodos do sistema.

Frmula:

Valor de Referncia: Forma de estudo:

9 - Fator de Herana de Atributos (AIF) Attribute Inheritance Factor


Intuito:
Medir a herana de atributos. Conta-se em todas as classes de um sistema, a quantidade de atributos que so herdados. Esse total ser dividido pelo total de atributos do sistema.

Frmula:
Mesma da mtrica anterior

Valor de Referncia: Forma de estudo:

10 - Fator de Polimorfismo (PF) Polymorphism Factor

Intuito:
Medir o potencial do polimorfismo. o nmero de mtodos que redefinem mtodos herdados, dividido pelo nmero mximo de possveis situaes distintas polimrficas.

Frmula

: Valor de Referncia: Forma de estudo:

11 - Fator Escondendo Mtodo (MHF) Method Hiding Factor


Intuito:
Medir o encapsulamento dos mtodos Atribui 0 se o mtodo pode ser usado por outra classe, e 1 se no pode. O total para o sistema dividido pelo nmero total de mtodos definido no sistema, para se obter a percentagem de mtodos encapsulados no sistema.

Frmula:

Valor de Referncia: Forma de estudo:

12 - Fator Escondendo Atributo (AHF) Attribute Hiding Factor


Intuito:
Medir o encapsulamento dos mtodos. Atribui 0 se o atributo pode ser usado por outra classe, e 1 se no pode. O total para o sistema dividido pelo nmero total de atributo definido no sistema, para se obter a percentagem de atributo encapsulados no sistema.

Frmula:
Mesma da mtrica acima.

Valor de Referncia: Forma de estudo:

O conjunto de mtricas de Lorenz e Kidd foi proposto por Lorenz e Kidd (1994).
Eles propuseram algumas mtricas baseadas em classes divididas entre as categorias: (1) Tamanho: baseada na contagem de atributos e operaes da classe individualmente e na mdia para um valor do sistema como um todo; (2) Herana: avaliaes de como as operaes so reutilizadas atravs da hierarquia de classe; (3) Caractersticas internas: avaliao de coeso; e (4) Caractersticas externas: acoplamento e reutilizao.

13 - Tamanho da Classe (CS) Class Size


Intuito:
Medir o tamanho da classe. Conta o nmero total de operaes e nmero de atributos que so encapsulados dentro de uma classe

Frmula: Valor de Referncia**:


Grandes valores de CS podem significar que uma classe possui grande responsabilidade, o que pode ocasionar baixa reusabilidade, alta complexidade de implementao, manuteno e testes.

Forma de estudo:

14 - Nmero de Operaes Substitudas por uma Subclasse (NOO) Number of Operations Overridden by a Subclass
Intuito:
Medir a herana da classe. Uma subclasse substitui uma operao herdada por uma especializao da operao.

Frmula: Valor de Referncia**:


Altos valores de NOO podem indicar problema de modelagem, fraca hierarquia de classes e dificuldade de manuteno e testes do software.

Forma de estudo:

15 - Nmero de Operaes Adicionadas por uma Subclasse (NOA) Number of Operations Added by a Subclass
Intuito:
Mede a especializao de subclasses. calculada a partir do nmero de operaes privadas e atributos adicionados subclasse com o intuito de especializ-la.

Frmula: Valor de Referncia**:


Quando so identificados altos valores de NOA, pode significar o afastamento da abstrao da superclasse.

Forma de estudo:

16 - ndice de especializao (SI) Specialization Index


Intuito:
Medir ndice do grau de especializao das subclasses do sistema. Mede individualmente o valor de NOO de cada uma das subclasses. Para sua medida feito o clculo de NOO multiplicado pelo nvel da rvore hierrquica onde se encontra a subclasse, o resultado dividido pelo nmero total de mtodos da classe.

Frmula: Valor de Referncia: Forma de estudo:

* [Rosenberg et al 2001] foram coletados e analisados, durante 3 anos, programas em C++ e Java (total de 20.000 classes e 15 programas) **PRESSMAN, R. Software Engineering: A Practitioners Approach. 6. ed. New York, NY, USA: McGraw-Hill, Inc., 2005 L.H.Rosenberg, R. Stapko, A Gallo. Risk-based Object Oriented Testing. www.gsfc.nasa.gov

Вам также может понравиться