26
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile vom Ganzen existenzabhängig sind. Sie beschreibt, wie sich etwas Ganzes aus Einzelteilen zusammensetzt und diese kapselt. Abhängigkeitsbeziehung Eine Abhängigkeitsbeziehung ist eine Beziehung zwischen zwei Modellelementen, die zeigt, dass eine Änderung in dem einen (unabhängigen) Element eine Änderung in dem anderen (abhängigen) Element notwendig macht.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

Embed Size (px)

Citation preview

Page 1: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/26

Komposition

Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile vom

Ganzen existenzabhängig sind. Sie beschreibt, wie sich etwas Ganzes aus

Einzelteilen zusammensetzt und diese kapselt.

Abhängigkeitsbeziehung

Eine Abhängigkeitsbeziehung ist eine Beziehung zwischen zwei

Modellelementen, die zeigt, dass eine Änderung in dem einen (unabhängigen)

Element eine Änderung in dem anderen (abhängigen) Element notwendig

macht.

Page 2: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 2/26

Assoziation

Eine Assoziation beschreibt als Relation zwischen Klassen die gemeinsame

Semantik und Struktur einer Menge von Objektverbindungen.

Es wird unterschieden in:

• Attributierte

• Qualifizierte

• Abgeleitete

• Mehrgliedrige

• Gerichtete und

• Spezialisierte

Aggregation

Eine Aggregation ist eine Assoziation, erweitert um den semantisch

verbindlichen Kommentar, dass die beteiligten Klassen keine gleichwertige

Beziehung führen, sondern eine Ganzes-Teil-Hierarchie darstellen. Eine

Aggregation soll beschreiben, wie sich etwas Ganzes aus seinen Teilen logisch

zusammensetzt.

Page 3: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 3/26

Klassendiagramm, Beziehungselemente

Beziehungselemente verdeutlichen die Relationen zwischen den einzelnen

Elementen.

Definitionen (die wichtigsten)

Generalisierung, Spezialisierung (Vererbung)

Vererbung ist ein Programmiersprachenkonzept. Hier werden Operationen

der Oberklasse auch den Unterklassen zugänglich gemacht. Generalisierung

und Spezialisierung sind Abstraktionsprinzipien zur hierarchischen

Strukturierung der Semantik eines Modells.

Page 4: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/26

Vererbung

Realisierungsbeziehung

Assoziation

Gerichtete Assoziation

Aggregation

Komposition

Page 5: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 5/26

Verhaltensdiagramme

Aktivitätsdiagramm

Verwandte Begriffe: activity diagram, Objektzustand, Aktionszustand,

Ablaufdiagramm, Programmablaufplan

Definition

Aktivitätsdiagramme beschreiben die Ablaufmöglichkeiten eines Systems mit

Hilfe von Aktivitäten. Es ist eine spezielle Form des Zustandsdiagramms, das

überwiegend oder ausschließlich Aktivitäten enthält.

Eine Aktivität ist ein einzelner Schritt im Ablauf.

Nebenläufige Aktivitäten werden durch das Aktivitätsdiagramm unterstützt. Für

parallel laufende Pfade gilt, dass ihre Reihenfolge irrelevant ist.

Aktivitäten sind entweder einer Klasse, einer Operation oder einem

Anwendungsfall zugeordnet.

Page 6: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 6/26

Notation

Dargestellt wird eine Aktivität durch ein grafisches Element mit einer geraden

Ober-, Unterseite und einer konvex geformten Seite. Im Element sollte eine

kurze Aktivitätsbeschreibung enthalten sein. Zulässig sind auch kurze

Programmiercodes, frei formulierte Beschreibungen und Pseudocodes.

Page 7: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 7/26

Aktivitätsdiagramm

aktivität1 () akitivität2 ()

Entscheidung Aktivität

[x>0]

[x=0]

[x<0]

Zusammenführung(XOR)

Synchronisation(AND)

Splitting

Page 8: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 8/26

Schleife

Aktivität

[Abbruchbedingung][sonst]

Verantwortungsbereich 1 Verantwortungsbereich 3Verantwortungsbereich 2

Aktivität 1 Aktivität 2

Aktivität 3

Aktivität 4

Aktivität 5

Page 9: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 9/26

Senden und empfangen

Aktivität 1

Aktivität 2

Aktivität 3

Aktivität 2Aktivität 1

Signal senden

Signal empfangen

Objekt

Objekt

Page 10: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 10/26

Objektflussdiagramm

UML Aktivitätsdiagramme können auch als Objektflussdiagramme eingesetzt

werden, wodurch sich ihr methodischer Nutzen erheblich steigert. Ein

vorhandenes Diagrammelement ist die Notation vom resultierenden und

vorausgesetzten Objektzustand.

Da eine Aktivität mehrere ausgehende Transitionen haben kann, bestimmte

resultierende Objekte bzw. Objektzustände aber nur für bestimmte Transitionen

erzielt werden, müssen sich die resultierenden Objektzustände auf konkrete

Transitionen beziehen. Um dies in einem Aktivitätsprogramm darzustellen,

reichen folgende Konventionen aus:

• Nummerieren Sie die Aktivitäten eines Diagramms durch

• Nummerieren Sie die ausgehenden Transitionen relativ zu jeder Aktivität in der

Form <Aktivitätsnummer>, <Transitionsnummer>

• Geben Sie bei resultierenden Objekten/Objektzuständen die

Transitionsnummern an, für die das Resultat gilt.

Page 11: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 11/26

Werden die resultierenden Objekte nicht mehr dargestellt, wird aus dem

Objektflussdiagramm einfach nicht dargestellt.

Objektflussdiagramm

Aktivität 1

Aktivität 2

Objekt B(Zustand)

Objekt A (Zustand)

1.2

1.1

2.1 [ok]

1.3 [Abbruch]

1.2 [nicht ok]

1.1 [ok]

Page 12: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 12/26

Kollaborationsdiagramm

Verwandte Begriffe: Zusammenarbeitsdiagramm, Kooperationsdiagramm,

Interaktionsdiagramm

Definition

Ein Kollaborationsdiagramm zeigt eine Menge von Interaktionen zwischen

ausgewählten Objekten in einer bestimmten begrenzten Situation (Kontext)

unter Betonung der Beziehungen zwischen den Objekten und ihrer

Topographie.

Ein Kollaborationsdiagramm zeigt im Grunde dasselbe wie ein

Sequenzdiagramm, geht jedoch tiefer auf die Zusammenarbeit untereinander

ein. Kollaborationen sind stets Projektionen des dahinter stehenden

Gesamtmodells und sind zu diesem konsistent.

Es lassen sich mit einem Kollaborationsdiagramm die zeitlichen Folgen von

Nachrichten, Antworten und Schleifen darstellen. Objektverbindungen können

temporär oder grundsätzlich vorhanden sein.

Page 13: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 13/26

Notation

Zwischen Objekten werden Assoziationslinien gezeichnet, auf denen die

Nachrichten notiert werden. Ein kleiner Pfeil zeigt die Richtung der Nachricht an.

Es existieren zwei verschiedene Pfeilformen:

• Nachrichten, bei der der Sender wartet, bis der Empfänger die Nachricht

angenommen hat, werden als synchron bezeichnet.

• Nachrichten, die in eine Warteschlange aufgenommen werden, wobei dem

Sender egal ist, wann die Nachricht angenommen wird, werden als

asynchron bezeichnet.

Page 14: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 14/26

Kollaborationsdiagramm

objekt:Klasse

objekt:Klasse

objekt:Klasse1.1.*:nachricht(argumente)

[Bedingung] 1.2:antwort:=nachricht (arg)

Actor

startNachricht()

Page 15: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 15/26

Sequenzdiagramm

Verwandte Begriffe: Interaktionsdiagramm, Ereignispfaddiagramm, Szenario,

Nachrichtendiagramm, Reihenfolgediagramm

Definition

Eine Sequenz zeigt eine Reihe von Nachrichten, die eine ausgewählte Menge

von Objekten in einer zeitlich begrenzten Situation austauscht, wobei der

zeitliche Ablauf betont wird.

Page 16: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 16/26

Notation

Objekte werden durch gestrichelte senkrechte Linien dargestellt. Oberhalb der

Linie steht der Namen bzw. das Objektsymbol. Die Nachrichten werden als

waagerechte Pfeile zwischen den Objektlinien gezeichnet. Auf ihnen wird die

Nachricht notiert. Die Antwort wird als gestrichelter Pfeil mit offener Spitze

dargestellt. Die Überlagerung der gestrichelten Lebenslinien durch breite,

nichtausgefüllte (oder graue) senkrechte Balken symbolisiert den

Steuerungsfokus. Der Steuerungsfokus gibt an, welches Objekt gerade die

Programmkontrolle besitzt. Am linken oder rechten Rand sind frei formulierte

Erläuterungen zulässig.

Page 17: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 17/26

Sequenzdiagramm

Objekt 1 Objekt 3Objekt 2

*nachricht ()antwort

delete ()

x

(x-y <2sec)

y

Iteration

Selbstdelegation

Zusicherung

Lebenslinie

Page 18: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 18/26

Zustandsdiagramm

Verwandte Begriffe: Zustandsübergangsdiagramm, endlicher Automat

Definition

Ein Zustandsdiagramm zeigt eine Folge von Zuständen, die ein Objekt im Laufe

seines Lebens einnehmen kann und aufgrund welcher Stimuli

Zustandsänderungen stattfinden.

Ein Zustandsdiagramm beschreibt eine hypothetische Maschine (endlicher

Automat), die sich zu jedem Zeitpunkt in einer Menge endlicher Zustände

befindet. Sie besteht aus:

• Einer endlichen, nicht-leeren Menge von Zuständen

• einer endlichen, nicht-leeren Menge von Ereignissen

• Zustandsübergängen

• einen Anfangszustand

• und einer Menge von Endzuständen

Page 19: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 19/26

Zustand

Definition

Ein Zustand gehört zu genau einer Klasse und stellt eine fachlich motivierte

Abstraktion bzw. Zusammenfassung einer Menge von möglichen Attributwerten

dar, die die Objekte dieser Klasse einnehmen können. Zustandsdiagramme

beschreiben das innere Zustandsmodell eines Objektes.

Es gibt zwei besondere Zustandstypen:

• Startzustand (Zu einem Startzustand kann kein Übergang stattfinden.)

• Endzustand (Vom Endzustand führt kein Ereignis mehr weg.)

Jeder Zustand kann eine Menge von Zustandsvariablen enthalten.

Zustandsvariablen sind Attribute der Klasse, zu denen der Zustand gehört.

Zustände besitzen einen eindeutigen Namen oder sind anonyme Zustände.

Anonyme Zustände sind grundsätzlich voneinander verschieden. Zwei

namenlose Zustände in einem Diagramm sind zwei verschiedene Zustände.

Page 20: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 20/26

Übergänge von einem Zustand zum nächsten werden durch Ereignisse

ausgelöst. Ein Ereignis hat einen Namen und eine Liste möglicher Argumente.

Ein Zustand kann Bedingungen an Ereignisse knüpfen, die erfüllt werden

müssen, damit der Zustand durch ein Ereignis eingenommen werden kann.

Ereignisse können Aktionen innerhalb des Zustandes auslösen. Dabei sind

folgende Auslöser vordefiniert:

• Entry löst automatisch bei Eintritt in einem Zustand aus.

• Exit löst automatisch beim Verlassen eines Zustandes aus.

• Do wird immer wieder ausgelöst, solange der Zustand aktiv ist.

Notation

Zustände werden durch abgerundete Rechtecke dargestellt. Sie können Namen

beinhalten und optional durch horizontale Linien in drei Bereiche aufgeteilt

werden. Ein Startzustand ist ein kleiner ausgefüllter Kreis. Der Endzustand ist ein

nicht-ausgefüllter Kreis mit einem mittig angesetzten ausgefüllten Kreis.

Page 21: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 21/26

Ereignis und Transition

Verwandter Begriff: engl. event

Definition

Ein Ergebnis ist ein beachtendes Vorkommnis, das in einem gegebenen

Kontext eine Bedeutung hat, sich räumlich und zeitlich lokalisieren lässt und das

einen Zustandübergang (Transition) auslöst.

Ein Ereignis kann folgende Ursachen haben:

• Eine (für eine Transition) Bedingung wird erfüllt.

• Das Objekt enthält eine Nachricht.

Page 22: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 22/26

Zustandsdiagramm

Zustand 2

Zustand

Zustandsvariablen

Zustand

Zustandsvariable

ZustandEreignis/Aktions-beschreibung

Zustand

Notation ZustandZustand

Zustands-variablen

Ereignis/Aktions-beschreibung

anonymer Zustand

Startpunkt Endpunkt

Page 23: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 23/26

Notation Transition

Zustand 1 Zustand 2Transition

Page 24: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 24/26

Implementierungsdiagramme

Komponentendiagramm

Verwandte Begriffe: Subsystem, Modul, Paket, Baustein, Anwendungsbaustein

Definition

Eine Komponente ist ein ausführbares Stück Software mit eigener Identität und

definierten Schnittstellen. Es sind Komponentendefinitionen (z.B. “Person“) und

Komponenteninstanzen (z.B. „Martin Muster“) zu unterscheiden.

Komponentendiagramme zeigen Beziehungen der Komponenten untereinander.

UML-Komponenten ähneln den Paketen: Sie definieren Grenzen, sie gruppieren

und gliedern eine Menge einzelner Elemente. Komponenten können über

Schnittstellen verfügen. Komponenten bzw. Komponentendiagramme werden

manchmal benötigt, um Compiler- und Laufzeitabhängigkeiten zu notieren.

Page 25: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 25/26

Einsatz- und Verteilungsdiagramm

Verwandte Begriffe: Knotendiagramm, Konfigurationsdiagramm

Ein Knoten ist ein zur Laufzeit physisch vorhandenes Objekt, das über

Rechenleistung bzw. Speicher verfügt (Prozessor, Peripheriegeräte).

Verteilungsdiagramme zeigen, welche Komponenten und Objekte auf welchen

Knoten laufen (wie konfiguriert und welche Kommunikationsbeziehungen).

Notation

Knoten werden als Quader dargestellt, die miteinander kommunizieren.

Innerhalb des Quaders können optional Komponenten oder Laufzeitobjekte

(Prozesse) platziert werden. Zulässig sind auch Schnittstellen und

Abhängigkeitsbeziehungen.

Page 26: UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg1/26 Komposition Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 26/26

Knoten 2

Knoten 3

Einsatz- und Verteilungsdiagramm

Knoten 1

Komponente

Objekt

Actor