ti-enxame.com

Gerar Diagrama de Classes UML do Projeto Java

Existe uma boa ferramenta que possa ajudar a fazer engenharia reversa de classes Java para UML que mostrará uma visão geral de como minhas classes são relacionadas entre si? Não é preciso descompilar a partir do arquivo JAR porque eu tenho as fontes. Eu sei que há alguns por aí, mas a maioria deles só pode gerar classe individual. Espero que exista uma ferramenta que possa gerar um diagrama de classes que mostre uma visão geral de como todas as minhas classes e pacotes atuais funcionam juntos, para que eu possa analisar meu projeto de arquitetura atual. Claro que analisar é uma coisa. O outro é para fins de documentação.

Eu conheço alguns até agora. Mas eles não podem fazer um diagrama de classes de visão geral. Aqui está uma lista da ferramenta Java UML que eu tentei e é capaz de fazer engenharia reversa, mas não pode fazer um diagrama de classes de visão geral de todo o meu projeto:

  • StarUML (realmente bom Código aberto Ferramenta UML, mas não pode gerar um diagrama de classe não geral)
  • ArgoUML (É lento e lento e continua a falhar)
  • UModel (Este é um software comercial. Eu usei antes de algum tempo atrás, mas achei difícil de usar)
  • MS Visio (não suporta engenharia reversa de UML Java. Apenas para VB)

Existem outras recomendações para adicionar a esta lista? E, esperançosamente, pode gerar um diagrama de classes Java de visão geral. Eu estou usando o Eclipse, a propósito.

184
Carven

Eu uso o plugin eUML2 da Soyatec, sob o Eclipse e funciona bem para a geração de UML dando o código fonte. Esta ferramenta é útil até o Eclipse 4.4.x

42
Heisenbug

Eu escrevi Class Visualizer , que faz isso. É uma ferramenta gratuita que tem todas as funcionalidades mencionadas - eu pessoalmente uso para os mesmos fins, conforme descrito neste post. Para cada classe navegada, ele mostra dois diagramas de classe gerados instantaneamente: relações de classe e visualização UML de classe. O diagrama de relações de classe permite atravessar toda a estrutura. Tem suporte total para anotações e genéricos, além de suporte especial para entidades JPA. Funciona muito bem com grandes projetos (milhares de classes).

98
Jonatan Kaźmierczak

Que tal o Omondo Plugin para o Eclipse. Eu usei e acho que é bastante útil. Embora se você estiver gerando diagramas para fontes grandes, talvez seja necessário iniciar o Eclipse com mais memória.

2
Swaranga Sarma

Eu diria que MoDisco é de longe o mais poderoso (embora provavelmente não seja o mais fácil de se trabalhar).

O MoDisco é uma estrutura genérica de engenharia reversa (para que você possa personalizar seu projeto de engenharia reversa, com o MoDisco você pode até mesmo fazer engenharia reversa do comportamento dos métodos Java, não apenas a estrutura e assinaturas) mas também inclui alguns recursos predefinidos como geração de classe diagramas fora do código Java que você precisa.

2
Jordi Cabot