Autores: Carine Gomes Henriques Maurício Costa Índice JDepend ............................................................................................................................ 3 Relatórios gerados ............................................................................................................ 3 Instalar e Utilizar o JDepend ............................................................................................ 6 Bibliografia ....................................................................................................................... 9 JDepend O JDepend é uma ferramenta que analisa classes Java e gera métricas sobre a qualidade do "Design" para cada package Java. O JDepend permite a equipe de Qualidade automaticamente mensurar a qualidade do "Design" em termos de suas extensibilidades, reusabilidade e manutenibilidade para controle efetivo das dependências dos packages Java. Relatórios gerados Resultados obtidos pela análise do JDepend por pacotes Este relatório corresponde as métricas categorizadas por pacote. O JDepend percorre todos os diretórios que contêm classes Java e gera métricas de qualidade do design para cada pacote Java. Resumo das métricas Este relatório corresponde a um relatório resumido com as métricas obtidas pelo JDepend. Os campos da tabela podem ser interpretados da seguinte forma: TC: número total de classes CC: número total de classes concretas AC: número total de classes abstratas Ca: acoplamento aferente - número total de classes de fora de um pacote que dependem de classes de dentro do pacote. Quando calculada no nível da classe, essa medida também é conhecida como Fan-in da classe. Ce: acoplamento eferente - o número total de classes de dentro de um pacote que dependem de classes de fora do pacote. Quando calculada no nível da classe, essa medida também é conhecida como Fan-out da classe. A: nível de abstração – Mede o quanto abstrato é um pacote. Este valor é calculado a partir da razão do número de classes abstratas e interfaces em um pacote pelo número total de classes concretas nesse mesmo pacote. Assim, uma abstração de valor zero (A = 0) indica um pacote completamente formado por classes concretas enquanto que uma abstração com valor um (A = 1) indica um pacote totalmente abstrato. I: instabilidade - Mede a instabilidade de pacotes, onde a estabilidade é medida calculando o esforço para mudar um pacote sem gerar impacto em outros pacotes dentro da aplicação. Este valor é calculado pela divisão do acoplamento eferente de um pacote pelo total de acoplamentos (aferentes e eferentes) deste: I = Ce / (Ca + Ce) D: distância da seqüência principal – Este valor relaciona a Abstração e a Instabilidade. A distância varia entre 0 e 1 e é melhor para valores menores, ou seja, um pacote com baixa distância é instável e tem baixa abstração se um pacote depende de muitos outros pacotes, ele é pouco reusável, então não é necessário utilizar abstração neste pacote, um pacote também tem baixa distância se for estável e tiver alta abstração, o pacote possuirá poucas dependências e é usado por outros pacotes, assim torna-se possível o uso de muita abstração no pacote. Para ilustrar a explicação sobre a distância da seqüência principal, segue o gráfico gerado: Instalar e Utilizar o JDepend Para utilizar o plugin do JDepend com o maven no eclipse basta seguir os passos abaixo: Baixar o plugin “maven-jdepend-plugin”: http://www.clarkware.com/software/JDepend.html Para instalar o JDepend no Windows: 1. Descompacte o jdepend-<version>.zip no diertório definido na variável %JDEPEND_HOME%. 2. Adicione o JDepend ao classpath: set CLASSPATH=%CLASSPATH%;%JDEPEND_HOME%\lib\jdepend<version>.jar Para instalar o JDepend no Unix: 1. Descompacte o jdepend-<version>.zip no diertório definido na variável $JDEPEND_HOME. 2. Carregue as permissões: chmod -R a+x $JDEPEND_HOME 3. Adicione o JDepend ao classpath: export CLASSPATH=$CLASSPATH:$JDEPEND_HOME/lib/jdepend<version>.jar Após, dar o update do plugin do JDepend no eclipse: 1. Acesse o menu Help >> Software Updates >> Find and Install... 2. Marque a opção "Search for new features to install" e clique no botão Next 3. Clique no botão New Remote Site... 4. Digite JDEPEND no campo nome e no campo URL insira: http://andrei.gmxhome.de/eclipse 5. Na tela de Search Results, marque as opções conforme a imagem abaixo e clique no botão Next. 6. Aceite os termos de utilização e clique no botão Next. 7. Clique no botão Finish. 8. Aguarde o dowload dos arquivos .jar requeridos pelo eclipse e clique no botão Install. 9. Reinicie o eclipse. 10. Após vá no menu Window >> Show View >> Other... 11. Selecione JDEPEND 12. O detalhe do relatório gerado pelo JDEPEND Bibliografia http://www.clarkware.com/software/JDepend.html http://hotwork.sourceforge.net/hotwork/manual/maven/maven-user-guide.html PUC-Rio - Certificação Digital Nº 0511002/CA http://andrei.gmxhome.de/jdepend4eclipse/index.html