Tipps und Tricks mit UML

Schnittstellen spezifizieren

Nun sollen Ihre Komponenten später nicht in aller Abgeschiedenheit, jede für sich alleine, existieren, sondern müssen als Gesamtsystem zusammenarbeiten. Dafür benötigen sie Schnittstellen, über die Daten und Services ausgetauscht werden. Ziel der dritten Architekturtätigkeit ist es, genau diese Schnittstellen zwischen den Komponenten festzulegen. Prinzipiell unterscheiden wir zwischen „angebotenen“ (engl. provided) und „benötigten“ (engl. required) Schnittstellen. Eine angebotene Schnittstelle stellt Dienste nach außen zur Verfügung, wohingegen eine benötigte Schnittstelle Dienste von außen in Anspruch nimmt. Diese Unterscheidung ist oft nicht einfach zu treffen, da durch diese Unterscheidung keine Aussagen über die Kommunikationsrichtung getroffen werden. Gehen Sie an dieser Stelle intuitiv vor und modellieren Sie das Anbieten von Diensten als angebotene Schnittstelle.

Wie finde ich die Schnittstellen der Komponenten?

Um Schnittstellen zwischen Ihren Komponenten zu finden, nutzen Sie die oben beschriebenen Sequenzdiagramme. Sie haben ja schon mithilfe der Sequenzdiagramme die Interaktionen zwischen den Komponenten definiert. Je genauer diese Interaktionen beschrieben sind, desto leichter ist es nun, die Schnittstellen und ihre Schnittstellenfunktionen zu finden.

Wer realisiert eine Schnittstelle?

Prinzipiell sollte jede Komponente in Ihrer Komponentenhierarchie Schnittstellen besitzen. Eine Komponente, welche keine Schnittstelle nach außen besitzt, sollte Ihnen als Architekt immer zu denken geben.

Bietet eine Komponente auf unterer Ebene eine Schnittstelle an, so kann diese Schnittstelle „nach oben“ delegiert werden, um sie auch in der darüber liegenden Komponentenebene sichtbar zu machen (siehe Abb. 4). In diesem Fall entsteht kein zusätzlicher Aufwand für die übergeordnete Komponente. Anders sieht es aus, wenn eine Komponente mehrere Schnittstellen ihrer Subkomponenten zusammenfasst, also eine Art Fassade bildet. Hier muss auch die darüber liegende Komponente einen Teil der Realisierung übernehmen (siehe Abb. 5).

Abb. 4: Die Darstellung von Schnittstellen mit der UML

Abb. 5: Die Zusammenfassung von Schnittstellen
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.