1 / 26

Geoinformation III

Geoinformation III. Vorlesung 7a. Dynamische UML-Diagramme. 1. zuvor..... Ergänzungen zu Klassendiagrammen. Übungsaufgabe zur letzten Vorlesung (OCL) Pakete Stereotypen. 2. Übungsaufgabe. besteht_aus. Stellen Sie im nebenstehenden UML Diagramm durch OCL-Ausdrücke sicher,

ermin
Download Presentation

Geoinformation III

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Geoinformation III Vorlesung 7a Dynamische UML-Diagramme

  2. 1 zuvor..... Ergänzungen zu Klassendiagrammen • Übungsaufgabe zur letzten Vorlesung (OCL) • Pakete • Stereotypen

  3. 2 Übungsaufgabe besteht_aus Stellen Sie im nebenstehenden UML Diagramm durch OCL-Ausdrücke sicher, dass ein ZUSO entweder nur durch REOs repräsentiert wird (mindestens eines) oder nur aus ZUSOs (mindestens einem) besteht. Nicht passieren darf also, dass ein ZUSO aus gar nichts besteht, oder dass ein ZUSO aus REO und ZUSO besteht. 0 .. * Raum- bezogenes zusammen- gesetztes Objekt (ZUSO) 0..1 1 Repräsen-tation 0 ..* Raum- bezogenes Elementar- objekt (REO)

  4. ZUSO REO 3 Übungsaufgabe Instanzendiagramm: besteht_aus 0 .. * Raum- bezogenes zusammen- gesetztes Objekt (ZUSO) NRW 0..1 Reg. Bez. D‘dorf Reg. Bez. Köln 1 Repräsen-tation Kreis Euskirchen Kreis Rhein - Sieg 0 ..* Raum- bezogenes Elementar- objekt (REO) Flurst. 12 Flurst. 1 Flurst. 21 Flurst. 444

  5. 4 Lösung besteht_aus 0 .. * Raum- bezogenes zusammen- gesetztes Objekt (ZUSO) 0..1 1 context ZUSO inv: Repräsentation.size + besteht_aus.size > 0 and Repräsentation.size > 0 implies besteht_aus.isEmpty() and besteht_aus.size > 0 implies Repräsentation.isEmpty() Repräsen-tation 0 ..* Raum- bezogenes Elementar- objekt (REO)

  6. 5 Pakete (Packages) • Projekte mit vielen Klassen werden unübersichtlich •  Strukturierung durch Pakete • ein Paket fasst inhaltlich ähnliche Klassen zusammen • Pakete können verschachtelt sein • Jedes Paket definiert Namensraum • Zugriff auf Klassen in anderen Paketen durch<Paketname>::<Klassenname> • dasselbe Konzept wie in Java

  7. Geometric Aggregate + GM_MultiCurve + GM_MultiPoint ......... 6 Beispiel für ein Paket • Symbol für Paket • Name des Pakets • Klassen im Paket(+: von Außen zugreifbar)(- : geheim)

  8. Geometry Topology Topological_Primitive + TP_Boundary + TP_Ring ........ A 7 Paket-Diagramm: Beispiel ISO Spatial Schema • Abhängigkeit, z.B. • Methodenaufruf • Parameter • Unterklasse Geometric Aggregate + GM_MultiCurve + GM_MultiPoint ......... Topological_Complex + TP_Complex ......... Geometric_Primitive + GM_Curve + GM_Surface + GM_Point ......... Toplogical_Complex ist Unterpaket von Topology 5x

  9. 8 Stereotypen • anwendungsspezifische Erweiterung von Klassendiagrammen • zusätzliche Information zu Klassen durch Etikettierung mit Begriffen (Stereotypen) • Bsp: Stereotyp "Vertrieb" bei Klasse Kunde zur Unterscheidung der Zuständigkeit innerhalb eines Unternehmens • (neben <<Buchhaltung>>, <<Personalabteilung>>,...) <<Vertrieb>> Kunde Alter: int Bonität: String vorbestraft: bool

  10. 9 Stereotypen: Bsp. ALKIS <<Metadata>> Lagegenauigkeit Varianz: double ........ <<Geometry>> Polygon Fläche: double ........ <<Feature>> Flurstück Gemarkung: String ..........

  11. 10 Stereotypen • neben Klassen auch verwendbar für • Attribute • Methoden • Assoziationen

  12. 11 Überblick: dynamische UML-Diagramme • bisher: statische UML-Diagramme (Klassendiagramme) • statische Struktur der Klassen mit deren Attributen und Beziehungen, Invarianten, Pakete • heute: Modellierung dynamischer Aspekte: Aktivitäten, Zustandsübergänge, Methodenaufrufe • Zweck: Problemanalyse und Programmentwurf • Arten von dynamischen UML-Diagrammen: • Aktivitätsdiagramm • Zustandsdiagramm • Sequenzdiagramm • Wann ist welches geeignet?

  13. Auslieferung Vertrieb Rechnungswesen Auftrag erhalten Auftrag fertig stellen Über Nacht Auslieferung Normale Auslieferung Auftrag abschließen Rechnung senden Zahlung erhalten A 12 Zuständigkeitsbereiche Aktivitätsdiagramm: Beispiel Anfangszustand Aktivität Bedingung Aufspaltung Entscheidung [Eilauftrag] [else] Synchronisation Zusammen- führung Endzustand 12x

  14. Auftrag erhalten 13 Aktivitätsdiagramm: Legende Entscheidung Aktivität [x > 0] [x < 0] Anfangszustand [x = 0] Endzustand Reihenfolge Zusammenführung Aufspaltung Synchronisation

  15. 14 Aktivitätsdiagramme • geeignet, um • Verfahrensabläufe darzustellen • parallele, nebenläufige Prozesse zu modellieren • weniger geeignet, • um Zustandsübergänge eines Objekts zu beschreiben • um den Zusammenhang zwischen einer Aktivität und einem Objekt darzustellen • "... ist nicht objektorientiert .... "

  16. 15 Zustandsdiagramm: Beispiel "Graphische Benutzeroberfläche" Software-Demo: Erstellen einer Graphik in Powerpoint - Zustände und Zustandsübergänge

  17. A 16 Klick ins Leere Auswahlmodus 10x

  18. A 16 Mausbewegung Bewegen der Linie Klick ins Leere Linie in Mitte anklicken Auswahlmodus Taste loslassen 10x

  19. A 16 Mausbewegung Bewegen der Linie Klick ins Leere Linie in Mitte anklicken Auswahlmodus Taste loslassen Linie am Ende anklicken Taste loslassen Bewegen des Endpunkts der Linie Mausbewegung 10x

  20. Einfach-klick A 16 Mausbewegung Bewegen der Linie Klick ins Leere Linie in Mitte anklicken Auswahlmodus Taste loslassen Linie am Ende anklicken Taste loslassen Zeichenmodus einfach Bewegen des Endpunkts der Linie Taste loslassen Taste drücken Warten auf 2. Punkt Mausbewegung 10x

  21. Klick Doppel-klick Einfach-klick A 16 Mausbewegung Bewegen der Linie Klick ins Leere Linie in Mitte anklicken Auswahlmodus Taste loslassen Linie am Ende anklicken Taste loslassen Zeichenmodus mehrfach Zeichenmodus einfach Bewegen des Endpunkts der Linie Taste loslassen Taste drücken Taste loslassen Taste drücken Warten auf 2. Punkt Mausbewegung Warten auf 2. Punkt Mausbewegung 10x

  22. Klick Doppel-klick Einfach-klick A 16 Mausbewegung Endzustand Anfangszustand Bewegen der Linie Klick ins Leere Linie in Mitte anklicken Graphik schließen Auswahlmodus Taste loslassen Linie am Ende anklicken Taste loslassen Zeichenmodus mehrfach Zeichenmodus einfach Bewegen des Endpunkts der Linie Zustand Taste loslassen Taste drücken Taste loslassen Taste drücken Warten auf 2. Punkt Mausbewegung Warten auf 2. Punkt Zustandsübergang (Ereignis, Aktion) Mausbewegung 10x

  23. Auswahlmodus 17 Zustandsdiagramm: Legende Zustand Anfangszustand Endzustand Zustandsübergang bei Ereignis Taste drücken

  24. 18 Zustandsdiagramme • Geeignet, wenn • Zustände und Zustandsübergänge eines Objekts modelliert werden sollen • Ungeeignet, wenn • Kommunikation zwischen Objekten modelliert werden soll

  25. Auftrags-erfassungs-fenster Auftrag Lagerartikel Lieferartikel A 19 Sequenzdiagramm: Beispiel Objekt new ( ) Lebensliniedes Objekts bereite vor ( ) prüfe vorhanden ( ) Nachbestellung ( ) Nachricht/Methodenaufruf Rückgabe Selbstaufruf Untergang des Objekts new ( ) Erzeugung 7x

  26. Fenster Objekt4 modaler Dialog (z.B. "Datei öffnen") nichtmodaler Dialog (z.B. Toolbar) A 20 Sequenzdiagramm: synchrone vs. asynchrone Methodenaufrufe asynchron:Das aufrufende Objekt wartet nicht, bis Aufruf beendet ist erzeugen ( ) erzeugen ( ) Methode ( ) synchron: Das aufrufende Objekt wartet, bis Aufruf beendet ist 2x

More Related