„Konnektor (UML)“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Aka (Diskussion | Beiträge) K →Literatur: Halbgeviertstrich | Weblinks im Text |
Aka (Diskussion | Beiträge) K →Literatur: https |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Ein '''Konnektor''' (engl. ''Connector'') ist ein Modellelement in der [[Unified Modeling Language]] (UML), einer Modellierungssprache für [[Software]] und andere Systeme. |
Ein '''Konnektor''' (engl. ''Connector'') ist ein Modellelement in der [[Unified Modeling Language]] (UML), einer Modellierungssprache für [[Software]] und andere Systeme. |
||
Ein Konnektor modelliert eine Verbindung zwischen zwei oder mehr ''verbindbaren Elementen'', das heißt [[Part (UML2)|Part]]s, [[Port (UML)|Port]]s, [[Parameter (UML2)|Parameter]]n und [[Variable (UML2)|Variable]]n. Man beachte, dass in dieser Aufzählung die Modellelemente [[Klasse (UML)|Klasse]], [[Schnittstelle (UML)|Schnittstelle]] oder [[Komponente (UML)|Komponente]] nicht vorkommen. Daraus ergibt sich der wesentliche Unterschied zwischen [[Assoziation (UML)|Assoziation]]en und Konnektoren. Konnektoren spezifizieren Verbindungen zwischen Teilen eines [[Classifier (UML) | Classifiers]], während Assoziationen Verbindungen zwischen den Classifiern selbst beschreiben. |
Ein Konnektor modelliert eine Verbindung zwischen zwei oder mehr ''verbindbaren Elementen'', das heißt [[Part (UML2)|Part]]s, [[Port (UML)|Port]]s, [[Parameter (UML2)|Parameter]]n und [[Variable (UML2)|Variable]]n. Man beachte, dass in dieser Aufzählung die Modellelemente [[Klasse (UML)|Klasse]], [[Schnittstelle (UML)|Schnittstelle]] oder [[Komponente (UML)|Komponente]] nicht vorkommen. Daraus ergibt sich der wesentliche Unterschied zwischen [[Assoziation (UML)|Assoziation]]en und Konnektoren. Konnektoren spezifizieren Verbindungen zwischen Teilen eines [[Classifier (UML) | Classifiers]], während Assoziationen Verbindungen zwischen den Classifiern selbst beschreiben. |
||
== Aussagekraft von Konnektoren gegenüber Assoziationen == |
== Aussagekraft von Konnektoren gegenüber Assoziationen == |
||
Das Bedürfnis für das Modellelement Konnektor ergibt sich vor allem aus dem Schwachpunkt, dass die Modellierung mit Klassen und Assoziationen oft nicht ausreicht, um die innere Struktur eines Systems darzustellen. |
Das Bedürfnis für das Modellelement Konnektor ergibt sich vor allem aus dem Schwachpunkt, dass die Modellierung mit Klassen und Assoziationen oft nicht ausreicht, um die innere Struktur eines Systems darzustellen. |
||
Zeile 10: | Zeile 10: | ||
{{Absatz}} |
{{Absatz}} |
||
[[Bild:Connector-2.png|mini|links|350px|Ein [[Kompositionsstrukturdiagramm]], das die innere Struktur eines Autos spezifiziert. Ein Konnektor verbindet die [[Part (UML2)|Part]] <code>:Motor</code> und <code>vorderRad</code>.]] |
[[Bild:Connector-2.png|mini|links|350px|Ein [[Kompositionsstrukturdiagramm]], das die innere Struktur eines Autos spezifiziert. Ein Konnektor verbindet die [[Part (UML2)|Part]] <code>:Motor</code> und <code>vorderRad</code>.]] |
||
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 [[Part (UML2)|Part]]s <code>:Motor</code> und <code>vorderRad</code> reicht aus, um die strukturellen Einschränkungen vollständig zu spezifizieren, eine zusätzliche Einschränkung ist nicht nötig. |
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 [[Part (UML2)|Part]]s <code>:Motor</code> und <code>vorderRad</code> reicht aus, um die strukturellen Einschränkungen vollständig zu spezifizieren, eine zusätzliche Einschränkung ist nicht nötig. |
||
{{Absatz}} |
{{Absatz}} |
||
Zeile 17: | Zeile 17: | ||
[[Datei:Connector-4.png|mini|links|300px|Beispiel eines [[Komponentendiagramm]] mit zwei ''Kompositionskonnektoren'']] |
[[Datei:Connector-4.png|mini|links|300px|Beispiel eines [[Komponentendiagramm]] mit zwei ''Kompositionskonnektoren'']] |
||
Ein ''Kompositionskonnektor'' verbindet zwei Ports von zwei [[Komponente (UML)|Komponente]]n, die zusammenarbeiten, das heißt zu einer größeren 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. |
Ein ''Kompositionskonnektor'' verbindet zwei Ports von zwei [[Komponente (UML)|Komponente]]n, die zusammenarbeiten, das heißt zu einer größeren 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 Kompositionskonnektoren. Der eine verbindet <code>EmailManagement</code> mit <code>MailEingang</code>, der andere <code>EmailManagement</code> mit <code>MailAusgang</code>. |
In der Abbildung links gibt es zwei Kompositionskonnektoren. Der eine verbindet <code>EmailManagement</code> mit <code>MailEingang</code>, der andere <code>EmailManagement</code> mit <code>MailAusgang</code>. |
||
{{Absatz}} |
{{Absatz}} |
||
[[Datei:Connector-3.png|mini|links|300px|Beispiel eines [[Kompositionsstrukturdiagramm]]s mit zwei ''Delegationskonnektoren'']] |
[[Datei:Connector-3.png|mini|links|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 außen 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 außen 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 E-Mails 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>. |
||
{{Absatz}} |
{{Absatz}} |
||
== Unterschiede zur UML 1.4 == |
== Unterschiede zur UML 1.4 == |
||
Das Modellelement Konnektor wurde in der UML2 neu eingeführt. |
Das Modellelement Konnektor wurde in der UML2 neu eingeführt. |
||
== Literatur == |
== Literatur == |
||
* Christoph Kecher: ''UML 2.0 |
* Christoph Kecher: ''UML 2.0 – Das umfassende Handbuch.'' Galileo Computing, 2005, ISBN 3-89842-573-8 |
||
* Conrad Bock: ''UML 2 Composition Model''. in Journal of Object Technology, vol. 3, no. 10, November-December 2004, pp. 47–73, ([ |
* Conrad Bock: ''UML 2 Composition Model''. in Journal of Object Technology, vol. 3, no. 10, November-December 2004, pp. 47–73, ([https://www.jot.fm/issues/issue_2004_11/column5/ Online]) |
||
[[Kategorie:UML-Spracheinheit]] |
[[Kategorie:UML-Spracheinheit]] |
Aktuelle Version vom 15. April 2023, 17:26 Uhr
Ein Konnektor (engl. Connector) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme.
Ein Konnektor modelliert eine Verbindung zwischen zwei oder mehr verbindbaren Elementen, das heißt Parts, Ports, Parametern und Variablen. 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 Classifiers, während Assoziationen Verbindungen zwischen den Classifiern selbst beschreiben.
Aussagekraft von Konnektoren gegenüber Assoziationen
[Bearbeiten | Quelltext bearbeiten]Das Bedürfnis für das Modellelement Konnektor ergibt sich vor allem aus dem Schwachpunkt, dass die Modellierung mit Klassen und Assoziationen oft nicht ausreicht, um die innere Struktur eines Systems darzustellen.
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äß diesem Klassendiagramm jedoch einige degenerierte Konfigurationen von Ausprägungen denkbar. Zum Beispiel könnte ein Motor ein Hinterrad und ein Vorderrad antreiben. Der Motor eines Autos könnte zudem mit zwei Hinterrädern eines anderen Autos verbunden sein. Erst die Einschränkung, die mit der Klasse Auto
verbunden ist, schließt diese Fälle aus.
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 aus, um die strukturellen Einschränkungen vollständig zu spezifizieren, eine zusätzliche Einschränkung ist nicht nötig.
Kompositions- und Delegationskonnektor
[Bearbeiten | Quelltext bearbeiten]Die UML2 unterscheidet mit dem Kompositions- und dem Delegationskonnektor zwei spezielle Arten von Konnektoren.
Ein Kompositionskonnektor verbindet zwei Ports von zwei Komponenten, die zusammenarbeiten, das heißt zu einer größeren 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 Kompositionskonnektoren. Der eine verbindet EmailManagement
mit MailEingang
, der andere EmailManagement
mit MailAusgang
.
Ein Delegationskonnektor verbindet einen Port eines Classifiers mit einem Part im Innern des Classifiers. Er steht für die Tatsache, dass Meldungen, die von außen 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
[Bearbeiten | Quelltext bearbeiten]Das Modellelement Konnektor wurde in der UML2 neu eingeführt.
Literatur
[Bearbeiten | Quelltext bearbeiten]- Christoph Kecher: UML 2.0 – Das umfassende Handbuch. Galileo Computing, 2005, ISBN 3-89842-573-8
- Conrad Bock: UML 2 Composition Model. in Journal of Object Technology, vol. 3, no. 10, November-December 2004, pp. 47–73, (Online)