Existe uma boa ferramenta que pode ajudar a fazer engenharia reversa de classes Java para UML que mostrará uma visão geral de como minhas classes estão relacionadas entre si? Ele não precisa descompilar do arquivo JAR porque eu tenho as fontes. Eu sei que existem muitos 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. Obviamente, analisar é uma coisa. O outro é para fins de documentação.
Eu sei de 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 executar engenharia reversa, mas não pode fazer um diagrama de classes de visão geral de todo o meu projeto:
- StarUML (realmente boa ferramenta UML de
códigoaberto, mas não pode gerar um diagrama de classes que não é geral) - ArgoUML (é lento, lento e continua travando)
- UModel (Este é um software comercial. Eu usei antes há algum tempo, mas achei difícil de usar)
- MS Visio (não suporta engenharia reversa Java UML. Somente para VB)
Existem outras recomendações para adicionar a esta lista? E, esperançosamente, pode gerar uma visão geral do diagrama de classes Java. Estou usando o Eclipse, a propósito.
fonte
Respostas:
Eu uso o plugin eUML2 da Soyatec, no Eclipse, e funciona bem para a geração de UML, fornecendo o código-fonte. Essa ferramenta é útil até o Eclipse 4.4.x
fonte
Escrevi o Class Visualizer , o que faz. É uma ferramenta gratuita que possui todas as funcionalidades mencionadas - eu pessoalmente as uso para os mesmos fins, conforme descrito neste post. Para cada classe pesquisada, ele mostra 2 diagramas de classe gerados instantaneamente: relações de classe e visualização UML de classe. O diagrama de relações de classe permite percorrer toda a estrutura. Possui suporte completo para anotações e genéricos, além de suporte especial para entidades JPA. Funciona muito bem com grandes projetos (milhares de classes).
fonte
Que tal o plug- in Omondo para Eclipse. Eu usei e acho que é bastante útil. Embora se você esteja gerando diagramas para grandes fontes, talvez seja necessário iniciar o Eclipse com mais memória.
fonte
Eu diria que o 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é fazer engenharia reversa do comportamento dos métodos java, não apenas a estrutura e as assinaturas), mas também inclui alguns recursos predefinidos, como a geração de classe diagramas a partir do código Java que você precisa.
fonte