MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA...

Post on 17-Apr-2015

107 views 0 download

Transcript of MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA...

MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGOMÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVAUM ESTUDO DE CASO COM JAVA

Faculdade Cenecista Nossa Senhora dos Anjos FACENSA

Sistemas de Informação

Objetivos Métricas de Qualidade de Código Ferramentas de Apoio Trabalhos Relacionados Estudo de Caso Perguntas

AGENDAAGENDA

ObjetivosObjetivos

Métricas de forma pró-ativa;

Maior qualidade de código fonte gerado.

Métricas de Qualidade de CódigoMétricas de Qualidade de Código

Testes Unitários – Funcionais

- Testar até não conseguir a pensar em mais nenhum possível teste. (BECK, 2004)

- Ambiente Automatizado

Code Coverage

- Garantir maior abrangência dos testes- Buscando qualidade nos teste

Métricas de Qualidade de CódigoMétricas de Qualidade de Código

OO - Acoplamento, Abstração (LANZA, 2006)

REFACTORING- Instrumento de otimização

C.I. (Continue Integration)

- Agir de forma

preventiva

TAMANHO - SLOC, LOC, KLOC - Mensurar métodos, classes, módulos etc.. (KOSCIANSKI, 2006)

COMPLEXIDADE- Sinônimo de Legibilidade!!

Ferramentas de Ferramentas de ApoioApoio

Junit

Cobertura

Selenium IDE

Ant

EMMA

Ferramentas de Ferramentas de ApoioApoio

PMD/CPD

Metrics

Checkstyle

NDepend

Simian

Ferramentas de Ferramentas de ApoioApoio

Netbeans

Cruise Control

Eclipse

Continuum

Trabalhos RelacionadosTrabalhos Relacionados

MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE SOFTWARE USANDO MÉTODOS ÁGEIS.

- SPM (Social Program Management)

FUJA Voluntário!

Estudo de CasoEstudo de Caso

“Detector de Reuso de Código”

ProjetoProjeto: Classdiary

Situação AdversaSituação Adversa - CPD (Copy Paste Detector) - 12 incidências do trecho de código:

SoluçãoSolução: - Adotado reuso de código; - Criado método publico(public) em classe base.AutomatizaçãoAutomatização:- Refatoração de código (IDE Netbeans)

Beneficios TrazidosBeneficios Trazidos:- Redução de mais 75 LOC;- Reducão do % de CC (Métodos e Classes);- Novo teste unitário específico;- Aumento cobertura para:

- Bloco refatorado- Método refatorado

If (rs != null){rs.close();

}If(st != null){

st.close();}If(c != null){

c.close();}

Estudo de CasoEstudo de Caso

PERGUNTAPERGUNTASS

??

Sites

- EMMA – http://emma.sourceforge.net- ChecStyle – http://checkstyle.sourceforge.net/ - Junit – http://www.junit.org- Cruise Control Java http://cruisecontrol.sourceforge.net- Selenium IDE - http://selenium-ide.openqa.org - Ant Apache - http://ant.apache.org- PMD / CPD – http://pmd.sourceforge.net- Metrics – http://metrics.sourceforge.net- Netbeans – http://www.netbeans.org- Eclipse – http://www.eclipse.org - Continuum - http://continuum.apache.org

Livros

- BECK, Kent. Extreme Programming Explaned. Bookman, Porto Alegre, 2004;- LANZA, Michele. Object-Oriented Metrics in Pratice, using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer, 2006.- KOSCIANSKI , André e dos Santos Soares, Michel. Qualidade de Software. São Paulo: Novatec, 2006;

ReferênciasReferências

http://fuja.dev.java.net

http://furor.dev.java.nethttp://groups.google.com/group/fuphp

http://groups.google.com/group/FacensaNET