Comment générer des diagrammes UML (en particulier des diagrammes de séquence) à partir du code Java?

Comment puis-je générer des diagrammes UML (en particulier des diagrammes de séquence) à partir du code Java existant?

409
demandé sur M. Prokhorov 2008-09-09 16:56:05

14 réponses

ObjectAid UML Explorer

est ce que j'ai utilisé. Il est facilement installé à partir du dépôt:

Name:     ObjectAid UML Explorer
Location: http://www.objectaid.com/update/current

et produit de très beaux diagrammes UML:

Screenshot

Description du site:

L'Explorateur UML ObjectAid est différent des autres UML outils. Il utilise la notation UML pour afficher une représentation graphique du code existant c'est aussi exacts et à jour que votre éditeur de texte, tout en étant très facile à utiliser. Plusieurs caractéristiques uniques rendent cela possible:

  • votre code source et les bibliothèques sont le modèle qui est affiché, ils ne sont pas modifiés à l'envers dans un format différent.
  • si vous mettez à jour votre code dans Eclipse, votre diagramme est mis à jour aussi; il n'y a pas besoin d'inverser le code source.
  • Refactoring met à jour votre diagramme ainsi que votre code source. Lorsque vous renommez un champ ou déplacer une classe, votre diagramme reflète simplement la modifications sans sortir de la synchronisation.
  • tous les diagrammes de votre espace de travail Eclipse sont mis à jour avec des modifications de recadrage, le cas échéant. Si nécessaire, ils sont extraits de votre système de contrôle de version.
  • Les diagrammes
  • sont entièrement intégrés dans l'IDE Eclipse. Vous pouvez faire glisser les classes Java de n'importe quelle autre vue sur le diagramme, et les classes liées au diagramme l'information est affichée dans d'autres vues, le cas échéant.
248
répondu Thomas Ahle 2017-10-31 20:06:10

EDIT: Si vous êtes un concepteur alors Papyrus est votre meilleur choix il est très avancé et plein de fonctionnalités, mais si vous voulez juste esquisser quelques diagrammes UML et installation facile alors ObjectAid est assez cool et il ne nécessite pas de plugins Je l'ai juste installé sur Eclipse-Java EE et fonctionne très bien !.


mise à jour 11 octobre, 2013

Mon premier post était en juin 2012 beaucoup de choses ont changé beaucoup d'outils a grandi et d'autres pas. Comme je vais revenir pour faire un peu de modélisation et aussi obtenir quelques réponses à l'article, j'ai décidé d'installer papyrus à nouveau et je vais étudier d'autres solutions de modélisation UML possibles à nouveau. La génération UML (avec fonction de synchronisation) est vraiment importante non pas pour le concepteur de logiciel mais pour le développeur moyen.

j'aimerais que papyrus ait un moyen simple de rétro-ingénierie classes dans le diagramme de classe UML et ce serait super cool si cette ingénierie inverse avait une fonctionnalité de synchronisation, mais malheureusement le projet papyrus est plein de fonctionnalités et je pense que les développeurs là-bas ont déjà beaucoup à portée de main puisque aussi de nombreuses actions que vous faites sur papyrus pourrait ne pas vous donner de réponse et juste rien ne se passe, mais c'est hors de cette portée de question de toute façon.

The Answer (11 Oct. 2013)

Outils

  1. Télécharger Papyrus
  2. allez à L'aide -> installer un nouveau logiciel...
  3. dans le travailler avec: sélectionner -- tous les Sites disponibles--
  4. dans le filtre, tapez Papyrus
  5. une fois l'installation terminée redémarrer Eclipse
  6. répétez les étapes 1-3 et cette fois, installer Modisco

Étapes

  1. dans votre projet java (supposons qu'il s'appelle MyProject) créez un dossier E. g UML
  2. clic Droit sur le nom du projet -> Découverte> Découverte -> Découvrez Java et le modèle d'inventaire de projet java, un fichier appelé MyProject_kdm.xmi sera généré. enter image description here
  3. clic droit fichier Nom du projet -- > nouveau -- > modèle papyrus - > et appelez-le MyProject.
  4. déplacer les trois fichiers générés MyProject.di , MyProject.notation, MyProject.uml vers le dossier UML
  5. clic droit sur MyProject_kdm.xmi -> Découverte> Découverte -> Découvrez modèle UML de KDM à nouveau le code, vous obtiendrez une boîte de dialogue de propriétés de définir la sérialisation module de VRAI pour générer un fichier nommé MyProject.uml enter image description here

  6. Déplacer généré MyProject.uml qui a été généré à la racine, dans le dossier UML, Eclipse vous demandera si vous voulez le remplacer cliquez Oui. Ce que nous avons fait ici est que nous avons remplacé un modèle vide avec un générés.

  7. ALT+W - > show view -> papyrus - > model explorer

  8. dans cette vue, vous trouverez vos classes comme sur la photo enter image description here

  9. dans la vue clic droit modèle racine - > nouveau diagramme enter image description here

  10. puis commencer à saisir les classes au diagramme de la vue

Certaines fonctionnalités

  • pour afficher les éléments de classe (variables, fonctions, etc.) cliquez avec le bouton droit de la souris sur n'importe quelle classe - > filtres - >afficher/cacher le contenu Voila !!

  • vous pouvez avoir par défaut des paramètres de couleur conviviale de la fenêtre - > péréférences - > papyrus - > diagramme de classe

  • un réglage très important est arranger quand vous laissez tomber les classes ils obtiennent un clic droit étroit sur n'importe quel espace vide à un diagramme de classe et cliquez arranger tous

  • flèches dans le modèle la vue d'explorateur peut être saisi au diagramme pour montrer la généralisation, la réalisation etc

  • après tout cela, vos paramètres afficheront des diagrammes comme enter image description here

  • la synchronisation n'est pas disponible pour autant que je sache que vous aurez besoin d'importer manuellement de nouvelles classes.

C'est tout, et n'achetez pas de produits commerciaux à moins que vous vraiment besoin, papyrus est en fait grand et sophistiqué à la place de donner ou quelque chose.

avertissement: je n'ai aucun rapport avec le peuple papyrus, en fait, je n'ai pas aimé papyrus au début jusqu'à ce que je ai fait beaucoup de recherche et l'ai expérimenté avec une certaine patience. Et revenir à ce post à nouveau quand j'ai essayer d'autres outils gratuits.

63
répondu Ismail Marmoush 2018-07-27 15:10:53

Quelle est votre base de code? Le Java ou le C++?

alt texte http://www.soyatec.com/euml2/images/product_euml2_110x80.png

eUML2 for Java est un modeleur UML puissant conçu pour Java developper dans Eclipse. L'édition gratuite peut être utilisée à des fins commerciales. Il supporte les caractéristiques suivantes:

  • du CV et de Soutien de l'Équipe de
  • conçu pour grand projet avec des vues de modèle multiples et personnalisables
  • Conforme Helios
  • synchronisation du code / modèle en temps réel
  • UML2.1 conforme et le soutien de OMG XMI
  • JDK 1.4 et 1.5 support
  • l'édition commerciale prévoit:

  • Avancé inversé génie

  • puissants outils d'analyse de la véritable dépendance
  • profil UML et MDD
  • outils de Base de données
  • Personnalisable modèle de soutien
42
répondu prakash 2011-11-02 17:05:19

Que Diriez-vous de PlantUML ? Ce n'est pas pour faire du reverse engineering!!! C'est pour l'ingénierie avant de coder.

8
répondu Zamel 2010-10-24 08:38:27

j'ai développé un maven plugin qui peut les deux, être exécuté à partir de CLI comme un but de plugin, ou importer comme dépendance et utiliser programmatiquement l'analyseur, @see Main#main() pour obtenir l'idée sur la façon.

It rend PlantUML src code des paquets désirés récursivement que vous pouvez éditer manuellement si nécessaire (espérons que vous ne le ferez pas). Ensuite, en collant le code dans la page plantUML, ou en téléchargeant le pot de l'usine vous peut rendre le diagramme UML sous forme d'image png.

Check it out here https://github.com/juanmf/Java2PlantUML

exemple de diagramme de sortie: enter image description here

toute contribution est la bienvenue. Il a un ensemble de filtres qui personnalisent la sortie mais je ne les ai pas encore exposés dans le plugin CLI params.

il est important de noter qu'il n'est pas limité à votre *.les fichiers java, il peut rendre des diagrammes UML src à partir de vos dépendances maven aussi bien. Ce qui est très pratique pour comprendre les bibliothèques dont vous dépendez. Il inspecte effectivement les classes compilées avec réflexion de sorte qu'aucune source nécessaire

soit le 1er à l'inaugurer à GitHub: p

5
répondu juanmf 2018-07-27 16:40:41

je recommanderais EclipseUML de Omondo pour l'usage général, bien que j'ai éprouvé quelques problèmes quelques mois en arrière, avec mes projets web. Ils ont eu une édition gratuite à un moment donné, mais qui est censément plus promu.

si vous aimez vraiment les diagrammes de séquence de rétroingénierie du code source, je vous recommande jTracert .

dans la mesure où Eclipse se projette sont concernés, le Eclipse UML2 Tools projet pourrait soutenir la rétroingénierie, bien que je n'ai jamais vu son utilisation dans la pratique.

le MoDisco (Model Discovery) project Eclipse GMT project semble être plus clair dans la réalisation de votre objectif. Le liste des outils spécifiques à la technologie serait un bon endroit pour commencer.

4
répondu Vineet Reynolds 2009-04-08 23:14:59

j'ai trouvé Vert plugin très simple à utiliser et à générer le diagramme de classe à partir du code source. Essayez-le :). Il suffit de copier le plugin à votre dir plugin.

3
répondu pcmind 2011-04-28 12:42:18

vous pouvez aussi essayer le modeleur UML netbeans. Je l'ai utilisé pour générer javacode que j'utilise dans mes projets eclipse. Vous pouvez même importer des projets eclipse dans netbeans et garder les paramètres eclipse synchronisés avec les paramètres du projet netbeans.

j'ai essayé plusieurs modeleurs UML pour eclipse et je n'en ai pas été satisfait. Ils étaient soit instables, compliqués ou tout simplement laids. ;- )

3
répondu Patrick Cornelissen 2018-07-28 18:29:06

utilisant IntelliJ IDEA. Pour générer le diagramme de classe, sélectionnez paquet et appuyez sur Ctrl + Alt + U : enter image description here

par défaut, il n'affiche que les noms de classe et pas toutes les dépendances. Pour le changer: clic droit - > afficher les catégories... et Afficher les dépendances: enter image description here

to genarate vous utilisez maven go View -> Tool Windows -> Maven Projects et appuyez sur Ctrl + Alt + U : enter image description here

le résultat: enter image description here

il est aussi possible de générer plus d'autres diagrammes. Voir documentation .

2
répondu Igor Rybak 2017-07-18 12:11:07

vous pouvez utiliser la construction d'évaluation de 30 jours D'EclipseUML pour Eclipse 3.5: http://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_may2010.zip Ce n'est pas la dernière version de 3.6, mais il est assez bon et ne nécessite pas que vous l'achetez pour les tests et la rétroingénierie.

Reverse engineering : http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html

Live démo flash: http://www.ejb3.org/reverse.swf

EclipseUML Omondo est le meilleur outil au monde pour Java. Seul l'eUML semble rivaliser avec lui sur ce marché de synchronisation java live, mais l'eUML ajoute des balises de modèle dans le code qui est vraiment très très mauvais et un non définitif pour moi.

2
répondu UML GURU 2018-07-27 16:37:59

quelque chose de très similaire a été demandé avant .

de loin le meilleur outil que j'ai utilisé pour la rétroingénierie, et le java -> UML tournant est Borland's Together . Il est basé sur Eclipse (pas seulement un seul plugin) et fonctionne vraiment bien.

1
répondu serg10 2017-05-23 11:54:37

http://www.zenuml.com ne génère pas de diagrammes UML directement à partir du code Java, mais son DSL est de type Java. BTW j'ai créé zenuml :) enter image description here

1
répondu Xiao Peng - ZenUML.com 2017-07-21 13:43:30

je suggère PlantUML. cet outil est très pratique et facile à utiliser. PlantUML ont un plugin pour Netbeans que vous pouvez créer le diagramme UML à partir de votre code java.

vous pouvez installer PlantUML plugin dans les netbeans par cette méthode:

Netbeans Menu -> Outils -> Plugin

sélectionnez maintenant les Plugins disponibles, puis trouvez PlantUML et installez-le.

pour plus d'information, visitez le site web: www.plantuml.com

0
répondu Masood 2015-08-03 06:39:36

http://uml-plugins.blogspot.com / c'est ici que nous pouvons trouver des différences entre les outils de modélisation UML, pour un démarrage rapide !! En plus de ceux-ci, j'ai remarqué SEQUENCEDIAGRAM plugin pour Intellij est également une bonne option, s'il vous plaît lire ce post pour obtenir rapidement à savoir sur gratuit vs commercial et les meilleures options.

0
répondu srinivas y 2018-10-05 16:32:51