Polymorphismus in UML Kommunikationsdiagrammen

Die Modellierung von Polymorphismus in Sequenzdiagrammen war bereits Thema dieses Blogs. Kommunikationsdiagramme fristen leider in der Praxis ein Schattendasein, zu Unrecht! Dieser Beitrag zeigt anhand eines einfachen Beispiels die Abbildung von Polymorphismus in Kommunikationsdiagrammen.

Zunächst ein Klassendiagramm. Beispielszenario: Die Klasse „Briefkopf“ soll, je nachdem, ob es sich um eine natürliche oder juristische Person handelt, einen passenden Briefkopf erzeugen.

Unterschiedliche Anreden für natürliche und juristische Personen

Unterschiedliche Anreden für natürliche und juristische Personen

Nun der polymorphe Aufruf: Der Briefkopf sendet die Nachricht „getAnrede“ an die Person, und je nachdem, welche konkrete Implementierung diese Nachricht empfängt, wird unterschiedlich darauf reagiert.

Abstrakter Empfang der Nachricht

Abstrakter Empfang der Nachricht

Die konkrete Verarbeitung der Nachricht für eine natürliche Person: Im Sequenzdiagramm wurde die polymorphe Nachricht durch eine „found message“ dargestellt. Im Kommunikationsdiagramm bietet mein UML-Tool keine „found message“ an, deshalb benutze ich einen Actor, um die Aktivierung der konkreten Implementierung zu modellieren. Die Instanz der natürlichen Person empfängt die Nachricht und benutzt das Geschlecht, um eine Anrede zu generieren.

Konkreter Empfang der Nachricht

Konkreter Empfang der Nachricht

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.