mÉtricas para melhoria contÍnua de cÓdigo um estudo de caso com java um estudo de caso com java...

14
MÉTRICAS PARA MELHORIA CONTÍNUA DE MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas de Informação

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

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

Page 2: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

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

AGENDAAGENDA

Page 3: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

ObjetivosObjetivos

Métricas de forma pró-ativa;

Maior qualidade de código fonte gerado.

Page 4: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

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

Page 5: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

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!!

Page 6: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

Ferramentas de Ferramentas de ApoioApoio

Junit

Cobertura

Selenium IDE

Ant

EMMA

Page 7: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

Ferramentas de Ferramentas de ApoioApoio

PMD/CPD

Metrics

Checkstyle

NDepend

Simian

Page 8: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

Ferramentas de Ferramentas de ApoioApoio

Netbeans

Cruise Control

Eclipse

Continuum

Page 9: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

Trabalhos RelacionadosTrabalhos Relacionados

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

- SPM (Social Program Management)

Page 10: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

FUJA Voluntário!

Estudo de CasoEstudo de Caso

Page 11: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

“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

Page 12: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

PERGUNTAPERGUNTASS

??

Page 13: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

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

Page 14: MÉTRICAS PARA MELHORIA CONTÍNUA DE CÓDIGO UM ESTUDO DE CASO COM JAVA UM ESTUDO DE CASO COM JAVA Faculdade Cenecista Nossa Senhora dos Anjos FACENSA Sistemas

http://fuja.dev.java.net

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

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