18.16. Schnittstelle

Eine Schnittstelle ist ein Satz von Operationen, die das Verhalten eines Elementes beschreiben. Sie kann als abstrakte Klasse ohne Attribute und ohne nicht-abstrakte Operationen angesehen werden. Im UML-Metamodell ist sie eine Subklasse von Classifier und dadurch von GeneralizableElement.

Eine Schnittstelle wird in einem Klassendiagramm als Rechteck mit zwei horizontalen Bereichen dargestellt. Der oberste Bereich zeigt den Schnittstellennamen an (und darüber «interface ») und im zweiten Bereich jede Operation. Wie bei der Klasse, kann der Operationsbereich versteckt werden.

18.16.1. Detail-Register Schnittstelle

Die aktiven Detail-Register für eine Schnittstelle sind die folgenden.

Zu-Bearbeiten-Element

Standard-Register.

Eigenschaften

Siehe Abschnitt 18.16.2, „ Eigenschaftssymbolleiste Schnittstelle und Abschnitt 18.16.3, „ Eigenschaftsfelder einer Schnittstelle unten.

Dokumentation

Standard-Register. Siehe Abschnitt 13.4, „ Das Register Dokumentation.

Darstellung

Standard-Register. Das Markierfeld Operationen erlaubt es, den Operationenbereich anzuzeigen (der Standard) oder zu verstecken. Diese Einstellung ist nur für das aktuelle Diagramm gültig. Das Feld Begrenzung definiert die Grenzen der Schnittstelle im Diagramm.

Quellcode

Standard-Register. Enthält ein Template für die Schnittstellendeklaration und der Deklarationen von verbundenen Schnittstellen.

Eigenschaftswerte

Standard-Register. Im UML-Metamodell sind für die Schnittstelle die folgenden Standard- Eigenschaftswerte definiert.

  • persistence (von der Superklasse Classifier). Der Wert transitorygibt an, dass der Zustand zerstört wird, wenn die Instanz zerstört wird, oder persistent, wenn der gekennzeichnete Zustand erhalten bleibt, wenn die Instanz zerstört wird.

    [Warnung]Warnung

    Da Schnittstellen per Definition abstrakt sind, können sie keine Instanz haben. Daher müssen sich diese Eigenschaftswerte sich auf die Eigenschaften der realisierenden Klasse beziehen.

  • semantics (von der Superklasse Classifier). Der Wert ist eine Spezifikation der Semantik der Schnittstelle.

  • derived (von der Superklasse ModelElement). Der Wert true bedeutet, dass die Schnittstelle redundant ist - sie kann formal von anderen Elementen abgeleitet werden, oder false, wenn sie es nicht kann.

    [Anmerkung]Anmerkung

    Abgeleitete Schnittstellen können ihren Wert in der Analyse haben, um nützliche Namen oder Konzepte einzuführen und im Design, um eine Wiederverarbeitung zu verhindern.

[Anmerkung]Anmerkung

Die UML-Metaklasse Element, von der alle anderen Modellelemente abgeleitet werden, beinhaltet den Eigenschaftswert documentation, der in ArgoUML im Register Dokumentation bearbeitet wird.

Checkliste

Standard-Register für eine Schnittstelle.

18.16.2. Eigenschaftssymbolleiste Schnittstelle

Nach oben

Navigiert in der Paketstruktur nach oben.

Neue Operation

Erzeugt innerhalb der Schnittstelle eine neue Operation (siehe Abschnitt 18.8, „ Operation) und springt sofort in das Register Eigenschaften dieser Operation.

Neues Empfangssignal

Erzeugt ein neues Empfangssignal und springt sofort in das Register Eigenschaften dieses Empfangssignals.

Neue Schnittstelle

Erzeugt im gleichen Namensraum wie die markierte Schnittstelle eine neue Schnittstelle und springt sofort in das Register Eigenschaften dieser neuen Schnittstelle.

Neuer Stereotyp

Erzeugt einen neuen Stereotyp (siehe Abschnitt 16.6, „ Stereotyp) für die markierte Schnittstelle und springt sofort in das Register Eigenschaften dieses Stereotyps.

Löschen

Löscht die Schnittstelle aus dem Modell.

[Warnung]Warnung

Dies ist ein Löschen aus dem Modell, nicht nur aus dem Diagramm. Um eine Schnittstelle aus dem Diagramm zu löschen, aber es im Modell zu behalten, verwenden Sie Aus Diagramm entfernen im Hauptmenü (oder drücken Sie die Taste Entf).

18.16.3. Eigenschaftsfelder einer Schnittstelle

Name

Textfeld. Der Name der Schnittstelle. Der Name der Schnittstelle beginnt mit einem Großbuchstaben und besteht aus Wörtern, die durch Groß-/Kleinschreibung voneinander getrennt sind.

[Anmerkung]Anmerkung

Wie bei Klassen werden sich die ArgoUML-Kritiken nicht beschweren, wenn die Schnittstellennamen nicht mit einem Großbuchstaben beginnen.

Stereotyp

Kombinationsfeld. Die Schnittstelle bietet standardmäßig die UML-Standard-Stereotypen für die Eltern-Metaklasse Classifier (metaclass, powertype, process, thread und utility) an.

Stereotyp navigieren

Symbol. Wenn ein Stereotyp markiert wird, navigiert es in das Eigenschaftsfenster Stereotyp (siehe Abschnitt 16.6, „ Stereotyp).

Namensraum

Kombinationsfeld. Nimmt den Namensraum für die Schnittstelle auf und erlaubt deren Änderung. Dies ist die Pakethierarchie.

Modifizierer

Markierfelder mit den Einträgen Abstract, Leaf und Root.

  • Abstract wird verwendet, um zu deklarieren, dass diese Schnittstelle nicht instanziiert werden kann, aber immer spezialisiert werden muss. Der Name einer abstrakten Schnittstelle wird in kursiver Schrift im Diagramm dargestellt.

    [Achtung]Achtung

    Dies ist bedeutungslos, weil die Schnittstelle per Definition eine abstrakte Entität ist. Der UML 1.3- Standard bietet hier keine Erläuterung an.

  • Leaf gibt an, dass diese Schnittstelle nicht weiter spezialisiert werden kann, während Root angibt, dass sie keine Generalisierungen haben kann.

Sichtbarkeit

Auswahlfeld mit den drei Einträgen public, protected, private und package. Gibt an, ob die Navigation zu diesem Ende sein darf durch: i) jeden Klassifizierer; ii) nur den Quellklassifizierer und dessen Kinder; oder iii) nur durch den Quellklassifizierer.

Generalisierungen

Textbereich. Listet jede Schnittstelle auf, die diese Schnittstelle generalisiert.

Ein Taste 1-Doppelklick navigiert zu der Generalisierung und öffnet deren Register Eigenschaften.

Spezialisierungen

Textfeld. Listet alle spezialisierten Schnittstellen auf (z.B. für die diese Schnittstelle eine Generalisierung ist).

Ein Taste 1-Doppelklick navigiert zu der Spezialisierung und öffnet deren Register Eigenschaften.

Assoziationsenden

Textfeld. Listet alle Assoziationsenden auf (siehe Abschnitt 18.13, „ Assoziationsende), die mit dieser Schnittstelle verbunden sind.

[Anmerkung]Anmerkung

Assoziationen zwischen Klassen und Schnittstellen dürfen nur von der Klasse zur Schnittstelle navigierbar sein. ArgoUML wird Assoziationen zwischen Klassen und Schnittstellen mit der korrekten Navigierbarkeit erzeugen, verhindert aber nicht, wenn der Anwender versucht, dies zu ändern.

Ein Taste 1-Doppelklick navigiert zu dem markierten Eintrag.

Operationen

Textbereich. Listet alle Operationen auf (siehe Abschnitt 18.8, „ Operation), die in dieser Schnittstelle definiert sind. Ein Taste 1-Doppelklick navigiert zu der markierten Operation. Ein Taste 2- Klick öffnet ein Popup-Menü mit zwei Einträgen: Nach oben und Nach unten, die ein Ändern der Reihenfolge erlauben.

[Achtung]Achtung

Alle Operationen in einer Schnittstelle müssen public sein. Die ArgoUML-Kritiken werden sich darüber beschweren, wenn dies nicht der Fall ist.