Métricas e Visualização de Código-fonte

Post on 08-Jul-2015

54 views 2 download

description

Este trabalho cita alguns exemplos de métricas e por que usá-las em projetos de software. inclui também sugestões de ferramentas que auxiliam na coleta de informações de métricas de código.

Transcript of Métricas e Visualização de Código-fonte

Métricas e Visualização

de Código

João Marcos, Marcilio Valois

Roteiro1. Introdução

2. Por que usar métricas

3. Métricas de código

3.1. Número de linhas

3.2. Número de atributos e métodos

3.3. Relacionadas a herança

3.4. Outras métricas

1. Ferramentas de análise de código

4.1 Metrics

4.2 CheckStyle

4.3 Incode

1. Escala de Medição

2. Conclusão

3. Referências

Introdução

O objetivo das métricas de software é a

identificação e medição dos principais

parâmetros que afetam o desenvolvimento de

software (Mills, 1988).

Métricas de código podem apontar se um

código está ou não em conformidade com as

boas práticas de programação e isso reflete

diretamente na facilidade de visualização.

Por que usar métricas

Código compilado pode ser analisado, mas

características como organização e legibilidade

são perdidas; mesmo uma bateria de testes

com ótima cobertura só apresenta informação

sobre o funcionamento atual, não refletindo

manutenibilidade, modularidade, exibilidade e

simplicidade. Nesse contexto, as métricas de

código-fonte complementam as outras

abordagens de monitoramento da qualidade do

software.

Métricas de Código

❏ Tipos de métricas:

❏ Baseadas no número de linhas

❏ Baseadas no número de métodos e

atributos

❏ Baseadas na herança

❏Outras métricas

Número de linhas

❏ LOC (Lines Of Code - Número de linhas de

código).

❏ AMLOC (Average Method LOC - Média do

número de linhas por método).

❏MMLOC (Max Method LOC - Número de

linhas de código do maior método da

classe).

Número de atributos e métodos

❏NOA (Number of Attributes - Número de

atributos).

❏NOM (Number of Methods - Número de

métodos).

❏NPA (NuAmber of Public Attributes -

Número de atributos públicos).

❏NPM (Number of Public Methods - Número

de métodos públicos).

❏ ANPM (Average Number of Parameters per

Method - Média do Número de Parâmetros

por Método).

Relacionadas a herança

❏DIT (Depth of Inheritance Tree -

Profundidade da árvore de herança).

❏NOC (Number of Children - Número de

filhos ).

Outras métricas

❏ ACCM (Average Cyclomatic Complexity per

Method - Média da Complexidade

Ciclomática por método).

❏ ACC (Aerent Connections per Class -

Conexões aferentes de uma classe).

❏ LCOM (Lack of Cohesion in Methods -

Ausência de coesão em métodos)

❏ SC (Structural Complexity - Complexidade

estrutural)

Escala de medição

As métricas devem estar associadas a uma

escala de medição que proporcione significado

ao valor obtido no seu cálculo. Elas precisam

ser coletadas em um modelo de dados

específico que pode envolver cálculos ou

análise estatística.

Exemplos:

❏No LOC os intervalos sugeridos para uma

classe Java ou C++ são: até 70 (bom );

entre 70 e 130 (regular); 130 em diante

(ruim).

❏No AMLOC os intervalos sugeridos são:até

10 (bom); entre 10 e 13 (regular); de 13 em

diante (ruim).

Exemplos

❏No ACCM de 1 a 10 (baixa complexidade ,

fácil de entender e testar); de 11 a 20

(média complexidade, relativamente difícil

de entender e testar); de 21 a 50 (alta

complexidade, difícil de entender e testar);

maior que 50(altíssima complexidade).

Ferramentas de análise de código

❏Metrics

❏Checkstyle

❏ InCode

Metrics

Checkstyle

InCode

Conclusão

Ao entender o significado das métricas se torna

mais fácil desenvolver um código que atenda a

elas, com isso se tem um codigo com melhor

legibilidade e manutenibilidade.

Referências

MEIRELLES, P. R. M. Monitoramento de

métricas de código-fonte em projetos de

software livre, São Paulo, 2013.