Substitutionsbeziehungen

In UML-Diagrammen stellt eine Substitutionsbeziehung einen Typ einer Abhängigkeit zwischen Klassifikationsmerkmalen dar, die angibt, dass ein Klassifikationsmerkmal ein anderes während der Laufzeit ersetzen kann.

Das Konzept einer Substitutionsabhängigkeit wurde erstmals in den Spezifikationen von UML 2.0 eingeführt. Bei einer Substitution handelt es sich um eine Typrealisierung. Dies bedeutet, dass eine Substitution eine alternative Möglichkeit zur Implementierung eines Klassifikationsmerkmals darstellt. In einer Substitutionsabhängigkeit übernimmt der Client die Position der Supplierklasse.

Eine Substitutionsabhängigkeit kann insbesondere bei der Anpassung von Modellen nützlich sein. Sie können z. B. ein Einzelhandelssystem anpassen, das zum Verkauf von Produktreihen für Sportartikel entworfen wurde, sodass nun Waren aus dem Musik- und Videobereich verkauft werden können. Sie können eine Produktgruppe durch eine andere ersetzen, während das restliche Systemdesign unverändert bleibt.

Damit die Substitution durchgeführt werden kann, muss ein Klassifikationsmerkmal für die Substitution den Vertrag erfüllen, der von dem anderen Klassifikationsmerkmal angegeben wird.

Wie in der folgenden Abbildung gezeigt, wird eine Substitutionsbeziehung im Diagrammeditor als gestrichelte Linie mit einem offenen Pfeil dargestellt, der vom implementierenden Klassifikationsmerkmal zu dem Klassifikationsmerkmal zeigt, das den Vertrag angibt. Das Schlüsselwort «substitution» ist mit einem Connector verbunden.

Eine Klasse mit dem Namen 'Sporting Goods Line', die eine Klasse 'Retail System' implementiert, wird durch eine Klasse 'Music and Video Line' ersetzt.


Feedback