Was ist ein Komponentendiagramm?

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.

Component Diagram Hierarchy

Ü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.
Component Diagram Overview
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:
  1. Ein Rechteck mit dem Komponentennamen
  2. Ein Rechteck mit einem Komponentensymbol
  3. Ein Rechteck mit einer Stereotyp-Text- und/oder Symbolbezeichnung
Appearance of a Component

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).
Required and Provided Interfaces

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

Component Diagram Example with Interfaces

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.
Component Diagram with Subsystem

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.
Component Diagram with Port

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:

  • Eine Assoziation legt eine semantische Beziehung fest, die zwischen typisierten Instanzen auftreten kann.
  • Sie hat mindestens zwei Enden, von denen jedes durch ein Attribut dargestellt wird, und jedes Ende ist mit dem Typ des anderen Endes verbunden. Mehrere Enden können denselben Typ haben.

Component Diagram: Association




Komposition:

  • Die Komposition ist eine starke Form der Aggregation, die erfordert, dass eine Instanz in höchstens einem Kompositum enthalten ist.
  • Wenn das Kompositum gelöscht wird, werden seine Teile typischerweise ebenfalls gelöscht.

Component Diagram: Composition




Aggregation:

  • Eine Form der Assoziation, bei der ein Ende als gemeinsame Aggregation gekennzeichnet ist, was bedeutet, dass sie gemeinsame Aggregation besitzt.

Component Diagram: Aggregation




Beschränkung:

  • Eine Bedingung oder Einschränkung, die in natürlicher Sprache oder maschinenlesbarer Sprache formuliert ist, um bestimmte Semantik eines Elements zu erklären.

Component Diagram: Constraint




Abhängigkeit:

  • Eine Beziehung, die darauf hinweist, dass ein oder mehrere Modell-Elemente ein anderes Modell-Element für ihre Spezifikation oder Implementierung benötigen.
  • Dies bedeutet, dass die vollständige Semantik des abhängigen Elements semantisch oder strukturell von der Definition des Lieferanten-Elements abhängt.

Component Diagram: Dependency




Generalisierung:

  • Eine Klassifikationsbeziehung zwischen einem allgemeineren Klassifikator und einem spezifischeren Klassifikator.
  • Jede Instanz des spezifischen Klassifikators ist auch eine indirekte Instanz des allgemeineren Klassifikators.
  • Daher erbt der spezifische Klassifikator Merkmale vom allgemeineren Klassifikator.

Component Diagram: Generalization




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
Component Diagram Example: Java Source Code
Komponentendiagramm-Beispiel – C++-Code mit Versionsverwaltung
Component Diagram Example: C++ Code with Versioning

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.
Component Diagram for Modeling Executable Release

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.
Component Diagram for Modeling Physical Database


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.
  1. Was ist die Unified Modeling Language?
  2. Professionelle UML-Tools
  3. 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.
  4. 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.
  5. 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.
  6. Visual Paradigm. (o. J.). Komponentendiagramm – UML 2 Diagramm – UML Modellierungstool. Visual Paradigm. https://www.visual-paradigm.com/VPGallery/diagrams/Component.html 45.
  7. Visual Paradigm. (o. J.). Komponentendiagramm in Visual Paradigm. Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581_componentdia.html 46.
  8. Visual Paradigm Community Circle. (2018, 11. Mai). 7. Komponentendiagramm. Visual Paradigm. https://circle.visual-paradigm.com/docs/uml-and-sysml/component-diagram/ 47.
  9. Visual Paradigm Online. (o. J.). Kostenloses Komponentendiagramm-Tool. Visual Paradigm. https://online.visual-paradigm.com/diagrams/solutions/free-component-diagram-tool/ 48.
  10. Visual Paradigm Online. (o. J.). Komponentendiagramm-Tutorial. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
  11. 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.
  12. Visual Paradigm Online. (o. J.). Online-UML-Diagramm-Tools. Visual Paradigm. https://online.visual-paradigm.com/diagrams/features/uml-tool/ 51.

Kommentar hinterlassen