web-dev-qa-db-de.com

freies UML-Sequenzdiagramm Reverse Engineering Eclipse-Plugin funktioniert sofort - gibt es so etwas?

Ich habe (obwohl nicht sehr umfassend) zahlreiche Lösungen ausprobiert ModelGoon (nur Klassen- und Interaktionsdiagramme verfügbar), ObjectAid (nur Klassendiagramm), eUML Free Edition (wird mit einem ominösen Fehler "Lizenz nicht gefunden" bei der ersten Verwendung beendet) MoDisco (mit der einzigen Option im Menü: "Durchsuchen des entsprechenden Modellelements"). Und auch einige eigenständige Tools - ArgoUML und BOUML Entweder bieten Sie diese Funktion nicht an oder zumindest konnte ich sie nicht finden. Jsonde wurde erst gestartet, nachdem ich einen msvcr71.dll-Fehler behoben hatte und aus unbekannten Gründen keine Verbindung zur VM herstellen konnte ...Java Call Tracer ist nur eine Reihe von Dateien mit Seiten mit Optionen, die direkt auf die JVM angewendet werden können, und es gibt keine ausführbaren Dateien ...

Ich habe auch folgende Beiträge zum Thema gelesen: mit kommerziellen Optionen , zu allgemein (nicht Seq-Diagramme) , auch zu allgemein , mit eigenständigen kommerziellen Lösungen

Mit "out of the box" meine ich - die Standardinstallation ist nicht fehlerhaft und es gibt eine Option wie "Sequenzdiagramm erzeugen" oder ähnliches, was zu einem (modifizierbaren, großen) Sequenzdiagramm führt. 

Ich habe den Eindruck, dass es einfach kein (noch?) Kostenloses UML-Sequenzdiagramm gibt. Das Reverse Engineering-Eclipse-Plug-In funktioniert sofort. 

Bitte beweise mich falsch. Vielen Dank

23
kostja

Neulich entdeckte ich ein Werkzeug der University of Victoria mit dem Namen Diver: Dynamic Interactive Views für Reverse Engineering . Sie können entweder eine Methode suchen und ein statisches Sequenzdiagramm erstellen, das mit dieser Methode beginnt, oder Sie können eine Anwendung in einem Trace-Modus ausführen, um das Sequenzdiagramm für eine bestimmte Ausführung einer Anwendung zu erfassen.

15
Thomas Owens

Ich bin der Initiator des ModelGoon-Projekts und arbeite gerade daran, Sequenzdiagramme aus einer Methode zu erstellen. Und ich plane eine Veröffentlichung in wenigen Wochen. Daher weiß ich nicht wirklich, welche Funktionen von den Benutzern erwartet werden. Ich meine, es ist möglich, aus einem Methodenkörper ein sehr detailliertes Sequenzdiagramm zu erstellen, aber ist es wirklich nützlich? Normalerweise verwende ich Sequenzdiagramme, "um etwas zu durchdenken, entweder um die Logik in einem Anwendungsfall zu überprüfen oder um eine Methode oder einen Service zu entwerfen", wie in Agile Modeling empfohlen.

Können Sie mir mehr über Ihre Verwendung des generierten Sequenzdiagramms erzählen? Wie Sie sagten, wäre es besser, wenn es modifizierbar ist, welche Art von Änderungen erwarten Sie und wie sieht es mit der Codesynchronisation aus? Was ist der Detaillierungsgrad, den Sie davon erwarten?

Haben Sie das Netbeans UML Modeling-Modul ausprobiert?

Fühlen Sie sich frei, mich von meiner Website aus zu kontaktieren.

3
Riana

ObjectAid hat jetzt ein Sequenzdiagramm. Es ist nicht kostenlos, aber auch nicht teuer. Es führt Reverse-Engineering aus Quellcode, Stack-Traces und Call-Stacks im Debugger durch.

1
FelixM

TPTP scheint bisher die einzig wirkliche Option zu sein. Das hat sich in den letzten Tagen herauskristallisiert, nachdem verschiedene Lösungen ausprobiert wurden. Führen Sie nach der Installation von TPTP von der regulären Eclipse-Aktualisierungssite die folgenden Schritte aus:

  • wählen Profil als aus dem Kontextmenü eines ausführbaren Elements (z. B. eine Methode, ein Test, ein Testfall ..) 
  • wählen Profilkonfigurationen
  • wähle aus Profileinstellung Tab
  • wählen Analyse der Untersuchungszeit als Datensammler
  • in dem Profilierung und Protokollierung Ansicht auswählen Öffnen mit aus dem Kontextmenü der Profildaten (die Uhr mit Brille) und wählen Sie UML2-Klasseninteraktionen


    Danach müssen Sie viele Rechtslinien durch Klicken mit der rechten Maustaste ausblenden, um das Diagramm aus der Ferne lesbar zu machen, während Sie durch die TPTP-Farbauswahl (hellblau auf weiß - auch sehr unlesbar) gestört werden.

    Sie können das Diagramm dann drucken und effektiv über Ihren bevorzugten Dateidrucker in PDF-, TIFF-, EPS- und andere Formate exportieren.

    Es gibt jedoch eine große bittere Pille, die es zu schlucken gilt: Was Sie erhalten, ist eine Ausführungsspur, die ein Sequenzdiagramm verdeckt. Dies bedeutet - keine Schleifen, keine Bedingungen, keine Notizen und dergleichen. Sogar der Diagrammtitel ist scheiße, da es sich um eine kryptische Monstrosität von mehr als 50 Zeichen handelt, die Sie nicht ändern können.

    Auf der anderen Seite bietet TPTP viel mehr als ein Sequenzdiagramm. Als Bonus erhalten Sie beispielsweise eine farbkodierte Ausführungs-Hot-Spot-Analyse auf der Seite des Diagramms.

    Es scheint jedoch, dass selbst die teuren Tools mit Round-Trip-Code-Engineering wie Enterprise Architect nichts weiter bieten als Nachverfolgung (und zugegebenermaßen viel schönere Grafiken). Reverse Engineering a echt Sequenzdiagramm scheint ziemlich trivial zu sein. 

  • 1
    kostja