Was ist ein UML-Komponentendiagramm? Notation, Beispiel

⚡ Intelligente Zusammenfassung

Das UML-Komponentendiagramm in der objektorientierten Analyse und Gestaltung (OOAD) modelliert ein großes System, indem es in kleinere, überschaubare Teilsysteme unterteilt wird und die Verbindungen austauschbarer Komponenten über Schnittstellen darstellt. Diese Ressource erläutert die Komponentennotation, Ports, Teilsysteme, die einzelnen Schritte der Diagrammerstellung und enthält ein Anwendungsbeispiel.

  • 🧩 Kernidee: Ein Komponentendiagramm unterteilt ein großes System in kleinere, austauschbare und ausführbare Teilsysteme.
  • ⬛ Komponente: Jede Komponente ist eine Blackbox, deren Verhalten durch ihre bereitgestellten und erforderlichen Schnittstellen definiert wird.
  • ???? Schnittstellen: Vorhandene und benötigte Schnittstellen werden über einen Montageverbinder miteinander verbunden, um die Komponenten zu verdrahten.
  • 🚪 Ports: Ein Port ist ein Interaktionspunkt, der die bereitgestellten und benötigten Schnittstellen einer Komponente gruppiert.
  • ️ Verwendung: Komponentendiagramme modellieren die Struktur zur Laufzeit und unterstützen Systemtests sowie die Subsystemorganisation.

Was ist ein UML-Komponentendiagramm?

Was ist ein Komponentendiagramm in UML?

UML-Komponentendiagramme werden zur Modellierung großer Systeme in kleinere Subsysteme verwendet, die leicht verwaltet werden können. UML-Komponentendiagramme werden zur Darstellung verschiedener Komponenten eines Systems verwendet. Bei der Modellierung großer objektorientierter Systeme ist es notwendig, das System in überschaubare Teilsysteme zu zerlegen.

Eine Komponente ist ein austauschbarer und ausführbarer Teil eines Systems, dessen Implementierungsdetails verborgen sind. Eine Komponente stellt den Satz von Schnittstellen bereit, die eine Komponente realisiert oder implementiert. Komponenten benötigen auch Schnittstellen, um eine Funktion auszuführen.

Notationen von Komponentendiagrammen

Nachfolgend sind die UML-Komponentendiagrammnotationen aufgeführt:

Komponente

Komponentennotation im Komponentendiagramm
Komponentennotation im Komponentendiagramm

Knoten

Knotennotation im Komponentendiagramm

Knotennotation im Komponentendiagramm

Was ist eine Komponente in OOAD?

Eine Komponente ist ein austauschbarer und ausführbarer Teil eines Systems, dessen Implementierungsdetails verborgen sind. Eine Komponente stellt den Satz von Schnittstellen bereit, die eine Komponente realisiert oder implementiert. Komponenten benötigen auch Schnittstellen, um eine Funktion auszuführen.

Es ist ein modularer Teil eines Systems, das dessen Inhalte kapselt. Sie sind die logischen Elemente eines Systems, die bei der Ausführung eines Systems eine wesentliche Rolle spielen.

Eine Komponente ist mit einer Blackbox vergleichbar, deren externes Verhalten durch eine bereitgestellte Schnittstelle und erforderliche Schnittstellen definiert wird.

Struktur einer UML-Komponente

Eine Komponente wird mit Klassifikator-Rechteck-Stereotypen wie folgt dargestellt:

<< Komponente >>: Komponentendetails werden für die Außenwelt ausgeblendet. Der Name einer Komponente wird in der Mitte eines Rechtecks ​​platziert. In der oberen rechten Ecke eines Rechtecks ​​wird ein Komponentensymbol angezeigt (optional).

Eine Komponente in UML wird wie folgt dargestellt:

Struktur einer UML-Komponente

Struktur einer UML-Komponente

Schnittstelle im Komponentendiagramm

Die Schnittstelle ist ein benannter Satz öffentlicher Funktionen. Es trennt die Spezifikation der Funktionalität von ihrer Implementierung durch a Klassen Diagramm oder ein Subsystem. Ein Schnittstellensymbol kann nicht instanziiert werden. Es deklariert eine Verbindung.tract, das durch null oder mehrere Klassifikatoren wie eine Klasse oder ein Teilsystem realisiert werden kann.

Alles, was eine Schnittstelle realisiert, akzeptiert die Funktionalitäten der Schnittstelle und verpflichtet sich, die Bedingungen einzuhalten.tract wird durch die Schnittstelle definiert.

Wenn die Implementierungssprache keine Schnittstellen unterstützt, verwenden Sie abs.tracIn t-Klassen werden Schnittstellen genauso benannt wie Klassen. UpperCamelCase.

Es gibt zwei Arten von Schnittstellen im Komponentendiagramm:

  1. Bereitgestellte Schnittstellen
  2. Erforderliche Schnittstellen

Mittels Baugruppen-Connectoren können wir bereitgestellte und gewünschte Schnittstellen miteinander verbinden.

Vorteile

  • Es erhöht die Flexibilität und Erweiterbarkeit einer Klasse.
  • Es verringert die Implementierungsabhängigkeiten.

Nachteile

  • Zusätzliche Flexibilität führt zu komplexen Klassen.
  • Zu viele Schnittstellen machen Systeme schwer verständlich.

Komponentendiagramm-Subsysteme

Es handelt sich um eine Komponentenbasis, die als Zerlegungseinheit für größere Systeme fungiert. Dabei handelt es sich um ein logisches Konstrukt, mit dem ein umfangreiches System in kleinere Systeme, sogenannte Subsysteme, zerlegt wird. Dieser Prozess erleichtert die effiziente Verwaltung jedes Subsystems.

Ein Subsystem kann zur Laufzeit nicht instanziiert werden, sein Inhalt kann jedoch initialisiert werden. Wenn Subsysteme verbunden werden, entsteht ein einziges System.

Port im Komponentendiagramm

Ein Port ist ein Interaktionspunkt zwischen einem Klassifikator und einer externen Umgebung. Es gruppiert einen semantisch zusammenhängenden Satz bereitgestellter und erforderlicher Schnittstellen. Ein Port kann in UML verwendet werden, ohne den Namen des Ports anzugeben. Ein Port kann sichtbar sein. Wenn ein Port über die Grenze eines Klassifikators hinaus gezeichnet wird, bedeutet dies, dass der Port öffentlich ist. Dies bedeutet auch, dass alle verwendeten Schnittstellen öffentlich gemacht werden.

Wenn ein Port innerhalb des Klassifikators gezeichnet wird, ist er entweder geschützt oder privat.

Ein Port verfügt auch über eine Multiplizität, die die Anzahl der Instanzen des Portklassifikators angibt. Ein Port im UML-Diagramm wird wie folgt bezeichnet:

Port-Notation im Komponentendiagramm

Port-Notation im Komponentendiagramm

Hier wird Port1 über die Grenze gezeichnet, was bedeutet, dass er als öffentlich sichtbar ist.

So zeichnen Sie ein Komponentendiagramm

So können Sie ein UML-Komponentendiagramm zeichnen:

Schritt 1) Eine Komponente ist nichts anderes als ein ausführbarer Teil eines Systems. Verschiedene Komponenten ergeben zusammen ein einziges System. Komponentendiagramme werden in der Ausführungsphase jedes Systems häufig verwendet.

Schritt 2) Vor der Modellierung des Komponentendiagramms müssen alle Komponenten im System bekannt sein. Die Funktionsweise jeder Komponente sollte erwähnt werden. Komponentendiagramme werden zur Analyse der Ausführung eines Systems verwendet.

Schritt 3) Man sollte auch jede Komponente eingehend untersuchen, um den Zusammenhang einer Komponente mit anderen physischen Artefakten im System zu verstehen.

Schritt 4) Die Beziehungen zwischen verschiedenen Artefakten, Bibliotheken und Dateien sind die wesentlichen Dinge, die bei der Modellierung eines Komponentendiagramms erforderlich sind.

Beispiel für ein UML-Komponentendiagramm

Unten finden Sie ein Beispiel für ein UML-Komponentendiagramm:

Beispiel für ein UML-Komponentendiagramm

Beispiel für ein UML-Komponentendiagramm

Warum Komponentendiagramme verwenden?

UML-Komponentendiagramme haben eine große Bedeutung. Komponentendiagramme unterscheiden sich in vielerlei Hinsicht von anderen Diagrammen. Während andere Diagramme verwendet werden, um das System, die Funktionsweise eines Systems oder die Architektur eines Systems darzustellen. Komponentendiagramme werden verwendet, um die Funktionsweise und das Verhalten verschiedener Komponenten eines Systems zu beschreiben.

Es stellt dar, wie sich jede Komponente während der Ausführung eines Systems verhält.

Dies sind die statischen Diagramme der einheitlichen Modellierungssprache. Ein Komponentendiagramm wird verwendet, um die Struktur und Organisation von Komponenten zu einem beliebigen Zeitpunkt darzustellen.

Komponentendiagramme werden zur Modellierung der Subsysteme verwendet. Diese Subsysteme stellen zusammen die gesamte Arbeitsansicht eines Systems dar. Eine einzelne Komponente kann nicht das gesamte System visualisieren, die Sammlung mehrerer Komponenten jedoch schon.

Daher werden Komponentendiagramme verwendet für:

  • Zur Darstellung der Komponenten eines beliebigen Systems zur Laufzeit.
  • Es hilft beim Testen eines Systems.
  • Es visualisiert die Verbindung zwischen verschiedenen Komponenten.

Wann sollte das Komponentendiagramm verwendet werden?

Komponentendiagramme unterscheiden sich von allen anderen Diagramme in UML. Komponentendiagramme werden verwendet, um verschiedene Komponenten eines Softwaresystems sowie Subsysteme eines einzelnen Systems darzustellen. Sie werden verwendet, um physische Dinge oder Komponenten eines Systems darzustellen. Es visualisiert im Allgemeinen die Struktur und Organisation eines Systems.

Es beschreibt, wie verschiedene Komponenten zusammen ein einziges, voll funktionsfähiges System ergeben. Wir können jede Komponente einzeln oder gemeinsam als eine Einheit darstellen.

  1. Komponentendiagramme werden verwendet, um die Komponentenorganisation eines Systems zu modellieren.
  2. Sie werden verwendet, um ein einzelnes System je nach Funktionalität in verschiedene Subsysteme zu unterteilen.

Häufig gestellte Fragen

Ein Komponentendiagramm zeigt die Softwarekomponenten und ihre Schnittstellen. Ein Bereitstellungsdiagramm zeigt die physischen Hardwareknoten und wo die Komponenten darauf ausgeführt werden. Komponentendiagramme modellieren die Softwarestruktur; Bereitstellungsdiagramme modellieren die Laufzeit-Hardwareumgebung.

Ein Montageverbinder verbindet die benötigte Schnittstelle einer Komponente mit der bereitgestellten Schnittstelle einer anderen. Er zeigt an, dass eine Komponente eine von der anderen benötigte Funktion bereitstellt und verbindet die Komponenten so zu einem funktionierenden System.

Das Kugel-Symbol (Lollipop) steht für eine vom Bauteil bereitgestellte Schnittstelle, die Buchse (Halbkreis) für eine benötigte Schnittstelle. Das Einsetzen der Kugel in die Buchse veranschaulicht, wie ein Bauteil das bereitstellt, was ein anderes benötigt.

KI-Tools können eine Systembeschreibung oder Modulliste lesen und ein Komponentendiagramm mit Komponenten, Schnittstellen und Konnektoren vorschlagen. Dies hilft Architekten, die Struktur schneller zu entwerfen, wobei die Grenzen und Abhängigkeiten jedoch weiterhin von Experten geprüft werden müssen.

Ja. Reverse-Engineering- und KI-Tools können eine Codebasis scannen, Dateien zu Komponenten gruppieren und deren Schnittstellen und Abhängigkeiten in einem Entwurf eines Komponentendiagramms abbilden. RevÜberprüfen Sie das Ergebnis, da die KI beabsichtigte architektonische Grenzen möglicherweise nicht erkennt.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: