Objektdiagramme
In diesem Tutorialabschnitt werden die folgenden Aufgaben erläutert:
•Kombinieren von Klassen- und Objektdiagrammen zu einem Diagramm
•Erstellen von Objekten/Instanzen und Definieren von Beziehungen zwischen diesen
•Formatieren von Assoziationen/Objektbeziehungen
•Eingabe von realen Daten in Objekte/Instanzen
Um fortzufahren, starten Sie UModel und öffnen Sie das Projekt BankView-start.ump (siehe auch Öffnen des Tutorial-Projekts). Das Projekt enthält ein vordefiniertes Objektdiagramm "Sample Accounts", anhand dessen die oben beschriebenen Aufgaben demonstriert werden.
Kombinieren von Objekten und Klassen zu einem Diagramm
Navigieren Sie im Fenster Modell-Struktur zu folgendem Pfad: Root | Design-phase | BankView | com | altova | bankview und doppelklicken Sie auf das Symbol neben dem Diagramm "Sample Accounts".
Diagramm "Sample Accounts"
In diesem Objektdiagramm sind sowohl Klassen als auch Instanzen davon (Objekte) kombiniert. AltovaBank:Bank ist das Objekt/die Instanz der Klasse Bank, während John's checking: CheckingAccount eine Instanz der (noch nicht zum Diagramm hinzugefügten) Klasse CheckingAccount ist.
Fügen wir nun die fehlende Klasse Account zum Diagramm hinzu, indem wir sie aus der Modell-Struktur in das Diagramm ziehen. Beachten Sie, dass die Kompositions-Assoziation zwischen Bank und Account automatisch angezeigt wird (diese Assoziation wurde in einem der vorhergehenden Tutorial-Abschnitte definiert, siehe Klassendiagramme).
Hinzufügen eines neuen Objekts/einer neuen Instanz (Methode 1)
Wir werden nun ein neues Objekt zum Diagramm namens John's Credit hinzufügen. Dieses Objekt instantiiert die Klasse CreditCardAccount.
1. | Klicken Sie in der Symbolleiste auf das Instanzspezifikation-Symbol und klicken Sie anschließend in das Diagramm unterhalb des Objekts John's Checking: Checking Account. |
2. | Ändern Sie den Namen der Instanz in John's Credit und drücken Sie die Eingabetaste. |
3. | Wählen Sie die Instanz aus, damit ihre Eigenschaften im Fenster Eigenschaften angezeigt werden. |
4. | Wählen Sie im Fenster Eigenschaften neben "Classifier" den Eintrag CreditCardAccount aus der Dropdown-Liste aus. |
Die Instanz hat sich nun geändert und zeigt alle Eigenschaften der Klasse an. Doppelklicken Sie auf eine beliebige Eigenschaft, um einen Wert einzugeben, z.B.:
Um bestimmte Knoten ein- oder auszublenden, klicken Sie mit der rechten Maustaste auf die Instanz und wählen Sie im Kontextmenü den Befehl Knoteninhalt ein-/ausblenden (Strg+Umschalt+H).
Hinzufügen eines neuen Objekts/einer neuen Instanz (Methode 2)
Wir werden nun eine neue Instanz der Klasse SavingsAccount hinzufügen, diesmal mit einer anderen Methode:
1. | Rechtsklicken Sie im Fenster Modell-Struktur auf das bankview-Paket und wählen Sie Neues Element | Instanzspezifikation. |
2. | Benennen Sie die neue Instanz in John's Saving um und drücken Sie zum Bestätigen die Eingabetaste. Das neue Objekt wird zum Paket hinzugefügt und entsprechend gereiht. |
3. | Wählen, Sie während das Objekt weiterhin im Fenster Modell-Struktur ausgewählt ist, im Fenster Eigenschaften neben "Classifier" SavingsAccount aus. |
4. | Ziehen Sie das Objekt John's Saving aus dem Fenster Modell-Struktur in das Diagramm und platzieren Sie es unterhalb von John's credit. |
Erstellen von "Objektbeziehungen" zwischen Objekten
Objektbeziehungen sind die Instanzen von Klassenassoziationen und beschreiben die Assoziationen zwischen Objekten/Instanzen zu einem bestimmten Zeitpunkt.
1. | Klicken Sie auf die bestehende Objektbeziehung (Assoziation) zwischen dem Objekt AltovaBank und dem Objekt John's Checking: Checking Account. |
2. | Wählen Sie im Fenster Eigenschaften neben "Classifier" den Eintrag Account - Bank aus. |
Die Objektbeziehung ändert sich nun gemäß den Klassendefinitionen in eine Kompositions-Assoziation.
3. | Klicken Sie in der Symbolleiste auf das Instanzspezifikation-Symbol und positionieren Sie den Cursor über das Objekt John's Credit: CreditAccount. Der Cursor wird nun als +-Symbol angezeigt. |
4. | Ziehen Sie den Cursor vom Objekt John's Credit: CreditAccount zu AltovaBank: Bank, um die beiden Objekte zu verknüpfen. |
5. | Wählen Sie im Fenster Eigenschaften neben "Classifier" den Eintrag Account - Bank aus. |
5. | Erstellen Sie, wie oben beschrieben, eine Objektbeziehung zwischen dem Objekt AltovaBank: Bank und dem Objekt John's Saving: SavingsAccount. |
Beachten Sie, dass Änderungen, die in einem Klassendiagramm am Assoziationstyp vorgenommen werden, automatisch im Objektdiagramm aktualisiert werden.
Formatieren von Assoziations-/Objektbeziehungslinien in einem Diagramm
Um Objektbeziehungen zwischen Objekten zu formatieren, platzieren Sie den Cursor auf die Linie und ziehen Sie sie an die gewünschte Position. Um die Linie horizontal und vertikal zu verschieben, ziehen Sie den Eckkonnektor, wie unten gezeigt.
Eingabe von Beispieldaten in Objekte
Der Instanzwert eines Attributs/einer Eigenschaft in einem Objekt wird Slot genannt. Um den Zustand eines Objekts zu beschreiben, doppelklicken Sie auf die Slots und geben Sie nach dem Zeichen "=" Beispielinstanzdaten ein, z.B.:
Objekt-Slots können auch über das Fenster Eigenschaften befüllt werden, indem Sie das Objekt auswählen und den entsprechenden Text neben "Wert" eingeben, z.B.: