Java-zu-UML-Generator unter Linux

Ich möchte UML-Klassendiagramme aus meinem tatsächlichen Java-Code generieren. Ich habe Visual Paradigm verwendet, als ich eine akademische Lizenz hatte, aber da es ziemlich teuer ist, hätte ich gerne einige Empfehlungen.

Erforderlich

  • Siehe Verbindungen zwischen Klassen
  • Es erlaubt mir, die UML nach der Generierung zu ändern (svg könnte funktionieren).
  • Kostenlos, auch für kommerzielle Nutzung
  • Linux

Schönes Plus

  • Hängt nicht von KDE ab (hat kleine Abhängigkeiten)
  • Sehen Sie, welche Felder von einer Klasse mit einer anderen verknüpft sind
  • Siehe Links zwischen Paketen
  • Open Source
  • Geringes Gewicht (Visual Paradigm ist furchtbar schwer und das war manchmal nervig)

Es ist mir egal, ob es sich um ein Eclipse-Plugin oder eine eigenständige Anwendung handelt.

Nachverfolgen

Ich habe Umlet ausprobiert, das mir wegen seiner Leichtigkeit und Geschwindigkeit sehr gut gefallen hat, aber es zeigt nicht die Verbindungen zwischen den Klassen und das macht es für mich fast nutzlos.

Ich habe Papyrus wie vorgeschlagen ausprobiert, aber es funktioniert nicht wie erwartet. Wenn ich eines Tages viel Freizeit habe, weiß ich zumindest, an welchem ​​Projekt ich arbeiten muss.

Antworten (2)

Ich musste dies vor einiger Zeit tun, und ich hatte das beste Ergebnis über Umlgraph Ziel, das javadoc enthält.

Unter der Haube verwendet umlgraph graphviz, daher muss graphviz installiert sein, aber ich bin sicher, dass dies im Standard-Repo der von Ihnen verwendeten Distribution enthalten sein wird.

Ich fand diesen Artikel sehr nützlich, als ich das tun musste.

Einige Alternativen

  • ydoc (von yworks) macht ein Javadoc-Doclet ... funktioniert ähnlich wie umlgraph beim Einbetten von SVG- oder Flash-basierten Klassendiagrammen (und anderen UML-Diagrammen) in generierte javadoc-Dateien ... Im Gegensatz zu umlgraph ist es ein vollständig eigenständiges GUI-Tool

  • ObjectAid kostet nur 19 $ und war ziemlich vielversprechend und sehr, sehr nützlich.

Ich habe einige Notizen zu anderen Tools gemacht (darunter einige Eclipse-basierte Plugins) ... und kann sie ausgraben, wenn Sie daran interessiert sind, sich andere Alternativen anzusehen.

Klingt nach einer tollen Lösung. Ich habe graphviz bereits mit doxygen verwendet und habe nicht daran gedacht, es mit javadoc zu verwenden. Ich werde es ausprobieren, sobald ich etwas Zeit dafür habe.
@Johnride, ja, das Einblenden in Ameisen- oder Maven-Build-Dateien ist sehr nützlich. Angesichts dessen, was Sie beschreiben, scheint ObjectAid jedoch perfekt zu passen. Anscheinend haben sie ihre Lizenz überarbeitet und Sie benötigen nur eine Lizenz für Sequenzdiagramme. Nun, Sie können auch eine Evaluierungslizenz erhalten. Es ist ein Eclipse-Plugin, das die Änderungen (neuer Code, Refactoring) in Ihrem Code innerhalb von Eclipse widerspiegelt. Ich finde wirklich, man sollte sich das genauer anschauen.
Hier ist die Aufschlüsselung von objectaid, was kostenlos ist und was eine kleine Lizenzgebühr kostet ... zusammen mit den Kosten ihrer Lizenzen. Wirklich angenehm.

Das Eclipse Papyrus- Projekt wird Ihnen dies ermöglichen. Es funktioniert unter Linux und ist völlig kostenlos.

Ich habe es ein paar Mal benutzt. Es macht den Job, erzeugt aber keine schönen Diagramme wie die in VS erstellten, die wirklich cool aussehen.

Es gibt ein paar weitere Optionen, einige davon in dieser SO-Frage: https://stackoverflow.com/questions/6167266/generate-uml-class-diagram-from-java-project

Leute, wenn euch die Antwort nicht gefällt, sagt warum. Stimmen Sie es nicht einfach heimlich ab wie einige Feiglinge. Auf einer anderen Anmerkung, Papyrus hat mich nicht beeindruckt. Ich habe einen Tag damit verbracht, es zu studieren, und konnte nicht herausfinden, wie ich das gesamte Projekt in eine UML umwandeln könnte. Eine UML einer einzelnen Java-Klasse ist so gut wie nutzlos.