Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch...

101
Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln Sommersemester 2006 unter Leitung von: Prof. Manfred Thaller Tanja Lange

Transcript of Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch...

Page 1: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

Objektorientierte Modellierung mit UML 2

Objektorientierte Modellierung mit UML 2

Nichtrelationale Datenbanken-Historisch kulturwissenschaftliche Informationsverarbeitung-

Universität zu KölnSommersemester 2006

unter Leitung von: Prof. Manfred Thaller

Tanja Lange

Page 2: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Was ist UML ? Was ist UML ?„Unified (vereinheitlichte) Modeling Language“auf objektorientierten Konzepten basierende

grafische Modellierungssprachedient zur Modellierung bestimmter

Realitätsausschnitte und ermöglicht das

spezifizieren, konstruieren, visualisieren und dokumentieren

eines Softwaresystemsgrafische Repräsentation der Modelle in Form

von Diagrammen

UML

Page 3: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

rolle1 rolle2 rolle2

cdA

rolle1 rolle2 rolle2

cdA

rolle1 rolle2 rolle2

cdA

Diagramme

Prinzip Prinzip

Diagramme Diagramme als grafische Repräsentation der

ModelleModelle als abstrakte Sicht auf die

RealitätRealität

ModellModellSichtRealitäts-Realitäts-ausschnittausschnittSicht

Page 4: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Diagramme Diagramme

DiagrammDiagramm

StrukturdiagrammStrukturdiagramm VerhaltensdiagrammVerhaltensdiagramm

KK

OO

PP KtKt

KstKst

VV AwfAwf AkAk ZZ

II

KKSS ZtZt IüIü

Diagramme

Page 5: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

Struktur-modellierung

Struktur-modellierung

Statische Aspekte

Page 6: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Diagrammarten Diagrammarten

DiagrammDiagramm

StrukturdiagrammStrukturdiagramm

Klassen-diagrammKlassen-diagramm

Objekt-diagrammObjekt-

diagramm

Paket-diagramm

Paket-diagramm

Kompositionsstruktur-diagramm

Kompositionsstruktur-diagramm

Komponenten-diagramm

Komponenten-diagramm

Verteilungs-diagramm

Verteilungs-diagramm

Diagramme

Page 7: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

KlassendiagrammKlassendiagramm

Page 8: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Basisnotation von KlassenBasisnotation von Klassen

Namensfeld

Attributliste

Operationsliste

Attribut

Operation()

Klasse

Klassendiagramme

Page 9: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Klasse Klasse

Klassenname Stereotype/

Schlüsselwörter Eigenschafts-

angaben {abstract} (=true)

«Stammdaten»

Mitarbeiter{abstract}

Klassendiagramme

Page 10: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Attribut Attribut

Attribute beschreiben Eigenschaften

Instanzattribut (=Instanzvariable) in Standardschrift

Klassenattribut (= Klassenvariable) unterstrichen

Mitarbeiter

-personalnr-name-gehalt-alter-/hyperlink:URL[0..1]

Klassendiagramme

Page 11: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Attribut Attribut evtl. Abschnittsname

(A-Name) bsw. attributes

zeilenweise evtl. in Gruppen Sichtbarkeitsangabe abgeleitete Attribute„/“ Attribute nehmen

einen Wert an (Daten) Multiplizitätsangabe =

Anzahl Werte Attributtyp nicht

festgelegt Eigenschaftsliste { }

Sichtbarkeit:öffentlich (public/+)paket (package/~)geschützt (protcted/#)privat (private/-)

Klassendiagramme

Mitarbeiter

-personalnr-name-gehalt-alter-/hyperlink:URL[0..1]

Page 12: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Operation Operation= ausführbare

Tätigkeitevtl. Abschnittsname

(A-Name)bsw.operations

ParameterlisteSichtbarkeitMultiplizitätEigenschaftsliste { }Art eines Parameters

(in, out, inout, return)= Datanflussrichtung

Notiz

Mitarbeiter

-personalnr-name-gehalt-/alter-hyperlink: URL[0..1]

+einstellen()+erhöheGehalt()+druckeAusweis()+typ()

Klassendiagramme

Page 13: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Aktive KlassenAktive Klassen

Klassen, für die ein eigenes Verhalten definiert ist, z.B. mit Zustands- oder Aktivitätsdiagramm

Instanzen weisen Kontrollfluss aufReaktionen auf Ereignisse

(Operationsaufrufe)Notation: {active}, vertikal doppelter Rahmen

Klasse{active} =

Klassendiagramme

Klasse

Page 14: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Geschachtelte KlassenGeschachtelte Klassen

Gehören zum Namensraum der Klasse, in der sie deklariert sind

Äußere Klasse

Geschachtelte Klasse

«nestedClassifier»

Klassendiagramme

Page 15: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Objekt Objekt

Instanzen von Klassen als Objekt bezeichnet= Ausprägungen der von der Klasse

definierten Struktur (Attribute) und weisen definierte Verhalten (Operationen) auf

Notation: dem Klassennamen kann Objektname vorangestellt werden und beides unterstrichen

m1:Mitarbeiter

Klassendiagramme

Page 16: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Assoziation Assoziation

Verbindungen zwischen Objekten einer Klasse

Darstellung als Verbindungslinie (Kanten) zwischen Klassen/Objekten

Assoziationsnamen, LeserichtungRolle (Bedeutung der Klasse in der

Assoziation) - RollennameSichtbarkeit, Multiplizität, Ordnung

MitarbeiterName

TerminDatum /nimmtTeilAn

+ teilnehmer* 2

{ordered}

Klassendiagramme

Page 17: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Assoziation Assoziation

Teilmengen von Assoziationen {subsets <role-name>}

Vereinigung {union}

MitarbeiterTermin /nimmtTeilAn

/ teilnehmer* *

{ordered}Datum Name

** * *geladeneTn {subsets teilnehmer}

eingeladeneTn {subsets teilnehmer}

Klassendiagramme

{union}

Page 18: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Assoziation Assoziation

Navigierbare Assoziationsenden „“Nicht navigierbares A.ende „x“

Navigierbare Assoziation als Attribut

HypertextDokumentTermin * 0..1X

HypertextDokumentTerminzusatzInfo: HypertextDokument [0..1]

zusatzInfo

Klassendiagramme

Page 19: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Qualifizierte AssoziationQualifizierte Assoziation

qualifiziertes Attribut zur Charakterisierung der Assoziation

dienen auch zur Reduzierung der Multiplizität

Person angestelltBeiangestellter

*1..*

abteilung

Unternehmen

Klassendiagramme

Page 20: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

AssoziationsklasseAssoziationsklasse

eigenes Klassensymboldurch gestrichelte Linie mit Assoziationskante

verbundenKlassenname = Assoziationsname

MitarbeiterName

TerminDatum

teilnehmer*

{ordered}*

TeilnahmewarnZeit: DatumZeit

Klassendiagramme

Page 21: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

n-äre Assoziation n-äre Assoziation

mehrstellige Assoziation durch Raute dargestelltmit allen Klassen durch Kante verbundenevtl. mit zugeordneter Assoziationsklasse

KalenderName

PersonDatum Bewilliger*Berechtigter *

erlaubt: Recht

Termintypbezeichnung

Berechtigung

*

Klassendiagramme

Page 22: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Aggregation/KompositionAggregation/Komposition

Spezialfälle beschreiben eine „Teile-Ganzes-Beziehung“(part-of-relationship)

asym. Assoziation zw. nicht gleichwertigen Partnern Komposition = „strengere“ Form der Aggregation Multiplizität max. 1 wird das Ganze gelöscht, werden alle Teile gelöscht

VerzeichnisNameErstellung

BuchTitelErscheinungsjahr

Aggregation* *

Komposition*

KapitelAutorAnzahlSeiten

DateiNameErstellungletzteÄnderung

1

Aggregat-klasse

Teil-klasse

Klassendiagramme

Page 23: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Generalisierung (Vererbung)Generalisierung (Vererbung)

Beziehung zwischen einer allgemeinen Basis- oder Superklasse und einer spezialisierteren Unter- oder Subklasse

fasst gemeinsame Eigenschaften und Verhalten zusammen

Klassenhierarchiebildung

Programmierer

Angestellter

Manager

Vollzeit

Teilzeit

Sekretärin

Klassendiagramme

Page 24: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Generalisierung (Vererbung)Generalisierung (Vererbung)

Diskriminatoren = eine Art „virtuelles“ Attribut - Kriterium der Vererbungsstruktur

Zusammengefasste Generalisierungen = Generalisierungsmenge

Einschränkungen { }

Tätigkeit

Arbeitszeit

{complete}

Klassendiagramme

Programmierer

Angestellter

Manager

Vollzeit

Teilzeit

Sekretärin

Page 25: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Generalisierung – weitere BegriffeGeneralisierung – weitere Begriffe

Objekt ist „direkte Instanz“ der KlasseJede „direkte Instanz“ einer Klasse ist

„indirekte Instanz“ jeder SuperklasseMehrfachvererbung: eine Klasse besitzt

mehrere OberklassenMehrfachklassifikation: Objekt kann direkte

Instanz mehrer Klassen seinKlassifikationstyp: Typ eines Diskriminators

- wird als Klasse dargestellt, die

mit Superklasse in Generalisierungsmenge durch Assoziation verbunden ist Klasse 2

Klasse 1pt

Klasse 3

a.pt

Klassendiagramme

Page 26: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Redefinition Redefinition

durch Eigenschaft {redefines <feature>} notiert

Überschreiben des Verhaltens der Oberklasse

muss explizit angegeben werden

Eintragtyp: Eintragstyp

Termintyp = termin {redefines typ}

B_Eintrag

B_Termin

X

X

1

1

0..1

daten

terminDaten{redefines daten}

Klassendiagramme

Page 27: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

ObjektdiagrammObjektdiagramm

Page 28: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

ObjektdiagrammeObjektdiagramme

formaler Teil der Klassendiagrammevon Klassen können beliebig viele Objekte

als Instanzen gebildet werdenein Objekt hat einen Zustand, ein Verhalten

und eine unveränderliche Identitätkönnen den Attributen Werte zuordnen

Objektdiagramme

m1:Mitarbeiter

Objektbezeichner

Klasse des Objekts

:Mitarbeiter

anonymes Objekt

m1

Waisenobjekt

personalnr = 1234name = Bernd Meier

Page 29: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Links Links

Instanzen einer Assoziation = Links (Kanten)nicht zu verwechseln mit Objekten der

Laufzeitumgebungmodellierte Instanzen = Instanzspezifikationen

Objektdiagramme

m1:Mitarbeitert1:Termin

m2:Mitarbeiter

Page 30: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

PaketdiagrammPaketdiagramm

Page 31: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Paketdiagramm Paketdiagramm

Zusammenfassung von UML-Modellelementen (meist Klassen)

Gruppierung und Strukturierung des Gesamtsystems / Systemteilen

3 Notationsvarianten

Paketdiagramme

Paketname

Termin

Benutzer

PaketnamePaketname

A B

Page 32: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Namensraum Namensraum

1 Element kann zu max. 1 Paket gehören Paket definiert Namenraum Qualifizierter Name eines ElementsReferenzieren eines Elements

Paketdiagramme

Benutzerschnittstelle

B_Termin

B_Kalendertermine: B_Termin[*]benutzer: Benutzer

Terminverwaltung::Termin

Terminverwaltung

Termin

Benutzer

Kalender

Page 33: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Sichtbarkeit Sichtbarkeit

Elementen können Sichtbarkeiten zugeordnet werden (nur privat/“-“ oder öffentlich/“+“)

Jedem Element muss eine Sichtbarkeit zugeordnet werden

Paketdiagramme

x

Y{import Z}

+CU

+A

Z

-G

V

+B

+E

-F

+D

«import»

«import»«access»

Page 34: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Import Import

Element-Import, Paket-Import, Klassen-Import (z.B. X::Z::D importiert Klasse X::Y::U::A)

Sichtbarkeit muss öffentlich sein - «import» = öffentliche Import-Beziehung

«access» = private Import-Beziehung

Paketdiagramme

x

Y{import Z}

+CU

+A

Z

-G

V

+B

+E

-F

+D

«import»

«import»«access»

Page 35: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

PaketverschmelzungPaketverschmelzung

wie Paket-Import mit Beziehung --> + Schlüssel-wort «merge» = (Verschmelzungsbeziehung)

verschmilzt Inhalt des Basispakets mit Inhalt des Verschmelzungspakets

gleiche Inhalte = Effektiver Inhalt = Vereinigungsmenge

Vorteil: min. Modellierungsaufwand

Paketdiagramme

Q

A C

R

A

R

A C

BEffektiver Inhalt

P

A B = ^

«merge»

«merge»

Basis-pakete

Verschmelzungspaket

Page 36: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

KomponentendiagrammKomponentendiagramm

Page 37: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Komponentendiagramm Komponentendiagramm

modellieren die Struktur eines Systems zur Laufzeit und beschreiben, aus welchen Bestandteilen das System aufgebaut ist.

zeigen Definition von Komponenten und Abhängigkeiten zwischen diesen

Komponentendiagramm

Page 38: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Notation:

Externe SichtInterne SichtPorts: Verteilerzentrum

zur Nachrichtenübermittlung (in, out, inout)

Verknüpfung einer Komponente mit anderer Komponente gleicher Ebene Typkonformität Voraussetzung

Komponente KomponenteKomponentendiagramm

«component»Name

Ports

Externe SichtInterne Sicht

«component»Name öffentlicher

Port

«component»Name privater

Port

Page 39: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Interface Interface

Interfaces: („Schnittstelle“) zur Datenübertragung und Abfrage des Verhaltens anderer Komponenten (Verhaltensspezifikation)

Port mit angebotenen Interfaces

Port mit benötigten Interfaces

Kombinierter Port

Komponentendiagramm

A, B

X, Y

A, B

X, Y

Stecker-/Buchsen-symbol

Page 40: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Externe Sicht Externe SichtUmfasst Interfaces,

Ports, öffentliche Attribute & Operationen der Komponente, Verknüpfung von Komponenten gleicher EbeneVerknüpfung durch (Benutzungs-)Abhängigkeiten = allgemeine Kopplung zweier UML-Modellelemente; Änderungen in einem Element (Anbieter) zieht Änderungen im anderen Element (Klient) mit sich

Komponentendiagramm

Klient

«use»

Anbieter

a) Interface-Realisierungs-/Benutzungsabhängigkeit:

b) Buchse/Stecker-Notation:

c) Separater Abschnitt:

Page 41: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Interne Sicht Interne Sicht

Umfasst private Attribute & Operationen, interne Realisierung (welche Elemente für die Realisierung des Verhaltens der Komponente zuständig sind)

direkte Implementierung

indirekte Implementierung

Komponentendiagramm

a) Komponenten-Realisierungs-/Manifestationsabhängigkeit:

b) Schachtelung: c) Separate Abschnitte:

Page 42: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

Kompositionsstruktur-diagramm

Kompositionsstruktur-diagramm

Page 43: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Kompositionsstrukturdiag. Kompositionsstrukturdiag.Kompositionsstrukturdiagramm modelliert

innere Struktur einer Komponente oder Klassen

Beziehungen zwischen Rollen der internen Struktur werden durch Konnektoren modelliert, die Kommunikationspfade repräsentieren

die verbundenen Instanzen interagieren zur Laufzeit miteinander

Notation:

Kompositionsstrukturd.

ungerichtet

gerichtet

Page 44: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Kollaboration KollaborationKollaboration beschreibt , wer mit wem

kommuniziert, um best. Verhalten auszuführen (nicht wie und wann!)

Notation:

Kompositionsstrukturd.

auslöser:Kalender 1 zuAktualisierende:Kalenderansicht 1..*1 1..*

KalenderAktualisierung

Kalender…

Kalenderansicht…

a)

b)

KalenderAktualisierung

auslöser zuAktualisierende

Page 45: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

VerteilungsdiagrammVerteilungsdiagramm

Page 46: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Verteilungsdiagramm Verteilungsdiagramm

Modellieren der physischen Struktur eines Systems

zeigt die eingesetzte Hard- und Softwaretopologie und das zugeordnete Laufzeitsystem

Verteilungsdiagramm

Page 47: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Verteilungsdiagramm VerteilungsdiagrammKnoten sind Hard-,

SoftwareelementeKommunikations-

beziehungen = Verbindung zw. Knoten

Artefakte = Modellelemente, die für die Ausführung auf die Knoten verteilt werden (physische Manifestation der Software, z.B. exe-files)

Verteilungsdiagramm

«device»calClient:PC

«device»calServer:Host

«internet»

«artifact»

calServerProgram:jar

«deploy»

Page 48: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

Verhaltens-modellierungVerhaltens-

modellierungDynamische Aspekte

Page 49: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Diagrammarten Diagrammarten

DiagrammDiagramm

VerhaltensdiagrammVerhaltensdiagramm

Anwendungsfall-diagramm

Anwendungsfall-diagramm

Aktivitäts-diagrammAktivitäts-diagramm

Zustands-diagrammZustands-diagramm

Interaktions-diagramm

Interaktions-diagramm

Sequenz-diagrammSequenz-diagramm

Kommunikations-diagramm

Kommunikations-diagramm

Zeit-diagramm

Zeit-diagramm

Interaktions-übersichts-diagramm

Interaktions-übersichts-diagramm

Diagramme

Page 50: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

Anwendungsfall-diagramm

Anwendungsfall-diagramm

Page 51: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Anwendungsfalldiagramm Anwendungsfalldiagramm

beschreibt Funktionalität des zu entwickelnden Systems in Form von Anwendungsfällen aus Sicht des Benutzers

Sonderstellung, da es strukturelle Darstellung des erwarteten Verhaltens repräsentiert und keine dynamischen Aspekte aufweist

Anwendungsfalldiagramm

Page 52: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Anwendungsfälle Anwendungsfälle

Notation:

beschreiben Systemfunktionalitäten

Akteure (=Classifier) interagieren mit dem System verfügen über Klasseneigenschaften befinden sich außerhalb des Systems und

werden nicht implementiert

Anwendungsfalldiagramm

Termin löschen Termin

löschen

Termin löschen

Benutzer

Page 53: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Anwendungsfälle Anwendungsfälle können zur Erfüllung

ihrer Funktionalitäten Beziehungen untereinander haben include-Beziehung (=

benutzter Anwendungsfall ist unbedingt notwendig!)

extend-Beziehung (= erweiternder Anwendungsfall kann übernommen werden)

Generalisierungs-beziehung

Erweiterungsstelle (evtl. Notizsymbol als Zuordnunghilfe)

Anwendungsfalldiagramm

Benutzer Adminitrator

Eintrag erfassen

Termin erfassen

Teilnehmer verständigen

Kalender aktualisieren

Programm verwalten

Zugriffsrechte verwalten

Einstellungen verwalten

Generalisierungs-beziehung

«include» «include» «extend»

«extend»

extension pointsZugriffsrechte anpassenEinstellungen anpassen

Condition: {Einstellungen ausgewählt}

Extension point: Einstellungen anpassen

Erweiterung eines Anwendungsfalls

Bedingung, die erfüllt sein muss um Anwendungsfall einzufügen

Page 54: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Abstrakter Anwendungsfall Abstrakter Anwendungsfall

Identische Teilaspekte in div. Anwendungs-fällen werden mittels Generalisierungs-beziehung zusammengeschlossen

Anwendungsfalldiag.

Benutzer Adminitrator

Einstellungen verwalten

Benutzer verwalten

private Benutzergruppen

verwalten

«extend» «extend»

globale Benutzergruppen

verwalten

Benutzer- gruppen verwalten

{abstract}

Abstrakter Anwendungsfall, nicht ausführbar!

konkreter Anwendungsfall, ausführbar!

Page 55: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

AktivitätsdiagrammAktivitätsdiagramm

Page 56: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Aktivitätsdiagramm Aktivitätsdiagramm

spezifiziert Kontroll- und Datenfluss zwischen verschiedenen Arbeitsschritten (Aktionen), die zur Realisierung einer Aktivität notwendig sind

zur Modellierung objektorientierter und nicht objektorientierter Systeme

Aktivitätsdiagramm

Page 57: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Aktivitäten & Aktionen Aktivitäten & AktionenAktivität umfasst gesamte Verhaltens-

beschreibung im Aktivitätsdiagrammatomare Bestandteile einer Aktivität = AktionenAktionen leisten „eigentliche Arbeit“gerichteter Graph mit Aktivitätsknoten

(repräsentieren Aktionen, Kontrollkonstrukte & Objektspeicher) & Aktivitätskanten (drücken Abhängigkeiten in Form von Weitergabe von Kontrolle bzw. Daten aus)

Notation:

Aktivitätsdiagramm

Aktivitäts-name

Eingabe-parameter Ausgabe-

parameterAktivitäts-knoten

Aktivitäts-kante

Page 58: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Knoten KnotenAktionsknoten: repräsentieren vordefinierte

UML-Aktionen, die Eingaben empfangen und diese für Ausgaben für andere Knoten verarbeiten

Kontrollknoten: steuern Aktivitätsabläufe, Festlegung Start und Ende einer gesamten Aktivität

Objektknoten: dienen als Ein- und Ausgabeparameter (d.h. Bindeglied zwischen Verhaltensmodellierung (Aktivitätsdiagramm) und Strukturmodellieung (Klassendiagramm)), sowie als zentraler Puffer

Aktivitätsdiagramm

Page 59: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Kanten Kanten

Legen mit Kontrollknoten zeitlich logische Reihenfolge fest

Kontrollflusskanten: drücken reine Kontrollabhängigkeit zwischen Vorgänger- und Nachfolgerknoten aus

Objektflusskanten: transportieren zusätzlich Daten von Vorgänger- zu Nachfolgerknoten

Aktivitätsdiagramm

Page 60: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Token Token„virtueller Koordinationsmechanismus“beschreiben Abläufe einer Aktivität zur

LaufzeitToken fließen entlang der Kanten vom

Vorgängerknoten zum NachfolgerknotenKontroll- und Datentokenmüssen an allen eingehenden Kanten eines

Knotens angeboten werden, um dessen Ausführung zu ermöglichen

„Ergebnisse einer Aktivität“

Aktivitätsdiagramm

Page 61: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Kontrollknoten KontrollknotenInitialknoten: kennzeichnet Beginn eines

Aktivitätsablaufs Aktivitätsendknoten: beendet alle Abläufe

einer Aktivität («bull´s eye»)Ablaufendknoten: beendet nur einen

bestimmten Ablauf einer Aktivität

Aktivitätsdiagramm

Einladung drucken

Einladung adressieren

[else][alle Einladungen gedruckt]

Page 62: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Alternative Abläufe Alternative AbläufeEntscheidungsknoten: ermöglichen Ablauf in

alternative Zweige =„Weiche“ für den Tokenfluss, Ankunft von

Token startet Entscheidungsverhalten Überwachungsbedingungen wählen den Zweig

aus

Vereinigungsknoten: führt alternative Abläufe wieder zusammen

Aktivitätsdiagramm

Termin vorschlagen

Termin fixieren

[false]

[true]

«decision Input»

Teilnehmer mit Termin einverstanden?

Teilnehmer informieren

Page 63: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Nebenläufige Abläufe Nebenläufige AbläufeParallelisierungsknoten: Ablauf in beliebig

viele nebenläufige Zweige gleichzeitig aufspalten I eingehende Token werden für alle ausgehenden

Kanten dupliziert

Synchronisierungsknoten: führt nebenläufige Abläufe wieder zusammen I indem eingehende Token wieder vereinigt werden

Aktivitätsdiagramm

BenutzerID prüfen

Termin erfassen

[else]

[ok] Kollision prüfen

Teilnehmer auswählen

Page 64: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Objektknoten Objektknotendienen als Ein- & Ausgabeparameter für

Aktivitätenoder als Ein- & Ausgabepins für Aktionenoder als Pufferknoten zur Pufferung von

Datentoken Transiente Pufferknoten löscht weitergegebenen

Datentoken («centralBuffer») Persistenter Pufferknoten bewahrt sie auf und gibt

Duplikate weiter («datastore»)

Aktivitätsdiagramm

Aktivitäts-name

Eingabe-parameter Ausgabe-

parameterEingabe-pin

Ausgabe-pin

Aktion1 Aktion2

Einladung versenden

Teilnehmer auswählen

«datastore» Benutzer

«centralBuffer» Ausgewählte Teilnehmer

Page 65: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Begriffe BegriffeParametersatz: Zusammenfassung /

Gruppierung von ParameternSteuerung des Objektflusses über

ObjektflusskantenReihenfolge der Tokenweitergabe über

Spezifikation in geschwungenen Klammern Standard FIFO {ordering = LIFO} {ordering = ordered} {ordering = unordered}

Aktivitätsdiagramm

Page 66: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Begriffe BegriffeKapazitätsobergrenze: begrenzt Anzahl der

Token, die Objektknoten aufnehmen kannGewicht einer ObjektflusskanteSelektionsverhalten: bestimmte Token werden für

Weitergabe ausgewählt (=Tokenfilter) bestimmt implizit auch Reihenfolge ≠ Überwachungsbedingungen, die über

Weitergabe aller Token entscheidet

Transformationsverhalten: kann Datenwert eines Tokens austauschen Referenz auf ein Objekt durch eine andere austauschen eingehendes Datentoken in mehrere ausgehende

transformieren

Aktivitätsdiagramm

«centralBuffer» To-do´s

{upperBound=20}{weight=20}

Teilnehmer auswählen

«datastore» Benutzer

«selection»

.......

Page 67: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Partitionen Partitionenerlauben Gruppierung von Knoten und

Kanten einer Aktivität nach bestimmten Kriterien (gemeinsame Eigenschaften)

Logische Sicht zur Erhöhung der Übersichtlichkeit

Notation: so genannte „Schwimmbahnen“

Aktivitätsdiagramm

Partitions-name

Pa

rtiti

on

s-n

ame

Page 68: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Partitionen PartitionenHierarchische

Partition: Wurzel (=Dimension) + Subpartitionen

Multidimensionale Partition: orthogonale Dimensionen

Aktivitätsdiagramm

Name Subpartition

Par

titio

ns-

nam

e

Dimensionsname

Name Subpartition

Par

titio

ns-

nam

e

Partitions-name

Partitions-name

Dimensionsname

Dim

en

sio

nsn

ame

Page 69: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Strukturierte Aktivitätsknoten Strukturierte Aktivitätsknoten

Fassen Teile einer Aktivität zu einer in sich abgeschlossenen & strukturierten Ausführungseinheit zusammen Aktionen innerhalb dessen werden erst gestartet,

wenn alle Token vorhanden sind Token werden erst weitergegeben, wenn Aktion

abgearbeitet ist

Aktivitätsdiagramm

«structured»

……

Page 70: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Strukturierte Aktivitätsknoten Strukturierte Aktivitätsknoten

3 spezielle Formen: Expansionsbereich: verarbeitet Elemente einer

Kollektion Konditionalknoten:

dient zur Auswahl aus einer Reihe alternativer Zweige (im Sinne einer „if-then-else-Anweisung“; Testbereich (if bzw. else if) + Ausführungsbereich (then & else))

Pendant zu Entscheidungsknoten Vorteil durch Kompaktheit

Schleifenknoten: zur kompakten Modellierung von Schleifen

besteht aus Initialisierungsbereich (for), Testbereich (while) und Ausführungsbereich (do)

Aktivitätsdiagramm

Page 71: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

ZustandsdiagrammZustandsdiagramm

Page 72: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Zustandsdiagramm Zustandsdiagramm

Modellierung des Intraobjektverhaltens auf Basis von Zuständen (Knoten) und Zustandsübergängen = Transitionen (Kanten), die von Ereignissen ausgelöst werden

Basiert auf „eigentlichem Zustandsautomaten“ / Verhaltensautomaten und Protokollautomaten

Zustandsdiagramm

Page 73: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Zustand Zustand Zustand = Objekt in

bestimmter Situation kann auf äußere

Ereignisse reagieren Notation:

Zustandsname + Aktivität do/ = Aktivitäten während

System im Zustand entry/ = wenn Objekt in

Zustand eintritt exit/ = sobald Zustand

verlassen wird

Zustandsdiagramm

BeginnBearbeitendo / DatumZeit erfassenentry / Schreibmarke setzenexit / Abhängigkeiten aktualisieren

DauerBearbeitendo / Zeit erfassenentry / Schreibmarke setzenexit / Abhängigkeiten akt.

OKentry / Schaltfläche hervorhebenexit / Hervorhebung aufheben

Fehlerentry / Fehlermeldung anzeigenexit / Fehlermeldung löschen

Abbruchentry / Schaltfläche hervorhebenexit / Hervorhebung aufheben

ENTER

ENTER

ENTER[Werte inkorrekt]

ENTER

ENTER[Werte korrekt]/Änderungenakzeptieren

ENTER/Änderungenverwerfen

TAB

TAB

TAB

TAB

Page 74: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Pseudozustände Pseudozustände Startzustand History-Zustand

= Rücksprungadresse Verbindungsstellen Entscheidungsknoten Nebenläufigkeitsbalken ▬ Einstiegs- O

/Ausstiegspunkt = dienen der Verwendung von Unterautomaten

Terminierungsknoten X = gibt an, daß das Objekt, dessen Verhalten modelliert wird, aufhört zu existieren

Endzustand

Zustandsdiagramm

BeginnBearbeitendo / DatumZeit erfassenentry / Schreibmarke setzenexit / Abhängigkeiten aktualisieren

DauerBearbeitendo / Zeit erfassenentry / Schreibmarke setzenexit / Abhängigkeiten akt.

OKentry / Schaltfläche hervorhebenexit / Hervorhebung aufheben

Fehlerentry / Fehlermeldung anzeigenexit / Fehlermeldung löschen

Abbruchentry / Schaltfl. herv.exit / Hervorhebg aufh.

ENTER

ENTER

ENTER[Werte inkorrekt]

ENTER

ENTER

ENTER

TAB

TAB

TAB

TAB

H

Page 75: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Komplexe Zustände Komplexe ZuständeZusammengestzte,

geschachtelte ZuständeODER-Verfeinerung =

mit der ein komplexer Zustand in Subzustände zerlegt wird

UND-Verfeinerung = mit der die Zerlegung in nebenläufige, gleichzeitig aktive Subzustände erfolgt

Zustandsdiagramm

BeginnBearbeitenentry / Schreibmarke setzenexit / Abhängigkeiten aktualisieren

DatumErfassenentry / Schreibmarke an Pos. pD setzen

ZeitErfassenentry / Schreibmarke an Pos. pT setzen

ENTER

TAB

/ pD = pT = 0

When(pD = 8)

Hilfe

H

F1

Z

A B

C D

Page 76: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Unterautomaten Unterautomatenum mehrfach auftretende Verhaltensaspekte

herauszuheben und gesondert zu beschreiben

werden im „Hauptautomaten“ durch Unterautomatenzustand referenziert

Notation: Rechteck Name: Zustandsname:Unterautomatenname mit Ein- und Ausstiegspunkten

Zustandsdiagramm

Page 77: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Protokollautomaten Protokollautomatenlegen fest, welche Operationsaufrufe unter

welchen Bedingungen von einem Classifier akzeptiert werden

beschreiben lediglich Sequenzen von Ereignissen ohne jegliche Effekte (außer Zustandsübergänge)

Zustandsdiagramm

Telefongespräch {protocol} Grundzustand

Wahlbereit

Verbindungsaufbau Gespräch

Gespräch beendet

Partner legt aufPartner hebt ab

Hörer abnehmen

Nummer wählen

Page 78: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

InteraktionsdiagrammeInteraktionsdiagramme

Page 79: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Interaktionsdiagramme Interaktionsdiagramme

spezifizieren das Interobjektverhalten in Form von Nachrichten zwischen Objekten in bestimmten Rollen

Page 80: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

SequenzdiagrammSequenzdiagramm

Page 81: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Sequenzdiagramm SequenzdiagrammModellierung von InteraktionenInteraktion spezifiziert die Art & Weise, wie

Nachrichten und Daten zwischen verschiedenen Interaktionspartnern in einem bestimmten Kontext ausgetauscht werden, um eine bestimmte Aufgabe zu erfüllen

Der Nachrichtenaustausch wird im Allgemeinen zwischen Rollen auf Typebene modelliert

Interaktionen erfolgen durch Nachrichten in Form von Signalen und Operationsaufrufen oder werden durch Bedingungen und Zeitereignisse gesteuert

Sequenzdiagramm

Page 82: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Einsatzmöglichkeiten EinsatzmöglichkeitenModellierung der Interaktion eines Systems

mit seiner Umwelt, um Systemgrenzen festzulegen

Modellierung des Zusammenspiels der internen Struktur einer Klasse, Komponente oder Kollaboration

Modellierung des Interaktionsaspekts der Verknüpfung von verschiedenen Systemteilen (z.B. Komponenten über Ports, angebotene und benötigte Interfaces)

Modellierung der Interaktionen der Operationen einer Klasse

Sequenzdiagramm

Page 83: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Notation NotationRechteck mit Pentagondarin Diagrammtyp als String sdgefolgt vom Interaktionsnamen und evtl.

Parametern in KlammernZwei Dimensionen:

vertikale = Zeitachse, horizontale = Interaktionspartner

Interaktionspartner durch vertikale gestrichelte Lebenslinie dargestellt, oben Kopf mit Name und Typ der Rolle

Sequenzdiagramm

sd name (par1, par2)

rolle:Typ

Page 84: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Begriffe BegriffeInteraktionen = Abfolge so genannter

EreignisspezifikationenEreignisspezifikationen partitionieren eine

Lebenslinie in Zeitsegmente und definieren einen potenziellen Ereigniseintritt zur Laufzeit

Folge von konkreten Ereigniseintritten = Trace bestimmt den Ablauf einer Interaktion zur Laufzeit

Sequenzdiagramm

Page 85: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Ausführung einer NachrichtAusführung einer Nachricht

Periode, in der ein Interaktionspartner direkt oder indirekt ein bestimmtes Verhalten ausführt = Ausführungsspezifikation

Die Ausführung wird durch Start und Ende definiert

Sequenzdiagramm

rolle:Typ rolle:TypStartereignis-spezifikation

Ausführungs-spezifikation

Endereignis-spezifikation

direkte Ausführung

indirekte Ausführung

Page 86: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Versenden einer NachrichtVersenden einer NachrichtSynchrone Nachrichtenübermittlung: Sender

wartet bis die durch die Nachricht ausgelöste Interaktion beendet ist

Asynchrone Nachrichtenübermittlung: der Sender der Nachricht wartet nicht auf die Antwort des Empfängers

AntwortnachrichtenVerlorene Nachricht: eine Nachricht an einen

unbekannten oder nicht relevanten Interaktionspartner verschicken

Gefundene Nachricht: von einem solchen Interaktionspartner empfangen

Sequenzdiagramm

lost

found

Page 87: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Kombinierte Fragmente Kombinierte Fragmentezur Modellierung komplexer Kontrollstrukturenbeinhaltet einen Interaktionsoperator und einen

oder mehrere Interaktionsoperanden

Operatoren dienen zur Festlegung der Auswahl und Reihenfolge der gesendeten Nachrichten und ihrer Häufigkeiten im kombinierten Fragment

Sequenzdiagramm

loop

alt

sd Beispiel

Operand 1

Operand 2

Operatoren

Kombinierte Fragmente

Schachtelung von Interaktionen

Page 88: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Arten von Operatoren Arten von OperatorenSequenzdiagramm

Operator Zweck Beschreibung

Verzweigungen

alt Alternative Interaktionen

Mehrere Operanden,

von denen einer zur Laufzeit anhand von Überwachungsbedingung oder else-Bedingung ausgewählt wird

opt Optionale Interaktionen

Ein Operand,

Ausführung von Überwachungs-bedingung abhängig; if-then -Konstrukt

break Ausnahme-Interaktionen

Ein Operand,

wird ausgeführt, wenn Bedingungen erfüllt; wenn Bedingungen nicht erfüllt, wird umgebendes Fragment ausgeführt

Schleifen

loop Iterative Interaktionen

Ein Operand;

Ausführungshäufigkeit durch Zähler und Überwachungsbedingung bestimmt

Page 89: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Arten von Operatoren Arten von OperatorenSequenzdiagramm

Operator Zweck Beschreibung

Nebenläufig-keiten

und

Ordnung

seq Sequenzielle Interaktionen mit schwacher Ordnung

Zwei oder mehrere Operanden mit schwacher Ordnung;best. Reihenfolge der Ereigniseintritte Traces

in Verbindung mit break-Operator einzelne Interaktionen in Blöcke zusammenfassen

strict Sequenzielle Interaktionen mit strenger Ordnung

mehrere Operanden mit strenger Ordnung;

Reihenfolge der Ereigniseintritte muß exakt der Anordnungsreihenfolge der korrespondierenden Ereignisspezifikationen entsprechen

par Nebenläufige Interaktionen

Zwei oder mehrere Operanden;

werden nebenläufig ausgeführt

critical Atomare Interaktionen

ein Operand;

erlaubt Spezifikation eines atomaren, d.h. nichtunterbrechbaren Interaktionsablaufs

Page 90: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Arten von Operatoren Arten von OperatorenSequenzdiagramm

Operator Zweck Beschreibung

Filterungen

ignore Irrelevante Interaktionen

ein Operand;

erlaubt Spezifikation von Nachrichten, die als bedeutungslos eingestuft werden

consider Relevante Interaktionen

ein Operand;

erlaubt Spezifikation jener Nachrichten, die für die Interaktion besonders relevant sind

Zusicherungen

assert Zugesicherte Interaktionen

ein Operand;

Interaktionsablauf im Operanden ist einzig gültiges Verhalten an diesem Punkt der Interaktion und muss vollständig ausgeführt werden

neg Ungültige Interaktionen

ein Operand;

Modellierung eines ungültigen Interaktionsablaufs, d.h. eine Reihe von Interaktionen, die zur Laufzeit nicht auftreten dürfen (z.B. Fehler)

Page 91: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Modularisierung ModularisierungWiederverwendung wird erleichtertKomplexität von Diagrammen wird reduziertFolgende Konzepte:

Interaktionsreferenzen: Referenzierung anderer Sequenzdiagramme

dadurch können ganze Interaktionsabläufe und auch einzelne Lebenslinien zerlegt werden

Sequenzdiagramm

ref

sdName (par1, par2): rückgabeWert

rolle[selector]:Typ ref Interaktionsname

Interaktionsreferenz zur Zerlegung von Interaktionsabläufen Referenz der inneren Interaktion

einer Lebenslinie

Page 92: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Modularisierung Modularisierung Fortsetzungsmarken: Zerlegung der Operanden

eines alt-Operators

Sequenzdiagramm

alt

alt

A

A

B

B

Start-marken

Ziel-marken

Page 93: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Modularisierung Modularisierung Verknüpfungspunkte: Verbindung von

Nachrichten zwischen Sequenzdiagrammen, Interaktionsreferenzen oder kombinierten Fragmenten

Sequenzdiagramm

sd b1

v1t

Verknüpfungs-punkte

u

v2

sd b2

v1x y

v2

Page 94: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

Kommunikations-diagramm

Kommunikations-diagramm

Page 95: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Kommunikationsdiagramm Kommunikationsdiagrammzusätzlich zu Interaktionen können auch die

zugrunde liegenden strukturellen Zusammenhänge der Interaktionspartner dargestellt werden

Keine ZeitachseAnordnung der Nachrichten entspricht nicht

der Reihenfolge Explizite Nummerierung durch

SequenznummernNotation:

Kommunikationsdiag.

comm name rolle[selector]:Typ

Interaktionspartner als Kopf ohne Lebenslinie

Page 96: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

ZeitdiagrammZeitdiagramm

Page 97: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Zeitdiagramm Zeitdiagramm

zeigt explizit zeitabhängige Zustandsänderungen der Interaktionspartner

stellt nur exemplarischen Ablauf dar, da keine Kontrollkonstrukte zur Verfügung stehen

Zeitdiagramm

Page 98: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Notation Notation Zeitachse horizontal, Lebenslinie

als Abschnitte untereinander Zeitmetrik als eigene Achse mit

Zeiteinheit Zustände (Reihenfolge nicht

signifikant) Wechsel zwischen Zuständen

durch Zustandsverlaufslinie Auslöser von Zustands-

änderungen (z.B. Empfang einer Nachricht) entsprechend notiert

Nachrichtenaustausch zwischen Interaktionspartnern als Pfeil

Nachrichtenmarken für weiter auseinander liegende Lebenslinien

Zeitdiagramm

timing name

rolle

:Typ

rolle

:Typ

Zustand 1

Zustand 2

Zustand 3

Zustand 4

at(t=12.00)

0 1 2 3 4 5 6 7 s

Zeitmetrik

Lebenslinien

Zustandsverlaufslinie

Auslöser

Nachrichtenaustausch

Page 99: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

Interaktionsübersichts-diagramm

Interaktionsübersichts-diagramm

Page 100: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Interaktionsübersichtsd. Interaktionsübersichtsd.Modellierung des

Kontrollflusses zwischen verschiedenen Interaktionsabläufen, d.h. in welcher Reihenfolge und unter welchen Bedingungen verschiedene Interaktionsabläufe stattfinden

Interaktionsübersichtsd.

ref

intover Termin erfassen

Eckdaten des Termins erfassen

ref Teilnehmer

ref Kollision prüfen

ref Terminvorschlag finden und über Kollisionen informieren

[Kollisionen] [else]

ref Notifikationen erzeugen und Sichten aktualisieren

Page 101: Objektorientierte Modellierung mit UML 2 Nichtrelationale Datenbanken -Historisch kulturwissenschaftliche Informationsverarbeitung- Universität zu Köln.

01.06.2006

Objektorientierte Modellierung mit UML2

Literatur Literatur

Hitz, M., Kappel, G., Kapsammer, E., Retschitzegger, W. (2005).

UML @ Work. Objektorientierte Modellierung mit UML 2 (3. Aufl.).

Heidelberg: dpunkt.verlag