Zweck
|
Schnittstellen dokumentieren, von denen das Subsystem abhängig ist.
|
Wenn ein in einem Subsystem enthaltenes Element Verhalten eines Elements in einem anderen Subsystem verwendet, entsteht
zwischen den Subsystemen eine Abhängigkeit. Um die Wiederverwendung zu verbessern und Verwaltungsabhängigkeiten zu
verringern, können Sie diese Situation mit Hilfe einer Abhängigkeit von einer bestimmten Schnittstelle des Subsystems und nicht vom Subsystemselbst oder von
dem im Subsystem enthaltenen Element beschreiben.
Es gibt zweierlei Gründe:
-
Es soll möglich sein, ein Modellelement (einschließlich seiner Subsysteme) durch ein anderes zu ersetzen, sofern
beide dasselbe Verhalten aufweisen. Das erforderliche Verhalten wird mit Schnittstellen beschrieben. Deshalb
sollten auch alle Verhaltensanforderungen, die ein Modellelement an ein anderes stellt, mit Schnittstellen
beschrieben werden.
-
Der Designer soll völlige Freiheit beim Design des internen Verhaltens des Subsystems haben, sofern das
Subsystem das richtige externe Verhalten erbringt. Wenn ein Modellelement in einem Subsystem auf ein Modellelement
in einem anderen Subsystem verweist, kann der Designer dieses Modellelement nicht mehr entfernen oder das Verhalten
dieses Modellelements auf andere Modellelemente verteilen. Deshalb ist das System labiler.
Vergewissern Sie sich beim Erstellen von Abhängigkeiten, dass keine direkten Abhängigkeiten oder Assoziationen zwischen
Modellelementen im Subsystem und Modellelementen in anderen Subsystemen bestehen. Stellen Sie außerdem sicher, dass es
keine Schleifenabhängigkeiten zwischen Subsystemen und Schnittstellen gibt. Es ist nicht möglich, dass ein Subsystem
eine Schnittstelle realisiert und gleichzeitig von dieser Schnittstelle abhängig ist.
Abhängigkeiten zwischen Subsystemen und zwischen Subsystemen und Paketen können wie gezeigt direkt gezeichnet werden.
Wenn Abhängigkeiten auf diese Weise gezeichnet werden, gibt die Abhängigkeit an, dass ein Subsystem (z. B.
Rechnungsverwaltung) direkt von einem anderen Subsystem (Terminierung von Zahlungen) abhängig ist.
Beispiel für Subsystemschichten mit direkten Abhängigkeiten
Wenn es möglich ist, dass ein Subsystem durch ein anderes (das dieselben Schnittstellen hat) ersetzt wird, kann die
Abhängigkeit zu einer vom Subsystem realisierten Schnittstelle anstatt zum Subsystem selbst gezeichnet werden. Auf
diese Weise kann jedes andere Modellelement (Subsystem oder Klasse), das dieselbe Schnittstelle realisiert, verwendet
werden. Mit Schnittstellenabhängigkeiten können flexible Frameworks mit austauschbaren Designelementen entworfen
werden.
Beispiel für Subsystemschichten mit Schnittstellenabhängigkeiten
|