geoinformation iii
DESCRIPTION
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, - PowerPoint PPT PresentationTRANSCRIPT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Geoinformation3
17 18 19 20
Geoinformation III
Dynamische UML-Diagramme
Vorlesung 7a
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
1
• Übungsaufgabe zur letzten Vorlesung (OCL)• Pakete• Stereotypen
zuvor..... Ergänzungen zu Klassendiagrammen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
2
Raum-bezogenes Elementar-
objekt(REO)
Raum-bezogenes zusammen-gesetztes
Objekt(ZUSO)
0 .. *
1
0..1
0 ..*
besteht_aus
Repräsen-tation
Stellen Sie im nebenstehenden UMLDiagramm durch OCL-Ausdrücke
sicher,dass ein ZUSO entweder nur durch
REOsreprä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.
Übungsaufgabe
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
3
ÜbungsaufgabeInstanzendiagramm:
REO
ZUSO
NRW
Reg. Bez.D‘dorf
Reg. Bez.Köln
Kreis Rhein - Sieg
Kreis Euskirchen
Flurst. 12 Flurst. 444Flurst. 21Flurst. 1
Raum-bezogenes Elementar-
objekt(REO)
Raum-bezogenes zusammen-gesetztes
Objekt(ZUSO)
0 .. *
1
0..1
0 ..*
besteht_aus
Repräsen-tation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
4
Lösung
Raum-bezogenes Elementar-
objekt(REO)
Raum-bezogenes zusammen-gesetztes
Objekt(ZUSO)
0 .. *
1
0..1
0 ..*
besteht_aus
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
6
Beispiel für ein Paket
• Symbol für Paket• Name des Pakets• Klassen im Paket
(+: von Außen zugreifbar)(- : geheim)
Geometric Aggregate + GM_MultiCurve + GM_MultiPoint.........
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
7
Paket-Diagramm: Beispiel ISO Spatial Schema
A 5x
TopologyGeometry
Geometric Aggregate+ GM_MultiCurve+ GM_MultiPoint.........
Geometric_Primitive+ GM_Curve+ GM_Surface+ GM_Point.........
Topological_Primitive+ TP_Boundary+ TP_Ring........
Topological_Complex+ TP_Complex.........
Abhängigkeit, z.B.• Methodenaufruf• Parameter• Unterklasse
Toplogical_Complex ist Unterpaket von Topology
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
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: intBonität: Stringvorbestraft: bool
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
Stereotypen: Bsp. ALKIS
9
<<Feature>>
Flurstück
Gemarkung: String..........
<<Geometry>>
Polygon
Fläche: double........
<<Metadata>>
Lagegenauigkeit
Varianz: double........
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
10
Stereotypen
• neben Klassen auch verwendbar für– Attribute– Methoden– Assoziationen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
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?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
12
Aktivitätsdiagramm: Beispiel
A 12x
Auftrag erhalten
Auftrag fertig stellen
Über NachtAuslieferung
NormaleAuslieferung
Rechnungsenden
Zahlungerhalten
Auftragabschließen
Anfangszustand
Aufspaltung
Aktivität
Entscheidung
Zusammen-führung
Synchronisation
Endzustand
[else][Eilauftrag]
Auslieferung Vertrieb Rechnungswesen
Zuständigkeitsbereiche
Bedingung
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
13
Aktivitätsdiagramm: Legende
Auftrag erhaltenAktivität
Anfangszustand
Endzustand
Reihenfolge
Aufspaltung
Synchronisation
[x < 0][x > 0]
[x = 0]
Entscheidung
Zusammenführung
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
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 .... "
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
15
Software-Demo: Erstellen einer Graphik in Powerpoint - Zustände und Zustandsübergänge
Zustandsdiagramm: Beispiel "Graphische
Benutzeroberfläche"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
16
A 10x
Auswahlmodus
Klick ins Leere
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
16
A 10x
Auswahlmodus
Klick ins Leere Bewegen der LinieLinie in
Mitte anklicken
Mausbewegung
Taste loslassen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
Mausbewegung
16
A 10x
Auswahlmodus
Bewegen des Endpunkts
der Linie
Klick ins Leere Bewegen der LinieLinie in
Mitte anklicken
Mausbewegung
Taste loslassen
Taste loslassen
Linie am Ende
anklicken
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
Mausbewegung
16
A 10x
Auswahlmodus
Warten auf 2. Punkt
Bewegen des Endpunkts
der Linie
Zeichenmoduseinfach
Klick ins Leere
Einfach-klick
Tasteloslassen Taste
drücken
Bewegen der LinieLinie in
Mitte anklicken
Mausbewegung
Taste loslassen
Taste loslassen
Linie am Ende
anklicken
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
Mausbewegung
Mausbewegung
16
A 10x
Auswahlmodus
Warten auf 2. Punkt
Warten auf 2. Punkt
Bewegen des Endpunkts
der Linie
Zeichenmodusmehrfach
Zeichenmoduseinfach
Tasteloslassen
Klick ins Leere
Doppel-klick
Einfach-klick
Klick
Tasteloslassen Taste
drücken
Bewegen der LinieLinie in
Mitte anklicken
Mausbewegung
Taste loslassen
Taste loslassen
Linie am Ende
anklicken
Tastedrücken
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
16
A 10x
Auswahlmodus
Warten auf 2. Punkt
Warten auf 2. Punkt
Bewegen des Endpunkts
der Linie
Zeichenmodusmehrfach
Zeichenmoduseinfach
Tasteloslassen
Klick ins Leere
Doppel-klick
Einfach-klick
Klick
Tasteloslassen Taste
drücken
Graphik schließen
AnfangszustandEndzustand
Zustand
Bewegen der LinieLinie in
Mitte anklicken
Mausbewegung
Mausbewegung
MausbewegungZustandsübergang(Ereignis, Aktion)
Tastedrücken
Taste loslassen
Linie am Ende
anklickenTaste loslassen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
17
Zustandsdiagramm: Legende
AuswahlmodusZustand
Anfangszustand
Endzustand
Zustandsübergangbei Ereignis Taste
drücken
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
18
Zustandsdiagramme
• Geeignet, wenn– Zustände und Zustandsübergänge eines Objekts modelliert werden
sollen• Ungeeignet, wenn
– Kommunikation zwischen Objekten modelliert werden soll
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
19
Sequenzdiagramm: Beispiel
A 7x
Auftrags-
erfassungs-
fenster Auftrag Lagerartikel
Lieferartikel
new ( )
new ( )
bereite vor ( )
Nachbestellung ( )prüfe vorhanden ( )
Selbstaufruf
Objekt
Nachricht/Methodenaufruf
Rückgabe
Erzeugung
Untergang des Objekts
Lebensliniedes Objekts
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20Geoinformation3
20
Sequenzdiagramm: synchrone vs.asynchrone
Methodenaufrufe
A 2x
Fenster
erzeugen ( )
Methode ( )
nichtmodaler Dialog(z.B. Toolbar)
Objekt4
modaler Dialog(z.B. "Datei
öffnen")
erzeugen ( )
asynchron:Das
aufrufende Objekt wartet
nicht, bis Aufruf
beendet ist
synchron: Das
aufrufende Objekt wartet, bis
Aufruf beendet ist