Existe-t-il un bon outil qui peut aider à inverser l'ingénierie des classes Java en UML qui montrera un aperçu de la façon dont mes classes sont liées les unes aux autres? Il n'a pas besoin de décompiler le fichier JAR car j'ai les sources. Je sais qu'il y en a beaucoup, mais la plupart d'entre elles ne peuvent générer qu'une classe individuelle. J'espère qu'il existe un outil qui peut générer un diagramme de classes qui montre un aperçu de la façon dont toutes mes classes et packages actuels fonctionnent ensemble, afin que je puisse analyser ma conception d'architecture actuelle. Bien sûr, l'analyse 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'ensemble. Voici une liste d'outils Java UML que j'ai essayé et qui est capable de faire de l'ingénierie inverse mais ne peut pas faire un diagramme de classe d'ensemble de tout mon projet:
- StarUML (vraiment bon
Opensourceoutil UML mais ne peut pas générer pas diagramme de classes aperçu) - ArgoUML (il est lent et lent et continue de s'écraser)
- UModel (Ceci est un logiciel commercial. J'ai utilisé il y a quelque temps mais j'ai trouvé difficile à utiliser)
- MS Visio (Il ne prend pas en charge l'ingénierie inverse Java UML. Uniquement pour VB)
Y a-t-il d'autres recommandations à ajouter à cette liste? Et nous espérons pouvoir générer un diagramme de classe Java d'ensemble. J'utilise Eclipse, au fait.
Réponses:
J'utilise eUML2 plug - in de Soyatec, sous Eclipse et il fonctionne très bien pour la génération d'UML donnant le code source. Cet outil est utile jusqu'à Eclipse 4.4.x
la source
J'ai écrit Class Visualizer , qui le fait. C'est un outil gratuit qui possède toutes les fonctionnalités mentionnées - je l'utilise personnellement aux mêmes fins, comme décrit dans cet article. Pour chaque classe parcourue, il montre 2 diagrammes de classe générés instantanément: relations de classe et vue UML de classe. Le diagramme des relations de classe permet de parcourir toute la structure. Il a un support complet pour les annotations et les génériques ainsi qu'un support spécial pour les entités JPA. Fonctionne très bien avec de grands projets (des milliers de classes).
la source
Que diriez- vous du plugin Omondo pour Eclipse. Je l'ai utilisé et je le trouve très utile. Bien que si vous générez des diagrammes pour de grandes sources, vous devrez peut-être démarrer Eclipse avec plus de mémoire.
la source
Je dirais que MoDisco est de loin le plus puissant (mais probablement pas le plus facile à utiliser ).
MoDisco est un cadre générique de rétro-ingénierie (afin que vous puissiez personnaliser votre projet de rétro-ingénierie, avec MoDisco, vous pouvez même inverser le comportement des méthodes java, non seulement la structure et les signatures), mais comprend également des fonctionnalités prédéfinies comme la génération de classe diagrammes en code Java dont vous avez besoin.
la source