Gibt es ein gutes Tool, mit dem Sie Java-Klassen in UML zurückentwickeln können, um einen Überblick über die Beziehung meiner Klassen zueinander zu erhalten? Es muss nicht aus der JAR-Datei dekompiliert werden, da ich die Quellen habe. Ich weiß, dass es einige gibt, aber die meisten von ihnen können nur einzelne Klassen erzeugen. Ich hoffe, es gibt ein Tool, mit dem Klassendiagramme erstellt werden können, das einen Überblick über die Zusammenarbeit aller meiner aktuellen Klassen und Pakete zeigt, sodass ich mein aktuelles Architekturdesign analysieren kann. Analysieren ist natürlich eine Sache. Die andere dient Dokumentationszwecken.
Ich kenne bisher einige. Sie können jedoch kein Übersichtsklassendiagramm erstellen. Hier ist eine Liste der Java UML-Tools, die ich ausprobiert habe und die Reverse Engineering ausführen können, die jedoch kein Übersichtsklassendiagramm meines gesamten Projekts erstellen können:
- StarUML (Wirklich gutes
UMS-Tool fürOpenSource, kann jedoch kein Übersichtsklassendiagramm generieren) - ArgoUML (Es ist langsam und träge und es stürzt immer wieder ab)
- UModel (Dies ist eine kommerzielle Software. Ich habe sie vor einiger Zeit verwendet, fand sie aber schwierig zu verwenden.)
- MS Visio (Java UML Reverse Engineering wird nicht unterstützt. Nur für VB)
Gibt es weitere Empfehlungen, die dieser Liste hinzugefügt werden können? Und hoffentlich kann ein Überblick Java-Klassendiagramm generieren. Ich benutze übrigens Eclipse.
Antworten:
Ich verwende das eUML2- Plugin von Soyatec unter Eclipse und es funktioniert gut für die Generierung von UML mit dem Quellcode. Dieses Tool ist bis Eclipse 4.4.x nützlich
quelle
Ich habe Class Visualizer geschrieben , der das macht. Es ist ein kostenloses Tool mit allen genannten Funktionen - ich persönlich benutze es für die gleichen Zwecke, wie in diesem Beitrag beschrieben. Für jede durchsuchte Klasse werden 2 sofort generierte Klassendiagramme angezeigt: Klassenbeziehungen und Klassen-UML-Ansicht. Das Klassenbeziehungsdiagramm ermöglicht das Durchlaufen der gesamten Struktur. Es bietet volle Unterstützung für Anmerkungen und Generika sowie spezielle Unterstützung für JPA-Entitäten. Funktioniert sehr gut mit großen Projekten (Tausende von Klassen).
quelle
Wie wäre es mit dem Omondo Plugin für Eclipse ? Ich habe es benutzt und finde es sehr nützlich. Wenn Sie Diagramme für große Quellen erstellen, müssen Sie Eclipse möglicherweise mit mehr Speicher starten.
quelle
Ich würde sagen, MoDisco ist bei weitem das mächtigste (obwohl es wahrscheinlich nicht das einfachste ist, mit dem man arbeiten kann).
MoDisco ist ein generisches Reverse Engineering-Framework (damit Sie Ihr Reverse Engineering-Projekt anpassen können. Mit MoDisco können Sie sogar das Verhalten der Java-Methoden zurückentwickeln, nicht nur die Struktur und Signaturen), sondern auch einige vordefinierte Funktionen wie die Generierung von Klassen Diagramme aus Java-Code, die Sie benötigen.
quelle