métricas e visualização de código-fonte

Post on 08-Jul-2015

43 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

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

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

João Marcos, Marcilio Valois

Roteiro1. Introdução2. Por que usar métricas3. 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ça3.4. Outras métricas

4. Ferramentas de análise de código4.1 Metrics

4.2 CheckStyle4.3 Incode

5. Escala de Medição6. Conclusão7. Referências

IntroduçãoO 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 significadoao 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.

top related