Wie generiere ich UML-Diagramme (insbesondere Sequenzdiagramme) aus Java-Code?
Wie kann ich das generieren von UML-Diagrammen (insbesondere Sequenz-Diagramme) aus vorhandenen Java-code?
Kommentar zu dem Problem - Öffnen
Das ist eher unwahrscheinlich. Echten Java-code ist nicht so strukturiert, die hübsch Aussehen, wie UML-Diagramme.
zenuml.com nicht erzeugen UML-Diagramme aus Java-code direkt, aber seine DSL ist in Java-wie. BTW ich erstellt zenuml 🙂
So viele Antworten, dass die nicht-Sequenz-Diagramme. Hmpf
InformationsquelleAutor der Frage Jonathan | 2008-09-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
ObjectAid UML-Explorer
Ist, was ich benutzt habe. Es ist leicht installiert aus dem repository:
Und produziert Recht schön UML-Diagramme:
Beschreibung von der Webseite:
InformationsquelleAutor der Antwort Thomas Ahle
BEARBEITEN:
Wenn Sie ein designer dann Papyrus ist Ihre beste Wahl, es ist sehr fortschrittlich und voller features, aber wenn Sie nur wollen, zu skizzieren, einige uml-Diagramme und einfache installation dann ObjectAid ist ziemlich cool und es benötigt keine plugins, die ich gerade installiert es über Eclipse-Java EE und funktioniert großartig !.
UPDATE-Oct 11th 2013
Meinem ursprünglichen post wurde im Juni 2012 eine Menge Dinge haben sich geändert, viele tools, die gewachsen sind, und andere nicht. Da bin ich wieder, um einige der Modellierung und auch immer einige Antworten auf den Beitrag habe ich beschlossen, papyrus wieder, und wird untersuchen, mögliche andere uml-Modellierung-Lösungen wieder. Uml-generation (mit Synchronisations-Funktion) ist wirklich wichtig, nicht zu software-designer, aber für den durchschnittlichen Entwickler.
Ich wünschte, papyrus hatte einfache Art und Weise durch Reverse Engineering Klassen in UML Klassen-Diagramm und Es wäre super cool wenn das reverse engineering hatte eine Synchronisations-Funktion, aber leider papyrus-Projekt ist voll von features, und ich denke, dass die Entwickler dort haben bereits viel in die hand, da auch viele Aktionen, die Sie tun, über papyrus möglicherweise nicht geben Ihnen keine Antwort und nichts passiert, aber das ist aus dieser Frage den Rahmen sowieso.
Die Antwort (Oct 11th 2013)
Tools
Schritte
Klicken Sie rechts auf MyProject_kdm.xmi -> Entdeckung -> Entdecker -> Entdecken UML-Modell von KDM code erneut erhalten Sie einen Eigenschaften-dialog legen Sie die Serialisierung requisite, um WAHR zu erzeugen, eine Datei namens MyProject.uml
Bewegen erzeugt MyProject.uml, die generiert wurde, an der Wurzel, um UML-Ordner, Eclipse fragt Sie, Ob Sie wollte, um es zu ersetzen klicken Sie auf ja. Was wir gemacht haben war, dass wir ersetzt ein leeres Modell erzeugt.
ALT+W -> show view -> papyrus -> Modell-explorer
In dieser Ansicht finden Sie Ihre Klassen wie in dem Bild
In der Ansicht Rechts-klicken Sie auf root-Modell -> Neues Diagramm
Starten Sie dann packte Klassen-Diagramm aus der Sicht
Einige Funktionen
Zeigen die Klasse-Elemente (Variablen, Funktionen usw) mit der Rechten Maustaste auf eine beliebige Klasse -> Filter -> ein - /ausblenden Inhalt Voila !!
Können Sie Standard-freundliche Farbe Einstellungen von Fenster -> pereferences -> papyrus -> Klassendiagramm
eine sehr wichtige Einstellung ist Arrangieren, wenn Sie drop die Klassen, die Sie eng zu erhalten klicken Sie rechts auf eine leere Stelle im Klassendiagramm und klicken Sie auf Ordnen Sie Alle
Pfeile im Modell-explorer anzeigen können ergriffen werden, um das Diagramm zu zeigen, Generalisierung, Realisierung usw.
Nachdem alle Ihre Einstellungen zeigen Diagramme wie
Seit der Synchronisation ist nicht verfügbar, soweit ich weiß, müssen Sie manuell importieren Sie die neuen Klassen.
Das ist alles, Und nicht kaufen kommerzielle Produkte, es sei denn, Sie wirklich brauchen, papyrus ist wirklich eine großartige und anspruchsvolle stattdessen Spenden oder so etwas.
Disclaimer: ich habe keinen Bezug zu dem papyrus Menschen infact ich wusste nicht, wie papyrus auf den ersten, bis ich Tat viel Forschung und erlebt es mit etwas Geduld. Und so wird dieser post wieder, wenn ich versuche, anderen kostenlosen tools.
InformationsquelleAutor der Antwort Ismail Marmoush
Was ist die codebase? Java oder C++?
alt-text http://www.soyatec.com/euml2/images/product_euml2_110x80.png
InformationsquelleAutor der Antwort prakash
Wie etwa PlantUML?
Es ist nicht für das reverse-engineering!!! Es ist für das engineering, bevor Sie code.
InformationsquelleAutor der Antwort Zamel
Ich würde empfehlen, EclipseUML von Omondo für Allgemeine Verwendung, obwohl ich die Probleme ein paar Monate zurück, mit meiner web-Projekte. Sie hatte eine free edition auf einem Punkt in der Zeit, aber das ist angeblich nicht mehr gefördert.
Wenn Sie wirklich scharf auf reverse-engineering von Sequenzdiagrammen anhand von Quellcode, die ich empfehlen würde jTracert.
Soweit Eclipse-Projekte, die selbst betroffen sind, ist die Eclipse UML2-Tools Projekt könnte Unterstützung von reverse-engineering, zwar hab ich noch nie gesehen, Ihre Verwendung in der Praxis.
Den MoDisco (Modell Discovery) Projekt Eclipse GMT-Projekt scheint klarer zu werden bei der Erreichung Ihrer Ziel. Die Liste der Technologie-spezifische Werkzeuge wäre ein guter Ort, um zu starten.
InformationsquelleAutor der Antwort Vineet Reynolds
Könnte man auch den netbeans-UML modeller einen Versuch. Ich habe es verwendet, um javacode generieren, die ich in meinem eclipse-Projekte. Sie können sogar import von eclipse-Projekten in netbeans und halten Sie die eclipse-Einstellungen synchronisiert mit der netbeans-Projekt-Einstellungen.
Ich habe versucht, verschiedene UML-Modeller für eclipse und war nicht zufrieden mit Ihnen. Sie waren entweder instabil, kompliziert oder einfach nur hässlich. 😉
InformationsquelleAutor der Antwort Patrick Cornelissen
Fand ich Grün plugin sehr einfach zu bedienen und zu generieren, class diagram aus source code.
Probieren Sie es aus :).
Kopieren Sie einfach das plugin in euer plugin-Verzeichnis.
InformationsquelleAutor der Antwort pcmind
Entwickelte ich eine maven-plugin, das sowohl von der CLI als plugin Ziel, oder den import-Abhängigkeit und programmgesteuert verwenden Sie den parser
@see Main#main()
um die Idee, wie.Es macht PlantUML src code der gewünschten Pakete rekursiv , können Sie manuell Bearbeiten, wenn nötig (hoffentlich nicht). Dann, durch einfügen von code in plantUML Seite oder durch herunterladen der pflanze Glas, das Sie machen kann das UML-Diagramm als png-Bild.
Check it out hier https://github.com/juanmf/Java2PlantUML
Beispiel output-Diagramm:
Jeder Beitrag ist mehr als willkommen. Es hat eine Reihe von filtern, die Ausgabe anzupassen, aber ich didn ' T setzen Sie diese noch in das plugin CLI params.
Es ist wichtig zu beachten, dass es ist nicht beschränkt auf die *.java-Dateien, die es machen kann UML-Diagramme src von Ihnen maven-Abhängigkeiten als auch. Das ist sehr praktisch, um zu verstehen, Bibliotheken, auf die Sie angewiesen sind. Tatsächlich prüft kompilierten Klassen mit Reflexion, so dass keine Quelle benötigt
Werden, die 1. star es auf github 😛
InformationsquelleAutor der Antwort juanmf
Können Sie die 30 Tage evaluation-erstellen von EclipseUML für Eclipse 3.5 : http://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_may2010.zip
Dies ist nicht die neueste 3.6 build aber Recht gut und brauchen nicht, es zu kaufen für Tests reverse engineering.
Reverse engineering : http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html
Live-flash-demo: http://www.ejb3.org/reverse.swf
EclipseUML Omondo ist das beste Werkzeug in der Welt für Java. Nur eUML scheint mit ihm konkurrieren auf dieser live-java-Synchronisation-Markt, aber eUML add-Modell-tags in den code, das ist wirklich sehr sehr schlecht und eine definitive no-go für mich.
InformationsquelleAutor der Antwort UML GURU
Etwas sehr ähnliche gebeten wurde vor.
Bei weitem das beste tool, das ich benutzt habe, reverse engineering und round-trip java -> UML ist Borland ' s Together. Es basiert auf Eclipse (nicht nur einem einzigen plugin) und funktioniert wirklich gut.
InformationsquelleAutor der Antwort serg10
Verwendung von IntelliJ IDEA. Zum generieren von Klassen-Diagramm Paket auswählen und drücken Sie Strg + Alt + U:
Standardmäßig, er zeigt nur die Klassennamen und nicht alle Abhängigkeiten. Um es zu ändern: Rechtsklick -> Kategorien Anzeigen... und Zeigen Sie die Abhängigkeiten:
Zu genarate Abhängigkeiten Diagramm (UML Deployment-Diagramm) und Sie verwenden maven gehen Ansicht -> Tool Windows> Maven Projects und drücken Sie Strg + Alt + U:
Das Ergebnis:
Außerdem ist es möglich, mehr zu erzeugen andere Diagramme. Sehen Dokumentation.
InformationsquelleAutor der Antwort Igor Rybak
http://www.zenuml.com nicht generiert UML-Diagramme aus Java-code direkt, aber seine DSL ist in Java-wie. BTW ich erstellt zenuml 🙂
InformationsquelleAutor der Antwort Xiao Peng - ZenUML.com
Schlage ich vor, PlantUML. dieses tools ist sehr nützlich und einfach zu bedienen. PlantUML haben ein plugin für Netbeans, können Sie erstellen UML Diagramm aus java-code.
können Sie installieren PlantUML plugin in netbeans, indem Sie diese Methode:
Netbeans-Menü -> Werkzeuge -> Plugin
Wählen Sie nun Verfügbaren Plugins und dann finden PlantUML und installieren Sie es.
Weitere Informationen finden Sie auf der website: http://www.plantuml.com
InformationsquelleAutor der Antwort Masood