geoinformation iii

26
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Geoinformation 3 17 18 19 20 Geoinformation III Dynamische UML-Diagramme Vorlesung 7a

Upload: ermin

Post on 11-Jan-2016

28 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Geoinformation III

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

Page 2: Geoinformation III

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

Page 3: Geoinformation III

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

Page 4: Geoinformation III

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

Page 5: Geoinformation III

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

Page 6: Geoinformation III

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

Page 7: Geoinformation III

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.........

Page 8: Geoinformation III

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

Page 9: Geoinformation III

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

Page 10: Geoinformation III

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........

Page 11: Geoinformation III

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

Page 12: Geoinformation III

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?

Page 13: Geoinformation III

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

Page 14: Geoinformation III

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

Page 15: Geoinformation III

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 .... "

Page 16: Geoinformation III

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"

Page 17: Geoinformation III

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

Page 18: Geoinformation III

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

Page 19: Geoinformation III

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

Page 20: Geoinformation III

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

Page 21: Geoinformation III

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

Page 22: Geoinformation III

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

Page 23: Geoinformation III

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

Page 24: Geoinformation III

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

Page 25: Geoinformation III

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

Page 26: Geoinformation III

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