web-dev-qa-db-de.com

Generieren Sie ein UML-Klassendiagramm aus Java Project

Gibt es ein gutes Tool, mit dem Sie Java Klassen in UML umwandeln können, um einen Überblick über die Beziehung meiner Klassen zueinander zu erhalten? Es muss nicht aus der JAR-Datei dekompiliert werden, da Ich habe die Quellen. Ich weiß, dass es einige gibt, aber die meisten können nur einzelne Klassen generieren. Ich hoffe, es gibt ein Tool, das Klassendiagramme generiert, die einen Überblick darüber geben, wie alle meine aktuellen Klassen und Pakete zusammenarbeiten. Damit ich meinen aktuellen Architekturentwurf analysieren kann. Natürlich ist das Analysieren eine Sache, die andere dient zu Dokumentationszwecken.

Ich kenne einige bisher. Sie können jedoch kein Übersichtsklassendiagramm erstellen. Hier ist eine Liste des Java UML-Tools, das ich ausprobiert habe und das Reverse Engineering ausführen kann, aber kein Übersichtsklassendiagramm meines gesamten Projekts erstellen kann:

  • StarUML (Wirklich gut Open Source UML-Tool, kann aber kein Übersichtsklassendiagramm generieren
  • ArgoUML (Es ist langsam und träge und stürzt ständig ab)
  • UModel (Dies ist eine kommerzielle Software. Ich habe sie vor einiger Zeit verwendet, fand sie aber schwierig zu bedienen.)
  • MS Visio (Es unterstützt nicht Java UML Reverse Engineering. Nur für VB)

Gibt es noch andere Empfehlungen, die zu dieser Liste hinzugefügt werden sollten? Und hoffentlich kann man eine Übersicht generieren Java Klassendiagramm. Ich benutze übrigens Eclipse.

188
Carven

Ich benutze eUML2 Plugin von Soyatec unter Eclipse und es funktioniert gut für die Erzeugung von UML mit dem Quellcode. Dieses Tool ist bis zu Eclipse 4.4.x nützlich

42
Heisenbug

Ich schrieb Class Visualizer , was es tut. 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. Klassenbeziehungsdiagramm ermöglicht das Durchlaufen der gesamten Struktur. Es bietet vollständige Unterstützung für Anmerkungen und Generika sowie spezielle Unterstützung für JPA-Entitäten. Funktioniert sehr gut bei großen Projekten (Tausende von Klassen).

99

Wie wäre es mit dem Omondo Plugin für Eclipse. Ich habe es benutzt und finde es ziemlich nützlich. Wenn Sie Diagramme für große Quellen generieren, müssen Sie Eclipse möglicherweise mit mehr Arbeitsspeicher starten.

2
Swaranga Sarma

Ich würde sagen MoDisco ist bei weitem das mächtigste (obwohl wahrscheinlich nicht das einfachste, 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, nicht nur die Struktur und Signaturen), sondern auch das Verhalten von === [Reverse Engineering Enthält einige vordefinierte Funktionen wie die Erstellung von Klassendiagrammen aus dem von Ihnen benötigten Java - Code.

2
Jordi Cabot