UML Kurzreferenz

Die UML ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme. Sie umfasst zwei Definitionsbereiche, Notationen für Strukturen und für Verhalten. Aus den Notationsregeln ergeben sich eine Reihe typischer UML Diagramme.

Zweck der UML Diagramme:

  • Klassendiagramm, zeigt Klassen, deren Struktur und die Beziehung zwischen den Klassen
  • Objektdiagramm, zeigt einen Schnappschuss der Instanzsituation zu einem bestimmten Zeitpunkt
  • Paketdiagramm, ordnet/unterteilt das Modell in Ordner und zeigt die Beziehungen zwischen diesen
  • Komponentendiagramm, unterteilt das System in größere Bausteine und zeigt deren Schnittstellen
  • Kompositionsstrukturdiagramm, zeigt das Innere eines Systembausteins (Komponente)
  • Verteilungsdiagramm, zeigt die Verteilung der Komponenten auf einem konkreten Rechnersystem (Netz)
  • Anwendungsfalldiagramm, zeigt die Kontextsicht/Benutzersicht auf das System, WAS leistet das System
  • Aktivitätsdiagramm, zeigt einen Grobentwurf des Systemverhaltens, WIE erbringt das System eine bestimmte Leistung
  • Zustandsdiagramm, zeigt mögliche Zustände und Zustandwechsel eines Objektes
  • Sequenzdiagramm, zeigt den Feinentwurf eines konkreten Systemverhaltens, Frage: WANN in welcher Reihenfolge passiert etwas
  • Kommunikationsdiagramm, äquivalent zum Sequenzdiagramm, zeigt die Kommunikationspartner , Frage: WER kommuniziert miteinander
  • Zeitverlaufsdiagramm, zeigt Zustände und Zustandswechsel mehrerer Objekte in einem Zeitintervall
  • Interaktionsübersicht, fasst Sequenz- und Zeitverlaufsdiagramme zu einer Übersicht zusammen
Modellierungselement Notation/Darstellung Beschreibung
Classifier Abstraktes Konstrukt im UML-Metamodell zur Beschreibung von mehreren Modellelementen mit gleichen Eigenschaften und Verhalten. Die allgemeine Notation ist ein Rechteck. Im konkreten Kontext wird die Notation ersetzt. Das Rechteck bleibt den bekanntesten Classifier Klassen und Objekt vor-behalten
Comment/Note In einem Kommentar können beliebige Informationen zu einem beliebigen Modell (-element) hinzugefügt werden. Kommentare haben bloßen Informationscharakter und beeinflussen nicht die Semantik eines Modells.
Link Ein Link ist die allgemeinste Ausprägung einer Relation, welche zwei Ausprägungen von Classifiern verbindet. Kommentare werden per Link mit dem zu beschreibenden Element verbunden.
Paket Ein Paket repräsentiert ein Teilmodell oder eine Menge von Modellelementen. In der Regel enthält ein Paket Diagramme mit Modellelementen, Relationen und Kommentaren. Pakete dienen der Modellstrukturierung.
Frame/Fragment Ein Rahmen/Diagramm stellt ausgesuchte Modellelemente aus einer bestimmten Sicht dar. Die UML bietet verschiedene Rahmen zur Modellierung des Systems an. Ein Rahmen umschließt ein Diagramm bzw. einen Diagrammteil. In der linken oberen Ecke befindet sich ein Fünfeck, welches den Namen der Darstellung und weitere diagrammspezifische Informationen enthält.
Constraint { Zusicherung, Merkmal } Eine Einschränkung ist eine Ausdruck der die gültige Ausprägungen der spezifizierten Strukturen oder des spezifizierten Verhaltens regelt. Die UML definiert die formale Sprache OCL, mit der Zusicherungen und Einschränkungen formuliert werden können. Alternativ sind Prosa-Einschränkungen erlaubt
Multiplizität
Kardinalität
0..* keiner, einer oder viele
0..1 keiner oder einer
1..* mindestens einer oder viele
1..1 genau einer
* keiner, einer oder viele
1 genau einer
3..24 mindestens drei höchstens 24
Die Multiplizität beschreibt ein Intervall von erlaubten Kardinalitäten und legt damit die Zahl der möglichen Ausprägungen fest. Kardinalität beschreibt auf Instanzebene die konkrete Anzahl von Ausprägungen
Sichtbarkeit + public
~ package
# protected
- private
Sichtbarkeit regelt den Zugriff auf Elemente wie Struktur und Verhaltensmerkmerkmale z.B.: Attribute und Operationen. Die UML definiert public als für alle Ausprägungen sichtbar, private als nur für eigenen Ausprägungen sichtbar, protected für eigene und abgeleitete Ausprägungen sichtbar, package für alle Elemente innerhalb des eigenen Pakets sichtbar. Die Unterstützung der Sichtbarkeiten ist je nach Programmiersprache unterschiedlich.
Condition [ Bedingung ]Bedingungen formulieren Vor- oder Nachbedingungen von Verhaltensmerkmalen (Aktivitäten, Aktionen, Operationen, Nachrichten). Vorbedingungen beschreiben Bedingungen die vorliegen müssen um z.B.: eine Aktion oder eine Nachricht auszuführen. Eine Nachbedingung beschreibt die Bedingung, die nach dem Ende der Verhaltensausführung herrscht.
Sterotyp «stereotyp» Ein Stereotyp ist ein Beschreibungsmechanismus, der zu bestehenden Sprachkonstrukten präzisierende, ergänzende oder verändernde Aussagen über Modellelemente macht. Stereotypen erweitern das UML-Metamodell. Stereotypen sind auf spezifische Probleme zugeschnitten.
Typ :Typ Typen werden in der UML durch einen Doppelpunkt angekündigt. Klassen sind Typen.
Instanz/statisch StatischesElement Statische Elemente sind dem Wesen nach Instanzen und werden in der UML unterstrichen dargestellt
abstrakt AbstraktesElement Ein Element von dem keine Instanzen erzeugt werden können, bezeichnet man als abstrakt. Abstrakte Elemente werden in der UML mit der Constraint {abstarkt} versehen beziehungsweise kursiv geschrieben.
Artefakt...Ein Artefakt stellt eine physische Informationseinheit dar (z. B. ein Modell, Quellcode, Tabelle, Dokument, …).
Port,
Parameter
...Ein Port spezifiziert Kommunikationsschnittstellen eines Classifiers mit seiner Umgebung oder als Parameter die Datenübergabe (Objektfluss) zwischen Verhaltensmerkmalen. Die Darstellung erfolgt durch ein Quadrat auf der Umrandung des Elementes. Ports werden mit Name und ggf. Typ beschriftet.
Modellierungselement Notation/Darstellung Beschreibung
Klasse Eine Klasse ist ein abstrahierter Sammelbegriff für eine Menge gleichartiger Objekte, die über gemeinsame Struktur-, Verhaltensmerkmale, Einschränkungen und Semantik verfügen. Klassen werden detailliert mit der Liste ihrer Strukturmerkmale (Attribute) und Verhaltensmerkmale (Operationen) dargestellt.
Instanz / Objekt Ausprägung; Instanz; Exemplar, Objekte sind die Elemente eines Systeme. Sie werden durch Struktur- und Verhaltensmerkmale charakterisiert. Sie besitzen eine Identität und befinden sich in definierten Zuständen. Instanzen werden in der UML durch unterstreichen gekennzeichnet. In Ausprägungen können Eigenschaftswerte mit konkreten Inhalten versehen werden.
Interface / SchnittstelleEine Schnittselle ist eine oder eine Menge von Operationen, die das Verhalten eines Elementes spezifiziert; sie beschreibt einen Teil des extern sichtbaren Verhaltens von Modellelementen und Systemen. Die Kommunikation zwischen Systemen und Komponenten erfolgt über Schnittstellen. Die Schnittstelle ist daher das Basiselement der Systemintegration. Über eine Schnittstelle schickt ein Sender Informationen an einen Empfänger. Schnittstellen sind Vereinbarungen zwischen Komponenten welche die Anforderungen an die Schnittstellen spezifizieren und den Komponenten welche die Anforderungen realisieren.
AssoziationEine Assoziation beschreibt eine Beziehung zwischen Classifiern. Dabei wird in der Regel eine Bekannt-, Benutz-, Benötig-Beziehung ausgedrückt. Die allgemeine Notation einer Assoziation ist eine Volllinie.
Navigation...Navigation gibt die Richtung einer Beziehung an. Dabei handelt es sich um eine Einschränkung. Wird keine Navigation angegeben wird die Richtung als bidirektional angenommen. Das navigierbare Ende erhält einen offen Pfeil. Das nicht navigierbare Ende kann optional mit einem Verbotskreuz versehen werden (explizit nicht navigierbar).
Aggregartion ... Eine spezielle Assoziation, die eine Teil/Ganzes - Beziehung ausdrückt. Das Ganze besteht aus seinen Teilen. Im Unterschied zur Komposition kann das Teil auch selbständig existieren.
Komposition ... Eine spezielle Assoziation, die eine existenzielle Teil/Ganzes - Beziehung ausdrückt. Das Teil kann nicht ohne Zerstörung vom Ganzen getrennt werden.
Vererbung,
Generalisierung,
Spezialisierung
...Ein Mittel zur Abstraktion durch Verallgemeinerung von einem speziellen zu einem allgemeineren Element. Vererbung ist ein Konzept für die Umsetzung einer Relation zwischen einer Ober- und einer Unterklasse (Basisklasse, Ableitung), wodurch Unterklassen die Struktur- und Verhaltensmerkmale ihrer Basisklasse mitbenutzen können (erben).
Realisierung...Eine Realisierung ist eine Beziehung zwischen einem Element, das eine Anforderung/Vorschrift beschreibt, und einem Element, das diese Anforderungen umsetzt. Schnittstellen werden zum Beispiel realisiert.
Abhängigkeit,
Dependency
Eine Abhängigkeitsbeziehung zwischen Modellelementen dokumentiert strukturelle oder semantische Abhängigkeiten. In Bezug auf die Codegenerierung liegt eine Übersetzungsabhängigkeit vor.
KomponenteEine Komponente ist ein physikalischer oder logischer Bestandteil eines Systems. Komponenten stellen abgegrenztes und über klar definierte Schnittstellen zugreifbares Verhalten bereit. Die Realisierung der Komponente ist dabei gekapselt.
Modellierungselement Notation/Darstellung Beschreibung
Anwendungsfall Ein Anwendungsfall beschreibt eine Menge von Aktionen, die schrittweise ausgeführt werden und ein spezielles Verhalten formen. Dieses Verhalten wird durch einen Classifier, Subjekt, System realisiert, der dazu mit Akteuren interagiert.
AkteurEin Akteur stellt eine Rolle dar, welche mit dem System interagiert. Ein Akteur kann eine natürliche Person, aber auch ein Gerät, ein Zeitereignis o.a. sein.
Verarbeitungsknoten
Node
Ein Knoten repräsentiert eine Ressource, die zum Beispiel zur Installation, Konfiguration, Bereitstellung und Ausführung von Artefakten genutzt werden kann. Damit sind in der Regel Hardwareresourcen zum Beispiel Server oder ein Client gemeint. Im Anwnedungsfalldiagramm werden externe Systeme die als Akteure auftreten als Knoten notiert.
Aktion,
Aktivität
Eine Aktion ist ein Einzelschritt in einer Aktivität, beispielsweise ein Verhaltensaufruf oder die Bearbeitung von Daten. Eine Aktivität repräsentiert das gesamte Aktivitätsmodell aus Aktionen, Kanten und anderen Elementen des Aktivitätsdiagramms.
ZustandRepräsentiert einen bestimmten Objektzustand durch eine endliche Menge konkreter Eigenschaftswerte (Zustandsattribute). Einem Zustand sind Aktivitäten zuzuordnen z.B.: entry, do, exit
StartknotenEin Startknoten aktiviert Abläufe. Diese Aufgabe kann aber auch von Akteuren, Signalen oder Triggern übernommen werden. Startknoten besitzen nur ausgehende Kanten mit AND-Semantik.
Endknoten Ein Endknoten beendet Abläufe und besitzt nur eingehende Kanten. Spezielle Endknoten sind der Endknoten für gesamte Aktivitäten und der Endknoten für einzene Kontrollflüsse. Endknoten besitzen OR-Semantik.
ZerstörenStellt das Zerstören einer Instanz (Objekt) dar (Ende der Lifeline).
Nachricht,
Antwort,
Transition
Eine Nachricht repräsentiert den Kommunikationsfluss zwischen Teilnehmern in einer Interaktion; siehe auch Steuerfluss und Objektfluss. Eine Transition repräsentiert einen Übergang von einem Zustand zum nächsten. Bei einer asynchronen Nachricht wartet der Sender nicht auf eine Antwort des Empfängers, sondern setzt unmittelbar nach dem Sendeereignis seine Abarbeitung (nebenläufig) fort. Bei einer synchronen Nachricht wartet der Sender auf eine Antwort des Empfängers, bevor er seine Abarbeitung fortsetzt. Eine Antwortnachricht wird zur Rückgabe von Ergebnissen als Antwort auf eine gesendete, synchrone Nachricht verwendet.
Entscheidung   Eine Entscheidung ist eine Verzweigung, bei der die Auswahl der auszuführenden Transition von dem Ergebnis der bis dahin bereits getätigten Aktionen abhängt. Die Entscheidung besitzt XOR-Semantik.
Zusammenführung Zusammenführung alternativer Kontroll- oder Objektflüsse. Dieses Element besitzt OR-Semantik.
Gabelung,\\Splitting,
Fork
Gabelungen werden in Zustandsautomaten und Aktivitätsmodellen verwendet, um eine eingehende Transition auf mehrere parallele Transitionen aufzuteilen. Eine Gabelung ist ein Pseudozustand und besitzt AND-Semantik.
Synchronisation,
Join
Zusammenführung und Synchronisation nebenläufiger Kontroll- und Objektflüsse. Die weitere Abarbeitung erfolgt nach Eingang aller nebenläufiger Kontrollflüsse. Dieses Element besitzt AND-Semantik.
Lebenslinie,
Ausführungsfokus
Die Lebenslinie repräsentiert einen Teilnehmer (Kommunikationspartner) in einer Interaktion. Die gestrichelte Linie zeigt die Dauer der Verfügbarkeit (lifeline) des Teilnehmers. Der Ausführungsfokus (Balken auf der Lifeline) repräsentiert die Ausführungsdauer einer Operation aufgrund einer Nachricht.