web-dev-qa-db-fra.com

Générer un diagramme de classes UML à partir de Java Project

Existe-t-il un outil performant permettant de procéder à l’ingénierie inverse Java aux classes en langage UML et permettant d’obtenir une vue d’ensemble des relations entre ces classes? Il n'est pas nécessaire de décompiler à partir d'un fichier JAR car j'ai les sources. Je sais qu'il y en a plusieurs, mais la plupart ne peuvent générer que des cours individuels. J'espère qu'il existe un outil capable de générer un diagramme de classes qui donne une vue d'ensemble de la manière dont toutes mes classes et packages actuels fonctionnent ensemble, afin que je puisse analyser la conception de mon architecture actuelle. Bien sûr, analyser est une chose. L'autre est à des fins de documentation.

J'en connais quelques-uns jusqu'à présent. Mais ils ne peuvent pas faire un diagramme de classe d'aperçu. Voici une liste de Java outil UML que j'ai essayé et qui est capable de faire de l'ingénierie inverse, mais je ne peux pas créer de diagramme de classes de synthèse de l'ensemble de mon projet:

  • StarUML (Vraiment bien Open source Outil UML mais ne peut pas générer de diagramme de classe de synthèse)
  • ArgoUML (Il est lent et lent et il n'arrête pas de s'écraser)
  • UModel (Ceci est un logiciel du commerce. J'utilisais auparavant, mais le trouvais difficile à utiliser)
  • MS Visio (Il ne prend pas en charge le reverse engineering UML Java. Uniquement pour VB)

Y a-t-il d'autres recommandations à ajouter à cette liste? Et nous espérons pouvoir générer un diagramme de classes Java. J'utilise Eclipse, au fait.

188
Carven

J'utilise le plugin eUML2 de Soyatec, sous Eclipse, et cela fonctionne bien pour la génération de code UML donnant le code source. Cet outil est utile jusqu’à Eclipse 4.4.x

42
Heisenbug

J'ai écrit Class Visualizer , qui le fait. C'est un outil gratuit qui a toutes les fonctionnalités mentionnées - je l'utilise personnellement aux mêmes fins, décrites dans ce post. Pour chaque classe consultée, il montre 2 diagrammes de classe générés instantanément: relations de classe et vue UML de classe. Le diagramme de relations de classe permet de parcourir l'ensemble de la structure. Il prend en charge les annotations et les génériques, ainsi que les entités JPA. Fonctionne très bien avec les gros projets (des milliers de classes).

99

Que diriez-vous du plugin Omondo pour Eclipse. Je l'ai utilisé et je le trouve très utile. Toutefois, si vous générez des diagrammes pour des sources volumineuses, vous devrez peut-être démarrer Eclipse avec davantage de mémoire.

2
Swaranga Sarma

Je dirais que MoDisco est de loin le plus puissant (mais probablement pas le plus facile à utiliser).

MoDisco est un framework générique de reverse engineering (vous permettant de personnaliser votre projet de reverse engineering. Avec MoDisco, vous pouvez même procéder au reverse engineering du comportement des méthodes Java, non seulement de la structure et des signatures), mais également de certaines fonctions prédéfinies. des fonctionnalités telles que la génération de diagrammes de classes à partir du code Java dont vous avez besoin.

2
Jordi Cabot