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
Allgemeine Notationselemente (Auswahl)
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. |