„Konnektor (UML)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K typo
Zeile 24: Zeile 24:
[[Bild:Connector-3.png|thumb|left|300px|Beispiel eines [[Kompositionsstrukturdiagramm]]s mit zwei ''Delegationskonnektoren'']]
[[Bild:Connector-3.png|thumb|left|300px|Beispiel eines [[Kompositionsstrukturdiagramm]]s mit zwei ''Delegationskonnektoren'']]
Ein ''Delegationskonnektor'' verbindet einen Port eines Classifiers mit einem Part im Innern des Classifiers. Er steht für die Tatsache, dass Meldungen, die von aussen beim Port eintreffen, an den verbundenen Part weitergeleitet, d.h ''delegiert'' werden.
Ein ''Delegationskonnektor'' verbindet einen Port eines Classifiers mit einem Part im Innern des Classifiers. Er steht für die Tatsache, dass Meldungen, die von aussen beim Port eintreffen, an den verbundenen Part weitergeleitet, d.h ''delegiert'' werden.
In der Abbildung links sind zwei Delegationskonnektoren eingezeichnet. Der eine verbindet den <code>Management Port</code> mit dem Part <code>:Benutzerverwaltung</code>, der andere einen anonymen Port, an dem Email eintreffen, mit dem Part <code>:Meldungsdatenbank</code>.
In der Abbildung links sind zwei Delegationskonnektoren eingezeichnet. Der eine verbindet den <code>Management Port</code> mit dem Part <code>:Benutzerverwaltung</code>, der andere einen anonymen Port, an dem E-Mails eintreffen, mit dem Part <code>:Meldungsdatenbank</code>.


<br clear="both" />
<br clear="both" />

Version vom 22. April 2005, 23:38 Uhr

Ein Konnektor (Connector) ist ein Modellelement in der Unified Modeling Language 2.0 (UML2), einer Modellierungssprache für Software und andere Systeme.

Beschreibung

Ein Konnektor modelliert eine Verbindung zwischen zwei oder mehr verbindbaren Elementen, das heisst Parts, Ports, Parametern und Variabeln. Man beachte, dass in dieser Aufzählung die Modellelemente Klasse, Schnittstelle oder Komponente nicht vorkommen. Daraus ergibt sich der wesentliche Unterschied zwischen Assoziationen und Konnektoren. Konnektoren spezifizieren Verbindungen zwischen Teilen eines Klassifiers, während Assoziationen Verbindungen zwischen den Classifiern selber beschreiben.

Aussagekraft von Konnektoren gegenüber Assoziationen

Das Bedürfnis für das Modellelement Konnektor entstand vor allem deshalb, weil die Modellierung mit Klassen und Assoziationen oft nicht ausreicht, um die innere Struktur eines Systems zu modellieren.

Ein Klassendiagramm, das die innerne Struktur eines Autos spezifiziert. Die nötige Präzision kann nur mit Hilfe von Einschränkungen erreicht werden.

Die Abbildung links zeigt zum Beispiel ein Klassendiagramm, das die innere Struktur eines Autos modellieren soll. Dass ein Auto über zwei Vorderräder und zwei Hinterräder verfügt, ist mit zwei Kompositionsbeziehungen zwischen Auto und Rad dargestellt. Eine weitere Kompositionsbeziehung zeigt, dass jedes Auto einen Motor enthält. Mit Hilfe einer Assoziation ist relativ einfach darstellbar, dass ein Motor zwei Räder antreibt. Ohne zusätzliche Einschränkung auf der Klasse Auto wären gemäss diesem Klassendiagramm jedoch einige degenerierten Konfigurationen von Ausprägungen denkbar. Zum Beispiel könnte ein Motor ein Hinterrad und ein Vorerrad antreiben oder der Motor eines Autos könnte mit zwei Hinterräder eines anderen Autos verbunden sein. Erst die Einschränkung, die mit der Klasse Auto verbunden ist, schliesst diese Fälle aus.

Ein Kompositionsstrukturdiagramm, das die innerne Struktur eines Autos spezifiziert. Ein Konnektor verbindet die Part :Motor und vorderRad.

Die gleiche innere Struktur eines Autos lässt sich mit Hilfe eines Kompositionsstrukturdiagramm darstellen. Die oben beschriebenen degenerierten Fälle können hier nicht auftreten. Ein Konnektor zwischen den Parts :Motor und vorderRad reicht, um die strukturellen Einschränkungen vollständig zu spezifizieren, eine zusätzliche Einschränkung ist nicht nötig.


Kompositions- und Delegationskonnektor

Die UML2 unterscheidet mit dem Kompositions- und dem Delegationskonnektor zwei spezielle Arten von Konnektoren.

Beispiel eines Komponentendiagramm mit zwei Kompositionskonnektoren

Ein Kompositionskonnektor verbindet zwei Ports von zwei Komponenten, die zusammenarbeiten, das heisst zu einer grösseren Einheit komponiert werden. Der Port der einen Komponente muss eine Schnittstelle anbieten, die der Port der anderen Komponente benötigt. Graphisch wird der Kompositionskonnektor nicht als durchgehende Linie zwischen den beiden beteiligten Ports, sondern als zwei ineinandergreifende Symbole für eine angebotene und eine benötigte Schnittstelle dargestellt. In der Abbildung links gibt es zwei Kompositionskonnektor. Der eine verbindet EmailManagement mit MailEingang, der andere EmailManagement mit MailAusgang.

Beispiel eines Kompositionsstrukturdiagramms mit zwei Delegationskonnektoren

Ein Delegationskonnektor verbindet einen Port eines Classifiers mit einem Part im Innern des Classifiers. Er steht für die Tatsache, dass Meldungen, die von aussen beim Port eintreffen, an den verbundenen Part weitergeleitet, d.h delegiert werden. In der Abbildung links sind zwei Delegationskonnektoren eingezeichnet. Der eine verbindet den Management Port mit dem Part :Benutzerverwaltung, der andere einen anonymen Port, an dem E-Mails eintreffen, mit dem Part :Meldungsdatenbank.


Unterschiede zur UML 1.4

Das Modellelement Konnektor wurde in der UML2 neu eingeführt.

Literatur

  • Conrad Bock: UML 2 Composition Model, in Journal of Object Technology, vol. 3, no. 10, November-December 2004, pp. 47-73, [1]