Komponente (UML)

Komponente (UML)

Eine Komponente (engl. Component) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme.

Inhaltsverzeichnis

Beschreibung

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 Komponente für ein derartiges abgeschlossenes Modul.

Komponente ist eine Spezialisierung von Klasse, und sie kann deshalb Strukturmerkmale wie Attribute oder Operationen haben, an Generalisierungen teilnehmen und über Assoziationen mit anderen Komponenten in Beziehung gesetzt werden.

Beispiel für die graphische Darstellung einer Komponente

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 Black-Box-Sicht, die nur den Rand zeigt, und eine White-Box-Sicht, die auch die innere Struktur zeigt.

Die Andockstellen einer Komponente bestehen aus einer Menge von angebotenen und erforderlichen Schnittstellen sowie allenfalls aus einer Menge von Ports.

Eine Komponente wird ähnlich wie eine Klasse als Rechteck mit einem Namen gezeichnet. Das Schlüsselwort «component» sowie optional ein Symbol in der rechten oberen Ecke unterscheiden die Notation einer Komponente von jener einer Klasse.

Black-Box-Sicht einer Komponente

Beispiel einer Komponente mit drei angebotenen und einer benötigten Schnittstelle

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). Das Beispiel rechts zeigt angebotene Schnittstellen als Lollipops und benötigte als Socket. Möglich wäre auch die Darstellung in Classifier-Form und eine Abhängigkeitsbeziehung zwischen der Schnittstelle und der Komponente.

Das Beispiel rechts verwendet weiter zwei Ports für die Spezifikation der Komponentenhüllen. Einer davon, Management Port, ist benannt.


White-Box-Sicht einer Komponente

White-Box-Sicht einer Komponente

Die White-Box-Sicht einer Komponente zeigt die innere Struktur der Komponente. Im Beispiel rechts besteht diese Struktur aus drei Teilkomponenten Meldungsspeicher, WebFrontend und Benutzerverwaltung.

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 Part oder ein gekapselter Classifier. Auch Klassen, Schnittstellen oder Subsysteme können je nach Bedarf verwendet werden. Subsysteme sind Komponenten, die mit dem Schlüsselwort «subsystem»gekennzeichnet sind.

Komposition von Komponenten

Komposition von drei Komponenten

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 komponieren 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 EmailManagement mit den Komponenten MailEingang bzw. MailAusgang verbunden, indem die passenden Lollipop- und Socket-Schnittstellen zusammengeführt sind. Eine explizite Abhängigkeitsbeziehung ist zwischen dem Benutzer und der Schnittstelle Betrieb überwachen ausgewiesen.

Unterschiede zur UML 1.4

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.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Komponente — (v. latein. componens „das Zusammensetzende“) steht für: Komponenten oder Gruppe, in der Fahrradtechnik aufeinander abgestimmtes Zubehör Komponente (Software), in der Entwicklung in Bezug auf Softwarearchitektur ein Teil einer Software Komponente …   Deutsch Wikipedia

  • UML — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Kritik (vgl. engl. Artikel); Bedeutung der UML; aktueller Stand (November 2007 wurde Version 2.1.2 vorgelegt, wie wurde sie aufgenommen?) Du kannst Wikipedia helfen, indem… …   Deutsch Wikipedia

  • UML-Werkzeug — Ein UML Werkzeug ist ein Anwendungsprogramm, das einige oder auch alle Phasen im Entwicklungsprozess oder die Erzeugung von Artefakten unterstützt, die in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere… …   Deutsch Wikipedia

  • UML Werkzeug — Ein UML Werkzeug ist ein Anwendungsprogramm, das einige oder auch alle Phasen im Entwicklungsprozess oder die Erzeugung von Artefakten unterstützt, die in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere… …   Deutsch Wikipedia

  • UML tool — Ein UML Werkzeug ist ein Anwendungsprogramm, das einige oder auch alle Phasen im Entwicklungsprozess oder die Erzeugung von Artefakten unterstützt, die in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere… …   Deutsch Wikipedia

  • Komponente (Software) — Eine Komponente ist in der Softwareentwicklung in Bezug auf Softwarearchitektur ein Teil einer Software. Inhaltsverzeichnis 1 Definition 2 Komponenten Interface 3 Auswirkungen 3.1 …   Deutsch Wikipedia

  • Konnektor (UML) — 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 …   Deutsch Wikipedia

  • Anwendungsfall (UML) — Ein Anwendungsfall (engl. use case) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Inhaltsverzeichnis 1 Beschreibung 2 Notationsbeispiele 3 Anwendungsfälle wiederverwenden …   Deutsch Wikipedia

  • Port (UML) — Ein Port (engl. Port) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. Ein Port ist ein strukturelles Merkmal eines Classifiers und spezifiziert eine Art Tor, das eine… …   Deutsch Wikipedia

  • Classifier (UML) — Ein Classifier (oder Klassifizierer) (engl. classifier) ist eine Metaklasse in der Unified Modeling Language (UML), einer Sprache für die Modellierung der Strukturen und des Verhaltens von Software und anderen Systemen. Ein Classifier innerhalb… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”