Geoinformation III

Post on 11-Jan-2016

26 views 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

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