Generieren von Sequenzdiagrammen anhand von Quellcode
In diesem Beispiel wird gezeigt, wie Sie ein Sequenzdiagramm anhand von einer Methode generieren. Das Projekt, das diese Methode enthält, wird mittels Reverse Engineering anhand von Java-Quellcode erstellt. Sie finden den Java-Quellcode unter dem folgenden Pfad: C:\Benutzer\<Benutzer>\Dokumente\Altova\UModel2025\UModelExamples\OrgChart.zip. Entpacken Sie das OrgChart.zip-Archiv zuerst in denselben Ordner (Klicken Sie z.B. mit der rechten Maustaste in Windows Explorer auf das Archiv und wählen Sie Extract All).
1.Klicken Sie im Menü Projekt auf Quellverzeichnis importieren und wählen Sie das zuvor entpackte Verzeichnis aus.
2.Befolgen Sie die Anweisungen des Assistenten, um den Quellcode als Java-Projekt zu importieren. Nähere Informationen zu diesem Schritt finden Sie unter Reverse Engineering (Code zu Modell).
3.Nachdem Sie den Code importiert haben, klicken Sie mit der rechten Maustaste in der Modellstruktur auf die Methode main der Klasse OrgChartText und wählen Sie im Kontextmenü den Befehl Sequenzdiagramm von Code generieren.
Daraufhin wird das Dialogfeld "Sequenzdiagrammgenerierung" geöffnet, in dem Sie die Einstellungen für die Generierung definieren können.
4.Wählen Sie die Darstellungs- und Layout-Optionen aus und klicken Sie anschließend auf OK, um das Diagramm zu generieren. Mit den oben gewählten Einstellungen wird das unten gezeigte Sequenzdiagramm erzeugt.
Optionen für die Generierung von Sequenzdiagrammen
In der unten stehenden Tabelle werden die Optionen für die Generierung von Sequenzdiagrammen aufgelistet.
Option | Aufgabe |
---|---|
Diagrammeigentümer | Diese Option kann definiert werden, wenn das Diagramm zum ersten Mal generiert wird. Bei vorhandenen Diagrammen ist diese Information schreibgeschützt.
Klicken Sie auf die Auslassungszeichen, um das Owner-Paket des Diagramms auszuwählen. Andernfalls platziert die Option [automatisch auswählen] das Diagramm in das Standardpaket. |
Diagramm bei Modellaktualisierung anhand von Code automatisch aktualisieren. | Beim Reverse Engineering (von Code zu Modell) werden Sequenzdiagramme im Modell automatisch neu generiert, vorausgesetzt, Sie haben die Option Diagramm bei Modellaktualisierung anhand von Code automatisch aktualisieren aktiviert, als Sie das Diagramm zum ersten Mal generiert haben.
Bei bestehenden Diagrammen können Sie diese Option folgendermaßen ändern:
1.Wählen Sie das Sequenzdiagramm in der Modellstruktur oder der Diagrammstruktur aus. 2.Aktivieren Sie im Fenster "Eigenschaften" die Option beim Rerverse Engineering aktualisieren. Wenn Sie das Kontrollkästchen für das Forward Engineering verwenden aktivieren, wird bei der Durchführung eines Forward Engineering (von Modell zu Code) bei der Synchronisierung von Modell zu Code Code anhand des Sequenzdiagramms generiert, siehe auch Generieren von Code anhand von Sequenzdiagrammen.
Wenn die beiden "Engineering"-Kontrollkästchen fehlen, ist das Diagramm wahrscheinlich nur ein Fragment eines größeren Diagramms oder wurde eventuell anhand einer nicht mit Reverse Engineering erstellten Operation generiert. |
Code in Anmerkungen anzeigen | Aktivieren Sie dieses Kontrollkästchen, um das Diagramm mit Anmerkungen (Beschriftungen), die Programmcode enthalten, zu generieren. |
Auch Code der unterhalb angezeigten Meldungen anzeigen | Selbst in Fällen, in denen ein Codefragment im Diagramm als UML-Meldung angezeigt werden kann, wird der Code dieser Meldung mit dieser Option dennoch als Anmerkung angezeigt. |
Eigene Farbe für nicht anzeigbare Aufrufe verwenden | Weist nicht anzeigbaren Aufrufen eine Farbe Ihrer Wahl zu. |
Leere Combined Fragments anzeigen | Die Combined Fragment-Blöcke werden auch dann im Diagramm beibehalten, wenn sie keinen Inhalt haben. |
Unbekannte Aufrufe anzeigen | Wenn diese Option aktiviert ist, werden auch Meldungen für Operationen oder Konstruktoren, die nicht aufgelöst werden konnten (d.h. die im Modell nicht gefunden wurden) angezeigt. |
In kleinere Diagramme aufteilen, wo angebracht | Damit werden Sequenzdiagramme in kleinere Subdiagramme aufgeteilt, zwischen denen zur einfacheren Navigation automatisch Hyperlinks angelegt werden. |
Maximale Aufruftiefe | Definiert die Aufruftiefe, die im Diagramm verwendet werden soll. Wenn z.B. method1() method2() aufruft, die wiederum method3() aufruft, und als Aufruftiefe 2 definiert ist, wird nur method2 angezeigt. method3 wird nicht mehr angezeigt. |
Zu ignorierende Typnamen | Damit können Sie eine kommagetrennte Liste von Typen definieren, die im Sequenzdiagramm nicht aufscheinen sollen, wenn es generiert wird. |
Zu ignorierende Operationsnamen | Damit können Sie eine kommagetrennte Liste von Operationen definieren, die im generierten Sequenzdiagramm nicht aufscheinen sollen. Wenn Sie die Operationsnamen zur Liste hinzufügen, wird die komplette Operation ignoriert. Wenn Sie der Operation in der Liste ein + (Pluszeichen) voranstellen, z.B. +InitComponent, werden die Operationsaufrufe im Diagramm angezeigt, jedoch ohne Inhalt. |
Eigene Lebenslinie für statische Aufrufe anzeigen | Wenn statische Methodenaufrufe vorhanden sind und es im Diagramm bereits eine Instanz dieses Objekts gibt, werden die Meldungen normalerweise mit dieser vorhanden Lebenslinie verbunden. Wenn diese Option aktiviert ist, wird bei der Diagrammgenerierung eine eigene neue Lebenslinie nur für statische Methodenaufrufe für diesen Classifier verwendet. |