UMLKomponentendiagramme werden verwendet, um die physischen Aspekte eines objektorientierten Systems zu modellieren. Sie dienen zur Visualisierung, Spezifikation und Dokumentation komponentenbasierter Systeme sowie zum Aufbau ausführbarer Systeme durch Vorwärts- und Rückwärtsingenieurwesen. Ein Komponentendiagramm ist im Wesentlichen ein spezialisiertes Klassendiagramm, das sich auf die Komponenten des Systems konzentriert und zur Modellierung der statischen Implementierungsansicht eines Systems verwendet wird.

Übersicht über Komponentendiagramme
Ein Komponentendiagramm zerlegt das tatsächlich entwickelte System in verschiedene hochwertige Funktionalitäten. Jede Komponente ist für ein klar definiertes Ziel innerhalb des Systems verantwortlich und interagiert nur mit anderen zentralen Elementen, wenn dies erforderlich ist.

Das obige Beispiel zeigt die internen Komponenten einer größeren Komponente:
- Daten (Konten- und Scheck-IDs) fließen über die Anschlüsse auf der rechten Seite in die Komponente ein und werden in ein für die internen Komponenten nutzbares Format umgewandelt. Die Schnittstelle auf der rechten Seite wird alsbereitgestellte Schnittstellebezeichnet, die Dienste, die die Komponente benötigt, um ihre Verantwortlichkeiten zu erfüllen.
- Daten werden anschließend über verschiedene Verbindungen zu und durch andere Komponenten geleitet und über Anschlüsse auf der linken Seite ausgegeben. Die Schnittstellen auf der linken Seite werden alsbenötigte Schnittstellenbezeichnet, die Dienste, die die Komponente bereitstellt.
- Es ist wichtig zu beachten, dass die internen Komponenten innerhalb einer größeren „Box“ eingeschlossen sind – dies kann das gesamte System selbst sein (in diesem Fall erscheint kein Komponentensymbol in der rechten oberen Ecke) oder ein Teil-System/Komponente des Systems (in diesem Fall stellt die „Box“ die Komponente selbst dar).
Grundkonzepte von Komponentendiagrammen
Eine Komponente stellt einen modularen Teil eines Systems dar, der ihre Inhalte kapselt und deren Verhalten innerhalb ihrer Umgebung ersetzt werden kann. In UML 2 wird eine Komponente als Rechteck mit einem optionalen, vertikal gestapelten Fach dargestellt. Die hochwertige abstrakte Darstellung einer Komponente in UML 2 kann wie folgt modelliert werden:
- Ein Rechteck mit dem Komponentennamen
- Ein Rechteck mit einem Komponentensymbol
- Ein Rechteck mit einer Stereotyp-Text- und/oder Symbolbezeichnung

Schnittstellen
Zwei Arten von Komponentenschnittstellen werden im folgenden Beispiel gezeigt:
Das bereitgestellte SchnittstelleSymbol mit einem Vollkreis am Ende zeigt die Schnittstelle an, die die Komponente bereitstellt – das „Lollipop“-Symbol ist eine Kurzform für die Implementierungsbeziehung eines Schnittstellenklassifizierers.
Das benötigte SchnittstelleSymbol mit einem Halbkreis (auch als Steckdose bekannt) am Ende zeigt die Schnittstelle an, die die Komponente benötigt (in beiden Fällen wird der Schnittstellenname direkt neben dem Symbol platziert).

Beispiel für ein Komponentendiagramm – Verwendung von Schnittstellen (Bestellsystem)

Untersysteme
Ein Untersystem-Klassifizierer ist eine spezialisierte Version eines Komponenten-Klassifizierers. Daher erbt das Untersystem-Notationselement alle gleichen Regeln wie die Komponenten-Notation. Der einzige Unterschied besteht darin, dass das Untersystem-Symbol das Stichwort „Untersystem“ anstelle von „Komponente“ verwendet.

Anschlüsse
Ports werden durch Quadrate entlang der Kante eines Komponenten- oder Systems dargestellt. Sie werden typischerweise verwendet, um die erforderlichen und bereitgestellten Schnittstellen einer Komponente zu offenlegen.

Beziehungen
Graphisch ist ein Komponentendiagramm eine Menge von Knoten und Bögen, die typischerweise Komponenten, Schnittstellen und Beziehungen wie Abhängigkeit, Aggregation, Beschränkung, Generalisierung, Assoziation und Realisierung enthalten. Es kann auch Anmerkungen und Beschränkungen enthalten.
| Beziehung | Symbol |
|---|---|
Assoziation:
|
|
Komposition:
|
|
Aggregation:
|
|
Beschränkung:
|
|
Abhängigkeit:
|
|
Generalisierung:
|
Modellierung von Quellcode
- Identifizieren Sie die Menge der interessierenden Quellcode-Dateien durch Vorwärts- oder Rückwärtsingenieurwesen und modellieren Sie sie als Komponenten, die als Dateien konstruiert sind.
- Verwenden Sie für größere Systeme Pakete, um Gruppen von Quellcode-Dateien anzuzeigen.
- Berücksichtigen Sie die Aufnahme eines markierten Wertes, um Informationen wie Versionsnummer, Autor und letztes Änderungsdatum der Quellcode-Datei darzustellen. Verwenden Sie Tools, um die Werte dieser markierten Werte zu verwalten.
- Verwenden Sie Abhängigkeiten, um Kompilationsabhängigkeiten zwischen diesen Dateien zu modellieren. Verwenden Sie ähnliche Tools, um diese Abhängigkeiten zu generieren und zu verwalten.
Komponenten-Beispiel – Java-Quellcode

Komponentendiagramm-Beispiel – C++-Code mit Versionsverwaltung

Modellierung ausführbarer Releases
- Identifizieren Sie die Menge der Komponenten, die Sie modellieren möchten. Dies beinhaltet in der Regel einige oder alle Komponenten auf einem Knoten oder eine Verteilung dieser Komponenten über alle Knoten im System.
- Berücksichtigen Sie das Stereotyp für jede Komponente in dieser Menge. Bei den meisten Systemen finden Sie eine geringe Anzahl unterschiedlicher Komponententypen (z. B. ausführbare Dateien, Bibliotheken, Tabellen, Dateien und Dokumente). Sie können das Erweiterbarkeitsmechanismus von UML nutzen, um visuelle Hinweise (Hinweise) für diese Stereotypen bereitzustellen.
- Für jede Komponente in dieser Menge berücksichtigen Sie ihre Beziehungen zu ihren Nachbarn. Meistens handelt es sich dabei um Schnittstellen, die von einigen Komponenten exportiert werden (implementiert) und dann von anderen importiert werden (verwendet). Wenn Sie Fugen im System sichtbar machen möchten, modellieren Sie diese Schnittstellen explizit. Wenn Sie eine abstrahiertere Ebene wünschen, entfernen Sie diese Beziehungen, indem Sie nur Abhängigkeiten zwischen Komponenten anzeigen.

Physische Datenbankmodellierung
- Identifizieren Sie die Klassen im Modell, die logische Datenbankschemata darstellen.
- Wählen Sie die Strategie zur Abbildung dieser Klassen auf Tabellen. Sie müssen auch die physische Verteilung der Datenbank berücksichtigen. Ihre Abbildungsstrategie wird davon beeinflusst, wo Sie die Daten im bereitgestellten System persistent speichern möchten.
- Um die Abbildung zu visualisieren, zu spezifizieren, zu konstruieren und zu dokumentieren, erstellen Sie ein Komponentendiagramm, das Komponenten enthält, die als Tabellen konstruiert sind.
- Verwenden Sie bei Gelegenheit Tools, um Ihnen bei der Umwandlung des logischen Entwurfs in einen physischen Entwurf zu helfen.
Versuchen Sie jetzt, ein UML-Komponentendiagramm zu zeichnen
Sie haben nun gelernt, was ein Komponentendiagramm ist und wie man es zeichnet. Es ist Zeit, Ihr eigenes zu erstellen. Holen Sie sich die Visual Paradigm Community Edition, ein kostenloses UML-Tool, und verwenden Sie das kostenlose KomponentendiagrammTool, um Ihr eigenes zu erstellen. Es ist einfach zu bedienen und intuitiv.
Verwandte Links
- Was ist die Unified Modeling Language?
- Professionelle UML-Tools
- Visual Paradigm. (o. J.). Wie zeichnet man ein Komponentendiagramm? Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581/7292_drawingcompo.html 42.
- Visual Paradigm. (2018, 11. Mai). Was ist ein Komponentendiagramm? Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/ 43.
- Visual Paradigm. (o. J.). Wie zeichnet man ein Komponentendiagramm in UML? Visual Paradigm. https://www.visual-paradigm.com/tutorials/how-to-draw-component-diagram-in-uml/ 44.
- Visual Paradigm. (o. J.). Komponentendiagramm – UML 2 Diagramm – UML Modellierungstool. Visual Paradigm. https://www.visual-paradigm.com/VPGallery/diagrams/Component.html 45.
- Visual Paradigm. (o. J.). Komponentendiagramm in Visual Paradigm. Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581_componentdia.html 46.
- Visual Paradigm Community Circle. (2018, 11. Mai). 7. Komponentendiagramm. Visual Paradigm. https://circle.visual-paradigm.com/docs/uml-and-sysml/component-diagram/ 47.
- Visual Paradigm Online. (o. J.). Kostenloses Komponentendiagramm-Tool. Visual Paradigm. https://online.visual-paradigm.com/diagrams/solutions/free-component-diagram-tool/ 48.
- Visual Paradigm Online. (o. J.). Komponentendiagramm-Tutorial. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
- Visual Paradigm. (2022, 2. September). UML-Klassendiagramm-Tutorial. Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/ 50.
- Visual Paradigm Online. (o. J.). Online-UML-Diagramm-Tools. Visual Paradigm. https://online.visual-paradigm.com/diagrams/features/uml-tool/ 51.





