Folgende Pfeile werden in UML verwendet:
Klassendiagramme ¶
Vererbung ¶

Die Vererbung ist eines der wichtigsten Prinzipien der objektorientierten Programmierung. Sie zeigt eine "ist ein"-Beziehung an.
Beispiele sind:
Tiger
ist eineGroßkatze
ist eineKatze
ist einRaubtier
ist einTier
.Auto
ist einFortbewegungsmittel
.Auto
ist einLuxusgut
.
Beachte dass Auto
hier sowohl von Luxusgut
, als auch von Fortbewegungsmittel
erbt. Das geht in manchen Programmiersprachen (C++, Python), in anderen nicht (Java).
Assoziation ¶

Die Assoziationzeigt eine Verbindung an, z.B.:
- Person - Termin: Eine Person hat Termine; Termine gehören zu einer Person.
- Lehrer - Schüler: Ein Schüler hat Lehrer; Lehrer haben Schüler.
- Auto - Fahrer: Ein Auto hat einen Fahrer; ein Fahrer hat ein Auto.
In einer Datenbank würde man für diese Relationen eine weitere Tabelle erstellen. Also eine Tabelle für Personen, eine für Termine und eine für Person-Termin-Verknüpfungen.
Aggregation ¶

Die Aggregation ist eine spezielle Assoziation. Sie zeigt eine "hat"-Beziehung an. Dabei ist die Richtung wichtig und sollte angezeigt werden.
Aggregationen sind z.B.:
- PKW hat Räder
- Eltern haben Kinder
- Buchladen hat Bücher
Komposition ¶

Die Komposition zeigt eine notwendige "ist-Teil-von" Beziehung an. Das Teil kann also nicht ohne das Ganze existieren.
Beispiele sind:
- Buch hat Buchseiten (Buchseiten gibt es nicht ohne Buch)
- Rechnung hat Posten (Rechnungsposten gibt es nicht ohne Rechnung)
- Graph hat Knoten (Knoten gibt es nicht ohne Graph)
Weitere ¶
- Die Benutzt-Relation wird als gestrichelter Pfeil mit nicht-ausgefülltem Kopf dargestellt.
- Eine Implementierung wird als gestrichelter Pfeil mit rundem, nicht ausgefülltem Kopf dargestellt.
Objektdiagramme ¶

Sequenzdiagramme ¶
Sequenzdiagramme haben wieder eigene Pfeile.

Der Pfeil mit der ausgefüllten Spitze ist eine Synchrone Nachricht, der gestrichelte mit der nicht-ausgefüllten Spitze ist eine Antwort und der durchgezogenen Pfeil mit der nicht-ausgefüllten Spitze ist eine asynchrone Nachricht. ACHTUNG: In der Vorlesung bei Herrn Prof. Tichy hat die Antwort (Folie 42) auch keinen ausgefüllten Kopf, im gegensatz zu dem hier gezeigtem Bild!