Frage

Ich bin auf der Suche nach einem Werkzeug, das Engineering von Java in ein Sequenzdiagramm, sondern bietet auch die Möglichkeit, Anrufe auf bestimmte Bibliotheken, um herauszufiltern umkehren werden.

Zum Beispiel funktioniert die Netbeans IDE einen fantastischen Job dieses aber es enthält alle Anrufe String oder Integer, die Unordnung das Diagramm bis zu dem Punkt es unbrauchbar ist.

Jede Hilfe wird sehr geschätzt !!!!!!!

War es hilfreich?

Lösung

Ich denke, jtracert ist das, was Sie suchen. Es erzeugt ein Sequenzdiagramm von einem laufenden Java-Programm. Auch, weil sein Ausgang eine Textbeschreibung des Diagramms (in den Formaten von mehreren populären SD-Tools) ist, können Sie grep verwenden, um Filter nur für die Klassen, die Sie interessieren.

Andere Tipps

Ich glaube, das perfekte Werkzeug, um Ihr Problem zu lösen, ist Diver: Dynamische Interactive Views für das Reverse Engineering. Es bietet sowohl statische als auch dynamische Sequenzdiagramme und sieht alle Ihre Anforderungen aus Ihrer Frage zu lösen.

Es ist ein Plugin für Eclipse und bietet folgende Funktionen:

  • Sie leicht verfolgen Sie Ihre Java-Programme
  • Visualisieren Sie Ihr Programm Runtime-Funktionalität
  • Ihre Spuren filtern, um sie kompakter
  • Filtern sie ihre IDE basiert auf, was zur Laufzeit auftritt
  • Sehen Sie, was Code im Quelltext-Editoren lief

Es ist auf Github und es gibt auch eine Projekt-Website

Full Disclosure: Ich bin die aktuelle Projektleitung für Taucher

Versuchen Sie MaintainJ . MaintainJ erzeugt Sequenzdiagramme zur Laufzeit für einen Anwendungsfall. Es bietet mehrere Möglichkeiten zum Ausfiltern von unerwünschten Anrufen . Ja, unerwünschte Anrufe Ausfiltern ist das wichtigste Merkmal in Sequenzdiagramm-Erzeugungs Werkzeuge benötigt. Außerdem bietet MaintainJ eine saubere Schnittstelle das Diagramm und die Suche nach Anrufen in einem Anwendungsfall oder über Anwendungsfälle zu erkunden.

Überprüfen Sie die Demo-Video einen schnellen Überblick zu verschaffen.

Ich bin der Autor des MaintainJ, nebenbei bemerkt.

JTracert ist nun eingestellt. Anstelle empfehlen sie http://www.jsonde.com/

Ich habe ein Tool, das Ihre Anforderungen exakt erfüllt. Check it out

http://sourceforge.net/projects/javacalltracer/

Neben ein Reverse-Engineering-Tool für Java zu sein, ist es auch sehr leicht. Sie können das kontrollieren, was Sie von Ihrem Java-Programm aufnehmen möchten.

Enterprise Architect von Sparx Ingenieur Java-Code einschließlich Erzeugung von Sequenzdiagrammen umkehren zu können, behauptet - sehen diese Abschnitt der Bedienungsanleitung

Es sieht aus wie eine Debug-Sitzung aufzeichnen und dann erzeugen Sie das Sequenzdiagramm aus, dass

Ich habe es nicht versucht (obwohl EA als Modellierungswerkzeug verwendet haben), so ymmv!

Es gibt einen kostenlosen 30 Tage Auswertung Download zur Verfügung

Hier finden Sie aktuelle http://www.maintainj.com

Es weiß nicht, ob es Bibliothek Anrufe filtern können, aber es hat ein vernünftiges grafisches Frontend und scheint auch sehr große Anwendungen zu verfolgen.

Heatlamp ( http://www.jmolly.com/heatlamp/ ) wurde für genau entworfen dieser Zweck.

Es erzeugt interaktiv (und druckbar) Diagramme von Ausführen von Java-Code. Sie können Filter festlegen, welche Klassen, Pakete zu beschreiben, und Methoden zu verfolgen. Sie können auch suchen, filtern und Anrufungen kollabieren, nachdem das Diagramm weiter gemacht wird, um das Ablaufdiagramm zu reduzieren.

Disclaimer:. Ich bin der Autor von Heatlamp

MaintainJ ist wirklich wunderbares Werkzeug, Vor kurzem hat ich mit meiner Anwendung mit MaintainJ zu verwenden begonnen wird, mehr Komfort mit meiner ganzen Nutzung gibt mein System zu verstehen, basierend auf MaintainJ Sequenz & UML-Diagramme.

Ich bin sicher, für die obige Frage MaintainJ ist, wird bessere Idee geben. Vielen Dank, Krishna MM

unter Verwendung des Sequenzdiagramm-Aufnahme-Funktion in Sparx Systems Enterprise Architect

Ich habe gerade erst begonnen. Es funktioniert sehr gut für C #. Sie können Filter nach Klasse und nach der Methode erstellen. Ich versuche tatsächlich um herauszufinden, ob es möglich ist, ein ganzes Paket zu filtern. Es gibt eine Checkbox zur automatischen ohne externe Module (wie .NET Framework), die in declutter unterstützt. YMMV für Java, aber ich denke, ihre Unterstützung (und Dokumentation) für Java ist in der Regel besser (Beispiele) als für .NET.

Hier und Add-on zu Asgeir Antwort. Hier ist der Link, die ich gefunden.

http://www.zanthan.com/ajm/sequencev7/sequence.jar

Ausführen von der Befehlszeile ... "java -jar sequence.jar" ... dies ist eine Java-Anwendung mit einer grafischen Benutzeroberfläche.

Der Hilfe-Bereich sagt: SEQUENCE ist ein Programm zur Herstellung von UML-Sequenzdiagramme. Im Gegensatz zu den meisten ähnlichen Programmen ziehen Sie nicht wirklich das Diagramm. Stattdessen schreiben Sie eine textuelle Beschreibung der Methode ruft Sie, um Diagramm wollen und das Layout berechnet und automatisch eingezogen.

Also dieses Tool nicht umkehrt nichts Ingenieur, aber ich kann sehen, wie es hilfreich sein könnte, wenn Sie schnell Diagramm Dinge von Grund auf neu wollte. Sieht aus wie es in den Jahren 2002 und ich denke, es gibt wahrscheinlich bessere Tools da draußen jetzt gebaut wurde.

Hier ist ein weiteres ähnliches Werkzeug hier: http://sdedit.sourceforge.net/example/index.html

Das sieht wie ein wirklich nettes Tool: http://www.architexa.com/learn-more/sequence-diagrams

Aber es sieht aus wie es für ein Jahr nur frei ist, dann sein 250 $ pro Jahr. Bummer.


Ich fand das ModelGoon Plugin hilfreich sein. Es ist ein bisschen begrenzt, da Sie eine einzelne Methode als Ausgangspunkt für die Sequenzdiagramm wählen, und es zeigt nur die Anrufe, die Methode macht (so eine Ebene tiefer gehen Sie ein anderes Diagramm erzeugen müssen.)

http://www.modelgoon.org/?page_id=53

JIVE (www.cse.buffalo.edu/jive) wird ein Ablaufdiagramm der Ausführung eines Java-Programms konstruieren. Es verfügt über einen Ausschlussfilter Fähigkeit ermöglicht es Ihnen, Objekte, die zu bezeichneten Klassen oder Pakete auszuschließen. JIVE können Sequenzdiagramme für Multi-Threaded-Java Programmausführung zeichnen. Es hat auch die Möglichkeit, kompakte große Diagramme sowohl in der horizontalen und vertikalen Dimension, unter Benutzerführung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top