Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Schnittstelle (UML)

Eine Schnittstelle deklariert eine Liste von Attributen, Operationen und Signalempfängern, die alle öffentliche Sichtbarkeit haben. Die UML2 unterscheidet …

Inhalt6 Abschnitte
  1. 1. Grundidee
  2. 2. Angebotene und benötigte Schnittstellen
  3. 3. Zusicherungen und Anforderungen
  4. 4. Beziehungen im UML-Modell
  5. 5. Darstellung im Diagramm
  6. 6. Änderungen gegenüber UML 1.4

Grundidee

Eine Schnittstelle (englisch interface) ist in der Informatik ein Modellelement der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Sie beschreibt, welche öffentlichen Eigenschaften und Fähigkeiten ein Modellelement nach außen bereitstellt oder von anderen benötigt.

Eine Schnittstelle deklariert eine Liste von Attributen, Operationen und Signalempfängern. Alle diese Elemente haben öffentliche Sichtbarkeit. Eine Operation ist dabei eine ausführbare Funktion oder Methode; ein Attribut ist eine benannte Eigenschaft; ein Signalempfänger beschreibt, dass ein Element bestimmte Signale empfangen kann.

Angebotene und benötigte Schnittstellen

UML2 unterscheidet zwischen angebotenen und benötigten Schnittstellen. Eine angebotene Schnittstelle ist eine Schnittstelle, die ein Classifier realisiert und damit anbietet. Ein Classifier ist ein UML-Element, das Instanzen klassifizieren kann, in der Regel eine Klasse.

Eine benötigte Schnittstelle ist eine Schnittstelle, die ein Classifier braucht, um seine Funktion wahrzunehmen. Der Unterschied ist also: Bei einer angebotenen Schnittstelle verspricht ein Classifier, bestimmte Leistungen bereitzustellen; bei einer benötigten Schnittstelle erwartet er diese Leistungen von einem anderen Classifier.

Zusicherungen und Anforderungen

Wenn ein Classifier eine Schnittstelle anbietet, sichert er zwei Dinge zu: Erstens erklärt er, dass er alle Operationen der Schnittstelle realisiert. Zweitens verspricht er, dass er alle Attribute auf geeignete Art und Weise umsetzt.

Dabei muss der Classifier nicht zwingend genau dieselben Attribute besitzen wie die Schnittstelle. Es reicht aus, wenn er ein Attribut zum Beispiel durch ein Paar von Operationen nachbildet: Eine Operation ermöglicht lesenden Zugriff, die andere schreibenden Zugriff. Solche Operationen werden auch Getter- und Setter-Operationen genannt.

Bei einer benötigten Schnittstelle gelten diese Aussagen nicht als Zusicherung, sondern als Anforderung. Ein Classifier, der eine Schnittstelle benötigt, erwartet, dass ein zweiter Classifier, der diese Schnittstelle realisiert, die Operationen und Attribute auf geeignete Weise bereitstellt.

Beziehungen im UML-Modell

Ob eine Schnittstelle angeboten oder benötigt wird, stellt ein UML-Modell immer als Abhängigkeitsbeziehung zwischen dem Classifier und der Schnittstelle dar.

Bei einer angebotenen Schnittstelle handelt es sich um eine Schnittstellenrealisierungsbeziehung. Bei einer benötigten Schnittstelle handelt es sich um eine Verwendungsbeziehung.

In Klassendiagrammen werden angebotene und benötigte Schnittstellen unterschiedlich dargestellt. Es gibt dafür verschiedene Notationsvarianten. Die zugrunde liegenden Abhängigkeitsbeziehungen werden dabei nicht in jeder Variante ausdrücklich gezeigt.

Darstellung im Diagramm

Eine Schnittstelle wird ähnlich wie eine Klasse durch ein Rechteck dargestellt. Sie wird mit dem Schlüsselwort «interface» markiert.

Für angebotene Schnittstellen nennt der Artikel zwei Darstellungen: die Ball-Notation, auch Lollipop-Notation genannt, und die Darstellung mit einer Schnittstellenrealisierungsbeziehung.

Für benötigte Schnittstellen nennt der Artikel ebenfalls zwei Darstellungen: die Socket-Notation und die Darstellung mit einer Verwendungsbeziehung.

Änderungen gegenüber UML 1.4

Schon in UML 1.4, der Vorgängerversion von UML 2, gab es das Modellelement Schnittstelle. In UML2 wurden die Modellierungsmöglichkeiten jedoch deutlich erweitert.

Schnittstellen können nun auch Attribute und Signalempfänger enthalten. Außerdem können sie über Assoziationen mit anderen Schnittstellen verbunden sein.

Neu in UML2 ist auch die Unterscheidung zwischen angebotener und benötigter Schnittstelle sowie die Socket-Notation für benötigte Schnittstellen.

Lernvideos zu Schnittstelle (UML)

Weiterlesen