-
Geben Sie der Schnittstellen einen Namen, der die Rolle widerspiegelt, die die Schnittstelle im System einnimmt.
-
Der Name sollte kurz sein und maximal aus 1 bis 2 Wörtern bestehen.
-
Verwenden Sie für den Namen nicht das Wort "interface". Dass es sich um eine Schnittstelle (engl. Interface)
handelt geht aus dem Typ des Modellelements (z. B. interface) hervor.
-
Die Beschreibung sollte die Zuständigkeiten der Schnittstelle vermitteln.
-
Die Beschreibung sollte aus mehreren Sätze (bis hin zu einem kleinen Abschnitt) bestehen.
-
Die Beschreibung sollte nicht einfach den Namen der Schnittstelle wiederholen, sondern Aufschluss über die Rolle
der Schnittstelle im System geben.
-
Operationsnamen sollten das Ergebnis der Operation widerspiegeln.
-
Wenn eine Operation Informationen festlegt (engl. set) oder abruft (eng. get), ist das Einfügen von
set oder get in den Namen der Operation redundant. Verwenden Sie als Operationsnamen die Eigenschaft
des Modellelements, das festgelegt oder abgerufen wird. Eine so benannte Operation ohne Parameter ruft die
Eigenschaft ab. Eine so benannte Operation mit einem Parameter legt die Eigenschaft fest.
Beispiel
name() gibt den Namen des Objekts zurück. name(aString) legt den Namen des Objekts mit
eineZeichenfolge fest.
-
Die Beschreibung der Operation sollte enthalten, was die Operation tut, welche Schlüsselalgorithmen
verwendet werden und welchen Wert sie zurückgibt.
-
Benennen Sie die Parameter der Operation, um anzuzeigen, welche Informationen an die Operation übergeben werden.
-
Geben Sie den Typ des Parameters an.
Das von der Schnittstelle definierte Verhalten wird mit Operationen angegeben. Zusätzliche Informationen können
vermittelt werden, z. B.:
-
Wie die Operationen verwendet werden und in welcher Reihenfolge sie ausgeführt werden (veranschaulicht durch
Beispielablaufdiagramme).
-
Die möglichen extern sichtbaren Zustände, die ein Modellelement, das die Schnittstelle realisiert, annehmen kann
(veranschaulicht durch eine Zustandsmaschine, siehe Richtlinie: Zustandsdiagramm).
-
Testpläne und Testscripts, die das Verhalten aller Modellelement testen, die die Schnittstelle realisieren.
Zur Gruppierung und Verwaltung dieser Informationen sollte ein Paket erstellt werden, das die Schnittstelle und alle
zugehörigen Arbeitsergebnisse enthält.
Jede Schnittstelle stellt eine 'Naht' im System dar, eine Stelle, an der das System "auseinander gebrochen" und erneut
erstellt oder neu gestaltet werden kann. Schnittstellen stellen die Trennung zwischen Spezifikation und Design bzw.
Implementierung dar. Klar strukturierte Schnittstellen zeichnen sich durch Folgendes aus:
-
Sie sind einfach und doch vollständig mit allen erforderlichen Operationen und können einen einzelnen Service
ausreichend festlegen.
-
Sie sind verständlich und enthalten genügend Informationen, um die Schnittstelle verwenden und realisieren zu
können, ohne eine vorhandene Verwendung oder Implementierung untersuchen zu müssen.
-
Sie sind zugänglich und liefern genügend Informationen, um den Benutzer zu den Schlüsseleigenschaften zu führen,
ohne ihn mit Details zu den Operationen zu überfluten.
Berücksichtigen Sie bei der Erstellung einer Schnittstelle Folgendes:
-
Verwenden Sie die "Lollipop"-Notation, wenn Sie lediglich die Existenz einer "Naht" im System aufzeigen möchten.
Diese Technik wird größtenteils für Subsysteme und nicht für Klassen benötigt.
-
Verwenden Sie die erweiterte "Klassennotation", wenn Sie die Details des Service selbst beschreiben müssen. Diese
Technik wird am häufigsten benötigt, um die von einem Paket oder Subsystem angebotenen Services festzulegen.
|