Komponentendiagramm

Das Komponentendiagramm ist ein Strukturdiagramm der Unified Modeling Language (UML) und zeigt eine bestimmte Sicht auf die Struktur des modellierten Systems. Die Darstellung umfasst dabei typischerweise Komponenten mit deren Schnittstellen. Es zeigt auch, wie Komponenten über Abhängigkeitsbeziehungen miteinander verbunden sind.

Komponentendiagramme erstellen Sie komfortabel mit dem bewährten Modellierungstool von MID.
Innovator Enterprise Modeling Suite kostenlos testen.

Definition

Das Komponentendiagramm (engl. component diagram) ist ein Strukturdiagramm. Die Darstellung umfasst dabei typischerweise Komponenten mit deren Schnittstellen bzw. Ports. Es zeigt auch, wie Komponenten über Abhängigkeitsbeziehungen miteinander verbunden sind. Um das Innere einer Komponente darzustellen, zeigt ein Komponentendiagramm oft Notationselemente, die sonst vor allem in Klassen- oder Kompositionsstrukturdiagrammen angezeigt werden, zum Beispiel Klassen oder Parts.

Das Komponentendiagramm wird vor allem in der Softwareentwicklung für die Modellierung von komponentenbasierten Softwaresystemen eingesetzt.

Das Symbol des Komponentendiagramms zeigt ein Diagramm mit einer symbolischen Komponente.

Verwendung

Ein Komponentendiagramm unterstützt den Modellierer beim grafischen Darstellen der groben Struktur des Systems und der Dienste, die von Teilkomponenten über Schnittstellen bereitgestellt bzw. in Anspruch genommen werden.

Komponenten und ihre Beziehungen untereinander werden zu verschiedenen Zwecken modelliert:

  • Die Kunden können schon frühzeitig die spätere Struktur des fertigen Systems erkennen
  • Den Entwicklern des Systems wird eine Struktur vorgegeben
  • Die Autoren der Dokumentation und der Hilfe bekommen einen Anhaltspunkt, worüber sie eigentlich schreiben
  • Die Wiederverwendbarkeit wird durch die Kapselung der internen Details vereinfacht

Paketdiagramme bieten einen höheren Freiheitsgrad bei der Strukturierung des Systems, da Pakete nicht explizit einer Systemkomponente entsprechen müssen.

Elemente im Komponentendiagramm

Knoten

Die folgenden Modellelemente können als Knoten im Komponentendiagramm dargestellt werden.

Tabelle: Knotentypen
Symbol Element Kurzbeschreibung
Komponente Komponenten sind modulare Teile eines Systems, die so strukturiert sind, dass sie in ihrer Umgebung durch eine andere, äquivalente Komponente ersetzt werden könnten. Eine Komponente schottet als Modul ihre innere Struktur gegen außen ab und bietet stattdessen eine Menge von angebotenen und erforderlichen Schnittstellen oder auch Ports.
Schnittstelle

Eine Schnittstelle deklariert eine Liste von Attributen, Operationen und Signalempfängern, die alle öffentliche Sichtbarkeit haben.

Wenn ein Classifier eine Schnittstelle bereitstellt, dann sichert er damit zu, dass er alle Operationen der Schnittstelle realisiert und alle Attribute auf eine geeignete Art und Weise umsetzt.

Ein Classifier, der eine Schnittstelle benötigt, erwartet, dass ein zweiten Classifier, der die Schnittstelle realisiert, die Operationen und Attribute auf geeignete Art und Weise zur Verfügung stellt.

Klasse

Eine Klasse enthält die Beschreibung und die Struktur von Objekten, die mit ihrer Hilfe erzeugt werden können (Schablone für Objekte). Eine Klasse wird durch ihre Attribute und Operationen definiert.

Wenn Sie die Klasse auf eine Klasse ziehen, wird die neu erzeugte Klasse zur inneren Klasse der vorhandenen Klasse.

Artefakt Artefakte stellen eine physische Informationseinheit dar, z.B. Modelle, Quellcode, Skripte oder Dokumente, die im Entwicklungsprozess oder zur Laufzeit eines Systems erzeugt oder benötigt werden.

Kanten

Kanten stellen im Komponentendiagramm Schnittstellen dar oder bilden die Abhängigkeiten zwischen den Knoten des Diagramms ab.

Tabelle: Kantentypen
Symbol Element Kurzbeschreibung
bereitgestellte Schnittstelle Eine bereitgestellte Schnittstelle ist eine Schnittstelle, die ein Classifier realisiert und damit anbietet.
benötigte Schnittstelle Eine benötigte Schnittstelle ist eine Schnittstelle, die ein Classifier benötigt, um seine Funktion wahrzunehmen.
Verwendung Eine Verwendung ist eine Abhängigkeitsbeziehung, die angibt, dass das Element das verbundene Element benutzt.
Abstraktion Eine Abstraktion ist eine Abhängigkeitsbeziehung, die angibt, dass das Element eine Abstraktion des verbundenen Elements darstellt.
Realisierung Die Realisierung ist eine gerichtete Beziehung, die aussagt, dass das Element eine Realisierung des verbundenen Elements darstellt.
Öffentlicher Elementimport Der öffentliche Elementimport ist eine gerichtete Beziehung zu einem importierten Element, das von weiteren Namensräumen transitiv importiert werden kann.
Privater Elementimport Der private Elementimport ist eine gerichtete Beziehung zu einem importierten Element, das von anderen Namensräumen nicht indirekt importiert werden kann.
Komponentenrealisierung Eine Komponentenrealisierung ist eine Abhängigkeitsbeziehung, die ausdrückt, dass der Classifier einen Teil der verbundenen Komponente realisiert.
Schnittstellenrealisierung Eine Schnittstellenrealisierung ist eine Abhängigkeitsbeziehung, die festlegt, dass der Classifier das in der verbundenen Schnittstelle spezifizierte Verhalten realisiert.
Anlegevoreinstellung Eine Anlegevoreinstellung ist eine spezielle Abhängigkeitsbeziehung, die angibt, dass neu angelegte Elemente im Zielcontainer angelegt werden.
Assoziationskante Hinzufügen einer existierenden Assoziationskante zu einem Element.
Socket-Ball-Kante Hinzufügen einer existierenden Socket-Ball-Kante zu einem Element.

* Diese Kanten stehen Ihnen im Standardprofil für Paketdiagramme zur Verfügung.

Beispiel für ein Komponentendiagramm

Weitere Informationen

http://www.uml.org/