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

18
Métricas e Visualização de Código João Marcos, Marcilio Valois

Upload: marcilio-valois

Post on 08-Jul-2015

42 views

Category:

Software


0 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

Page 1: Métricas e visualização de código-fonte

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

João Marcos, Marcilio Valois

Page 2: Métricas e visualização de código-fonte

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

Page 3: Métricas e visualização de código-fonte

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.

Page 4: Métricas e visualização de código-fonte

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.

Page 5: Métricas e visualização de código-fonte

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

Page 6: Métricas e visualização de código-fonte

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).

Page 7: Métricas e visualização de código-fonte

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).

Page 8: Métricas e visualização de código-fonte

Relacionadas a herança

❏ DIT (Depth of Inheritance Tree - Profundidade da árvore de herança).

❏ NOC (Number of Children - Número de filhos ).

Page 9: Métricas e visualização de código-fonte

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)

Page 10: Métricas e visualização de código-fonte

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.

Page 11: Métricas e visualização de código-fonte

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).

Page 12: Métricas e visualização de código-fonte

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).

Page 13: Métricas e visualização de código-fonte

Ferramentas de análise de código

❏ Metrics❏ Checkstyle❏ InCode

Page 14: Métricas e visualização de código-fonte

Metrics

Page 15: Métricas e visualização de código-fonte

Checkstyle

Page 16: Métricas e visualização de código-fonte

InCode

Page 17: Métricas e visualização de código-fonte

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.

Page 18: Métricas e visualização de código-fonte

Referências

MEIRELLES, P. R. M. Monitoramento de métricas de código-fonte em projetos de software livre, São Paulo, 2013.