WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/ Dieses Programm wurde schon auf den Laborrechner in HSZK installiert. Neues Projekt erstellen Lassen Sie das WhiteStarUML laufen und wählen Sie das Default Approach zum neuen Projekt aus: 1
Hauptfenster: In der Mitte können die UML Diagramme grafisch konstruiert werden. Auf der linken Seite befindet sich das Toolbox, wo die entsprechenden Elemente des UML Models erreichbar sind. Rechts oben (Model Explorer) befindet sich die Diagramme in der Baumstruktur, die nützlich sind, wenn die bestimmten Elemente in dem grafischen Editor direkt nicht ausgewählt werden können (z. B. die Parameter der Operationen). Rechts unten (Properties) können die Eigenschaften (z. B. Name, Typ, usw.) der ausgewählten UML Elemente bearbeitet werden. Erzeugung des Use case Diagrammes Wählen Sie das Main Diagramm unter dem Use Case Model mit Doppelklick aus dem Model Explorer. Klicken Sie auf dem Strichmännchen in dem Toolbox, dann auf dem Diagramm und benennen Sie es als User. Platzieren Sie auch ein Use case Element auf das Diagramm und benennen Sie es als Reserve ticket. Zeichnen Sie eine Assoziation zwischen dem Strichmännchen und dem Use case. Klicken Sie dazu auf das Element Association in dem Toolbox, dann drücken Sie die linke Taste auf dem Strichmännchen und lassen Sie es über dem Use Case Element los. 2
Ergebnis: Erzeugung des Klassendiagrammes Wählen Sie das Main Diagramm unter dem Use Case Model mit Doppelklick aus dem Model Explorer aus. Erstellen Sie eine Klasse namens Cinema: Mit der blauen Bezeichnung die Attribute (UML property), mit der roten Bezeichnung die Operationen (UML opertion) können erstellt werden. Für die Bearbeitung der Eigenschaften der aufgenommenen Attribute und Operationen sind die Fenster Model Explorer und Properties benutzbar. Es ist häufig einfacher, die Sichtbarkeit, den Name und den Typ des Elementes mit der exakten UML Syntax einzuschreiben, weil das WhiteStarUML es dementsprechend bearbeiten kann. Machen Sie zum Beispiel ein Attribut mit der folgenden Syntax: - address: String Überprüfen Sie es in den Fenster Model Explorer und Properties, ob ihre Eigenschaften korrekt sind. Erstellen Sie auch eine Operation: + ReserveTicket(row: int, column: int): boolean Überprüfen Sie es in den Fenster Model Explorer und Properties, ob ihre Eigenschaften korrekt sind. 3
Die blauen und roten Bezeichnungen können auch in dem Popupmenü (Klick auf dem Klassendiagramm mit der rechten Taste) gerufen werden: Die Eigenschaften einer Klasse in der Fenster Properties: Hier ist es einstellbar, was ist der Name der Klasse, ob sie abstrakt ist, welche Stereotype (z. B. <<interface>>) haben, usw. Die Eigenschaften eines Attributes: Hier ist nicht nur der Name des Attribut einstellbar, sondern auch seinen Typ und ob es statisch ist (OwnerScope=CLASSIFIER). 4
Die Eigenschaften einer Operation: Hier ist der Name und die Sichtbarkeit der Operation einstellbar, und ob sie abstrakt, statisch, usw. ist. Erzeugen Sie noch eine Klasse namens Seat: Seat -row: int -column: int Erstellen Sie eine Komposition (Composition) zwischen dem Cinema und Seat! Drücken Sie die linke Taste auf der Klasse Seat und lassen sie es über der Klasse Cinema los: 5
Wählen Sie sie die Komposition aus und ihre Eigenschaften sind in der Fenster Properties modifizierbar: Hier sind die Parameter der zwei Enden der Komposition modifizierbar (z. B. das Kardinale, die Qualifiers, usw.). Nützliche Informationen Von dem Diagramm kann ein Element verschiedentlich entfernt werden. Die Taste Del entfernt ein Element nur von der grafischen Fenster, aber es bleibt noch in dem Modell (Model Explorer). Zum endgültigen Löschen soll auch von dem Modell entfernt werden. Die Tastenkombination Ctrl+Del entfernt ein Element sowohl von der grafischen Fenster als auch von dem Modell. 6
Codegenerierung Zur Codegenerierung soll erstmal das Java Profile zum Projekt zugewiesen werden. (Model > Profiles...) Wählen Sie das Java 1.5 Profile aus und geben Sie es mit der Taste Include zu dem Projekt dazu, dann schließen Sie die Fenster mit der Taste Close ein. Bevor das Java Code erstellt wird, ist es ratsam, den Ausgangsordner in dem Betriebssystem zu erzeugen, weil der Generator es nicht unterstützt. Die Herstellung der Java Code ist unter dem Menüpunkt Tools > Java 1.5 > Generate Code... erreichbar: Wenn das Klassendiagramm unter dem Analysis Model erzeugt wurde, dann wählen Sie das, wenn das unter dem Design Model erzeugt wurde, dann wählen Sie dementsprechend. 7
Klicken Sie auf Next: Wählen Sie hier die Klassen aus, zu den Sie Code generieren möchten, dann klicken Sie auf Next und wählen Sie den früher erzeugten Ausgangsordner aus: 8
Klicken Sie auf Next. Wenn Sie die Dokumentation zu den einzelnen Modellelementen gegeben haben, dann können Sie das Checkbox behalten, sonst sollen Sie es unchecken. Stellen Sie das Checkbox Generate implementation of operations ein: Klicken Sie auf Next, und das Programm benachrichtigt über das Ergebnis der Generierung: Leider der Codegenerator des WhiteStarUMLs ist nicht so klug. Also es behandelt zum Beispiel nicht die Assoziationsende mit mehrfache Multiplizier und es erkennt die Konstruktoren auch nicht, also es generiert Typ void für sie. Bemerkung: Das Programm OpenAmeos verfügt über einen besseren (und programmierbaren) Codegenerator, aber sein grafischer Editor ist schlechter behandelbar. Für die Interessenten ist das Programm unter dem folgenden URL erreichbar: https://www.scopeforge.de/cb/project/8 9