Post on 05-Apr-2015
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 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.
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.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/26
Vererbung
Realisierungsbeziehung
Assoziation
Gerichtete Assoziation
Aggregation
Komposition
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.
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.
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
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
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
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.
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]
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.
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.
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()
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.
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.
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
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
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.
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.
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.
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
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 23/26
Notation Transition
Zustand 1 Zustand 2Transition
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.
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.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 26/26
Knoten 2
Knoten 3
Einsatz- und Verteilungsdiagramm
Knoten 1
Komponente
Objekt
Actor