<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Komponente_%28UML%29</id>
	<title>Komponente (UML) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Komponente_%28UML%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Komponente_(UML)&amp;action=history"/>
	<updated>2026-06-07T05:19:35Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Komponente_(UML)&amp;diff=304181&amp;oldid=prev</id>
		<title>imported&gt;Darkking3: m</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Komponente_(UML)&amp;diff=304181&amp;oldid=prev"/>
		<updated>2026-03-16T14:57:54Z</updated>

		<summary type="html">&lt;p&gt;m&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen}}&lt;br /&gt;
Eine &amp;#039;&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039;&amp;#039; ({{enS|Component}}) ist ein Modellelement in der [[Unified Modeling Language]] (UML), einer Modellierungssprache für [[Software]] und andere Systeme.&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
Komponenten sind modulare Teile eines Systems, die so strukturiert sind, dass sie in ihrer Umgebung durch eine andere, äquivalente Komponente ersetzt werden könnten. In der Softwareentwicklung heißt das entsprechende Konzept [[Softwarekomponente]]. Modelliert man komponentenbasierte Systeme mit der UML2, dann steht das Modellelement &amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039; für ein derartiges abgeschlossenes Modul.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Komponente&amp;#039;&amp;#039; ist eine [[Generalisierung (UML)|Spezialisierung]] von [[Klasse (UML)|Klasse]], und sie kann deshalb [[Merkmal (UML)|Strukturmerkmale]] wie [[Attribut (UML)|Attribute]] oder [[Operation (UML)|Operationen]] haben, an [[Generalisierung (UML)|Generalisierungen]] teilnehmen und über [[Assoziation (UML)|Assoziationen]] mit anderen Komponenten in Beziehung gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Component-1.png|mini|200px|Beispiel für die graphische Darstellung einer Komponente]]&lt;br /&gt;
Diese Eigenschaften einer Komponente treten jedoch gegenüber einem anderen Merkmal etwas in den Hintergrund. Wichtig ist vor allem, dass eine Komponente als Modul eine innere Struktur gegen außen abschottet und dafür gegen außen eine Hülle mit wohldefinierten Andockstellen anbietet. Als Konsequenz ergeben sich daraus je nach Standpunkt zwei Sichten auf eine Komponente, eine &amp;#039;&amp;#039;Black-Box&amp;#039;&amp;#039;-Sicht, die nur den Rand zeigt, und eine &amp;#039;&amp;#039;White-Box&amp;#039;&amp;#039;-Sicht, die auch die innere Struktur zeigt.&lt;br /&gt;
&lt;br /&gt;
Die Andockstellen einer Komponente bestehen aus einer Menge von angebotenen und erforderlichen [[Schnittstelle (UML)|Schnittstellen]] sowie allenfalls aus einer Menge von [[Port (UML)|Ports]].&lt;br /&gt;
&lt;br /&gt;
Eine Komponente wird ähnlich wie eine Klasse als Rechteck mit einem Namen gezeichnet. Das Schlüsselwort &amp;lt;code&amp;gt;«component»&amp;lt;/code&amp;gt; sowie optional ein Symbol in der rechten oberen Ecke unterscheiden die Notation einer Komponente von jener einer Klasse.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Black-Box-Sicht einer Komponente ==&lt;br /&gt;
[[Datei:Component-2.png|mini|300px|Beispiel einer Komponente mit drei angebotenen und einer benötigten [[Schnittstelle (UML)|Schnittstelle]]]]&lt;br /&gt;
&lt;br /&gt;
Die Black-Box-Sicht einer Komponente zeigt den Rand der Komponente und die Schnittstellen, die die Komponente gegen außen anbietet bzw. die sie von anderen Komponenten beziehen muss. Graphisch können alle Möglichkeiten für die Notation von Schnittstellen verwendet werden (siehe [[Schnittstelle (UML)|Schnittstelle]]). Das Beispiel rechts zeigt angebotene Schnittstellen als &amp;#039;&amp;#039;Lollipops&amp;#039;&amp;#039; und benötigte als &amp;#039;&amp;#039;Socket&amp;#039;&amp;#039;. Möglich wäre auch die Darstellung in Classifier-Form und eine [[Abhängigkeitsbeziehung]] zwischen der Schnittstelle und der Komponente.&lt;br /&gt;
&lt;br /&gt;
Das Beispiel rechts verwendet weiter zwei [[Port (UML)|Ports]] für die Spezifikation der Komponentenhüllen. Einer davon, &amp;lt;code&amp;gt;Management Port&amp;lt;/code&amp;gt;, ist benannt.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== White-Box-Sicht einer Komponente ==&lt;br /&gt;
[[Datei:Component-3.png|mini|300px|White-Box-Sicht einer Komponente]]&lt;br /&gt;
&lt;br /&gt;
Die White-Box-Sicht einer Komponente zeigt die innere Struktur der Komponente. Im Beispiel rechts besteht diese Struktur aus drei Teilkomponenten &amp;lt;code&amp;gt;Meldungsspeicher&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Web-Frontend&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;Benutzerverwaltung&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dass das Innere einer Komponente wiederum nur als Komponenten modelliert werden kann, ist nicht zwingend. Es ist Sache des Modellierers, geeignete Modellierungselemente für ein konkretes Modell zu finden. Kandidaten sind neben der Komponente etwa der [[Kompositionsstrukturdiagramm|Part]] oder ein [[gekapselter Classifier (UML2)|gekapselter Classifier]]. Auch [[Klasse (UML)|Klassen]],  [[Schnittstelle (UML)|Schnittstellen]] oder &amp;#039;&amp;#039;Subsysteme&amp;#039;&amp;#039; können je nach Bedarf verwendet werden. Subsysteme sind Komponenten, die mit dem Schlüsselwort &amp;lt;code&amp;gt;«subsystem»&amp;lt;/code&amp;gt;gekennzeichnet sind.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Komposition von Komponenten ==&lt;br /&gt;
[[Datei:Component-4.png|mini|300px|Komposition von drei Komponenten]]&lt;br /&gt;
&lt;br /&gt;
Komponenten zeichnen sich vor allem dadurch aus, dass mehrere Komponenten zu einem größeren System, unter Umständen erneut einer Komponente, zusammengefügt werden können, dass man sie in diesem Sinn also &amp;#039;&amp;#039;komponieren&amp;#039;&amp;#039; kann. Die UML2 modelliert eine Komposition als [[Abhängigkeitsbeziehung]] zwischen der angebotenen Schnittstelle der einen Komponente und einer benötigen Schnittstelle der anderen. Die graphische Notation weist diese Abhängigkeitsbeziehung nicht immer explizit aus. Im Beispiel rechts ist die Komponente &amp;lt;code&amp;gt;EmailManagement&amp;lt;/code&amp;gt; mit den Komponenten &amp;lt;code&amp;gt;MailEingang&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;MailAusgang&amp;lt;/code&amp;gt; verbunden, indem die passenden &amp;#039;&amp;#039;Lollipop&amp;#039;&amp;#039;- und &amp;#039;&amp;#039;Socket&amp;#039;&amp;#039;-Schnittstellen zusammengeführt sind. Eine explizite Abhängigkeitsbeziehung ist zwischen dem Benutzer und der Schnittstelle &amp;lt;code&amp;gt;Betrieb überwachen&amp;lt;/code&amp;gt; ausgewiesen.&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Unterschiede zur UML 1.4 ==&lt;br /&gt;
Das Konzept einer Komponente als Modellelement war schon in der UML 1.4 bekannt. Es hat in der UML2 sowohl Änderungen im Metamodell als auch in der Notation erfahren. In UML2 ist eine Komponente eine Spezialisierung von Classifier. Sie kann aus diesem Grund alle Arten von Strukturmerkmalen haben. Die Notation wurde insofern vereinfacht, als eine Komponente nun wie viele andere Modellelemente auch, als Rechteck dargestellt werden kann, ohne die beiden aus der UML 1.4 üblichen kleinen zusätzlichen Rechtecke auf dessen Rand.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Komponentendiagramm]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:UML-Spracheinheit]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Darkking3</name></author>
	</entry>
</feed>