Schnittstelle (UML)

Schnittstelle (UML)

Eine Schnittstelle (engl. interface) ist in der Informatik ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme.

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

Die UML2 unterscheidet zwischen angebotenen und benötigten Schnittstellen. Eine angebotene Schnittstelle ist eine Schnittstelle, die ein Classifier realisiert und damit anbietet. Eine benötigte Schnittstelle ist eine Schnittstelle, die ein Classifier benötigt, um seine Funktion wahrzunehmen.

Wenn ein Classifier eine Schnittstelle anbietet, dann sichert er damit zwei Dinge zu. Erstens deklariert er, dass er alle Operationen der Schnittstelle realisiert und zweitens verspricht er, dass er alle Attribute auf eine geeignete Art und Weise umsetzt. Dass er dabei über genau die gleichen Attribute wie die Schnittstelle verfügen muss, ist nicht zwingend. Es reicht aus, dass der Classifier ein Attribut zum Beispiel mit einem Paar von Operationen nachbildet, wobei die eine Operation den lesenden und die andere den schreibenden Zugriff auf das Attribute simuliert. Man spricht in diesem Zusammenhang auch von einem Paar von Setter- und Getter-Operationen.

Im Fall einer benötigten Schnittstelle gelten diese Aussagen sinngemäß nicht als Zusicherung sondern als Anforderung. Ein Classifier, der eine Schnittstelle benötigt, erwartet, dass die Operationen und Attribute auf geeignete Art und Weise durch einen zweiten Classifier, der die Schnittstelle realisiert, zur Verfügung gestellt werden.

Dass eine Schnittstelle eine angebotene oder eine benötigte Schnittstelle eines Classifiers ist, stellt ein UML-Modell immer als Abhängigkeitsbeziehung zwischen dem Classifier und der Schnittstelle dar. Im Fall der angebotenen Schnittstelle handelt es sich um eine Schnittstellenrealisierungsbeziehung, bei einer benötigten Schnittstelle um eine Verwendungsbeziehung. Die beiden Arten von Schnittstellen werden in einen Klassendiagramm unterschiedlich und in verschiedenen Varianten dargestellt, wobei die zugrunde liegenden Abhängigkeitsbeziehungen nicht jeder Notationsvariante explizit ausgewiesen wird (siehe nächster Abschnitt).

Notation

Eine Schnittstelle wird ähnlich wie eine Klasse mit einem Rechteck dargestellt. Blaue Texte sind erläuternde Kommentare und gehören nicht zur Notation der UML2.

Eine Schnittstelle wird mit dem Schlüsselwort <<interface>> markiert


Die beiden folgenden Abbildungen zeigen zwei Möglichkeiten für die Darstellung von angebotenen Schnittstellen.

Angebotene Schnittstelle, dargestellt mit Ball-Notation (auch Lollipop-Notation)
Angebotene Schnittstelle, dargestellt mit einer Schnittstellenrealisierungsbeziehung


Die beiden folgenden Abbildungen zeigen zwei Möglichkeiten für die Darstellung von benötigten Schnittstellen.

Benötigte Schnittstelle, dargestellt mit Socket-Notation
Benötigte Schnittstelle, dargestellt mit einer Verwendungsbeziehung


Unterschiede zur UML 1.4

In der UML 1.4, der Vorgängerversion von UML2, gab es ebenfalls ein Modellelement Schnittstelle. Die Möglichkeiten zur Modellierung wurden in der UML2 jedoch wesentlich erweitert. Nun können Schnittstellen auch Attribute und Signalempfänger enthalten sowie über Assoziationen mit anderen Schnittstellen verbunden sein.

Neu ist auch die Unterscheidung in angebotene und benötigte Schnittstelle sowie die Socket-Notation für benötigte Schnittstelle.

Siehe auch


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • UML — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Kritik (vgl. engl. Artikel); Bedeutung der UML; aktueller Stand (November 2007 wurde Version 2.1.2 vorgelegt, wie wurde sie aufgenommen?) Du kannst Wikipedia helfen, indem… …   Deutsch Wikipedia

  • Aggregation (UML) — Eine Assoziation (engl. association) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Beispiel für eine binäre Assoziation Eine Assoziation beschreibt eine Beziehung… …   Deutsch Wikipedia

  • Komposition (UML) — Eine Assoziation (engl. association) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Beispiel für eine binäre Assoziation Eine Assoziation beschreibt eine Beziehung… …   Deutsch Wikipedia

  • PC-Schnittstelle — Die Schnittstelle oder das Interface [ˈɪntɚfeɪs] (englisch „Grenzfläche“) ist der Teil eines Systems, der der Kommunikation dient. Der Begriff stammt ursprünglich aus der Naturwissenschaft und bezeichnet die physikalische Phasengrenze zweier… …   Deutsch Wikipedia

  • Komponente (UML) — Eine Komponente (engl. Component) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Inhaltsverzeichnis 1 Beschreibung 2 Black Box Sicht einer Komponente 3 White Box Sicht… …   Deutsch Wikipedia

  • Konnektor (UML) — Ein Konnektor (engl. Connector) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Ein Konnektor modelliert eine Verbindung zwischen zwei oder mehr verbindbaren Elementen, das …   Deutsch Wikipedia

  • Port (UML) — Ein Port (engl. Port) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Ein Port ist ein strukturelles Merkmal eines Classifiers und spezifiziert eine Art Tor, das eine… …   Deutsch Wikipedia

  • Zustandsautomat (UML) — Strukturdiagramme der UML Klassendiagramm Komponentendiagramm Kompositionsstrukturdiagramm Objektdiagramm Paketdiagramm Verteilungsdiagramm Verhaltensdiagramme der UML …   Deutsch Wikipedia

  • Innovator (UML-Werkzeug) — Innovator Entwickler: MID GmbH Aktuelle Version: 10.0.3 (19. Oktober 2008) Betriebssystem: ab Windows 2000, ab SuSE Linux 10.3, ab Solaris 8, (Red Hat auf Anfrage) Kategorie: UML Werkzeug …   Deutsch Wikipedia

  • Zustandsdiagramm (UML) — Strukturdiagramme der UML Klassendiagramm Komponentendiagramm Kompositionsstrukturdiagramm Objektdiagramm Paketdiagramm Profildiagramm Verteilungsdiagramm Verhaltensdiagramme der UML …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”