de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

UML-Composite-Struktur-Diagramm: Modellierung der internen Architektur und Zusammenarbeit

Das UML-Composite-Struktur-Diagramm ist ein leistungsfähiges strukturelles Diagramm, das verwendet wird, um dieinterne Architektureines strukturierten Klassifizierers, wie einer Klasse, Komponente oder eines Systems. Es konzentriert sich darauf, wie eine Entität aus miteinander verbundenenTeilenbesteht und wie sie mit der Außenwelt über ihreAnschlüssen.

UML Composite Structure Diagram for a Payment Processing Component

Dieses Diagramm ist entscheidend für die Definition der Black-Box- und White-Box-Sicht eines Systemkomponenten, um klare Grenzen zu gewährleisten und die Wiederverwendbarkeit von Komponenten zu ermöglichen.

Kernstruktur und Kontext

Das Diagramm wird im Kontext einesKlassifizierers (der Grenzbox), der die insgesamt analysierte System- oder Komponente definiert.

A. Klassifizierer-Rolle (Grenze)

  • Notation: Ein großes rechteckiges Feld.
  • Zweck: Stellt die Gesamtklasse, Komponente oder das System dar, dessen interne Struktur definiert wird. Alle anderen Elemente im Diagramm sind innerhalb dieser Grenze enthalten.

Grundlegende Elemente der internen Ansicht

Die interne Struktur wird durch drei Schlüsselelemente definiert: Teilen, Anschlüssen und Verbindungen.

B. Teile

Ein Teil stellt eine Rolle dar, die von einer Instanz eines Klassifizierers (wie einer Klasse oder Komponente) innerhalb der gesamten zusammengesetzten Struktur gespielt wird. Im Wesentlichen ist ein Teil ein internes Bauelement.

  • Notation: Ein rechteckiges Feld innerhalb der Grenze, beschriftet mit Namen und Typ.
  • Syntax: Teilname: Teiltyp (z. B.dataCache: CachingModul).
  • Wesentlicher Unterschied: Ein Teil ist nicht das Objekt selbst, sondern die Rolle die dieses Objekt im Kontext des enthaltenden Klassifiers spielt. Ein Teil kann selbst eine zusammengesetzte Struktur sein, was eine tiefe Verschachtelung ermöglicht.

C. Ports

Ein Port ist ein eindeutiger Interaktionspunkt zwischen der zusammengesetzten Struktur (der Grenze) und ihrer Umgebung oder zwischen ihren internen Teilen. Ports formalisieren die Schnittstellen, die das Komponente verwendet oder bereitstellt.

  • Notation: Ein kleines Quadrat, das an der Randkante oder der Kante eines internen Teils befestigt ist.
  • Arten von Ports:
    • Öffentlicher Port: An der äußeren Grenze angebracht; der Umgebung zugänglich.
    • Kapselnder Port: An einem internen Teil angebracht; verbindet diesen Teil nur mit anderen internen Teilen oder der Systemgrenze.
  • Zweck: Ports definieren explizit die erforderlichen und bereitgestellten Schnittstellen, wodurch die interne Struktur verborgen werden kann (Black-Box-Sicht), während gleichzeitig ihre vertraglichen Interaktionspunkte definiert werden.

D. Verbindungen

Eine Verbindung modelliert die Kommunikationsverbindung oder den Informations-/Signalfluss zwischen zwei Elementen (entweder zwei Ports, zwei Teilen oder einem Port und einem Teil).

  • Notation: Eine Linie, die die beiden verbundenen Elemente verbindet.
  • Zweck: Stellt die Implementierung der Kommunikationsverbindung dar und zeigt, wie Daten oder Nachrichten intern übertragen werden.

Modellierung von Schnittstellen: Bereitgestellt und Erforderlich

Schnittstellen definieren die vertraglichen Verpflichtungen der Ports und sind entscheidend für die architektonische Klarheit.

A. Bereitgestellte Schnittstelle (Lollipop-Notation)

  • Notation: Ein Kreis (oder „Lollipop“), der mit einem Port verbunden ist.
  • Zweck: Zeigt die Dienste oder Operationen an, die der Klassifier (oder Teil) seiner Umgebung oder internen Komponenten bietet.

B. Erforderliche Schnittstelle (Steckdosen-Notation)

  • Notation: Ein Halbkreis (oder „Steckdose“), der mit einem Port verbunden ist.
  • Zweck: Zeigt die Dienste oder Operationen an, die der Klassifikator (oder das Teil) aus seiner Umgebung oder anderen internen Komponenten benötigt, um korrekt zu funktionieren.

Montage-Verbindung: Eine Verbindungsline verbindet oft ein Erforderliche Schnittstelle (Steckdose) eines Teils mit dem Bereitgestellte Schnittstelle (Lollipop) eines anderen Teils, wodurch veranschaulicht wird, wie interne Komponenten miteinander verdrahtet sind, um die Funktion des Systems zu erfüllen.

Modellierung von Zusammenarbeit: Rollen und Zusammenarbeit

Kompositstruktur-Diagramme können auch dynamische Zusammenarbeit—spezifische Mengen von Rollen und Verbindungen, die gemeinsam arbeiten, um eine Aufgabe zu erfüllen.

A. Zusammenarbeit verwenden

  • Notation: Eine gestrichelte Ellipse, die die Namen der kooperierenden Rollen enthält.
  • Zweck: Stellt eine Instanz eines Zusammenarbeitsmusters (z. B. eine spezifische Implementierung des Observer-Musters) dar, die innerhalb des größeren Komponenten verwendet wird.

Schritt-für-Schritt-Modellierungsbeispiel: Ein Smart-Home-Controller

Lassen Sie uns die interne Struktur eines HomeAutomationSystemKomponente modellieren.

  1. Klassifikator-Grenze: Definieren Sie die äußere Box als HomeAutomationSystem.
  2. Externe Ports: Fügen Sie einen Port mit der Bezeichnung apiPort an die Grenze an. Hängen Sie eine Bereitgestellte Schnittstelle (Lollipop) für ICommandReceiver (was die Außenwelt senden kann) und eine Erforderliche Schnittstelle (Socket) für IExternalWeatherService (was das System benötigt).
  3. Interne Teile:
    • scheduler: TaskScheduler (Verarbeitet zeitgesteuerte Ereignisse).
    • deviceManager: DeviceCoordinator (Kommuniziert mit der Hardware).
  4. Interne Verbindungen:
    • Verbinde das apiPort mit dem deviceManagerTeil mithilfe eines Connectors.
    • Verbinde das schedulerTeils Ausgangsport mit dem deviceManagerTeils Eingangsport, um zu zeigen, dass der Scheduler dem Geräte-Manager mitteilt, wann er handeln soll.
  5. Verschachtelte Struktur (optional): Zeige, dass der deviceManager selbst Teile wie zigbeeAdapter und wifiAdapter.

Dieses Diagramm zeigt deutlich, dass die HomeAutomationSystem besteht aus zwei Hauptbestandteilen, verwendet eine spezifische API und erfordert einen externen Wetterdienst, um zu funktionieren.

Zusammenfassung

Das UML-Composite-Structure-Diagramm geht über die Black-Box-Sichtweise einer Klasse oder Komponente hinaus, um ihre White-Box-Architektur zu offenbaren. Durch die Verwendung von Teilen zur Definition von Rollen, Anschlüssen zur Definition von Interaktionspunkten und Verbindungen zur Definition der internen Kommunikation ermöglicht es Architekten und Entwicklern, komplexe, wiederverwendbare und klar gekapselte Komponenten präzise zu verstehen und zu gestalten.

Sie finden weitere Informationen zu UML und KI-Visualisierung in unserem UML-Ressourcen-Portal.

Der Artikel ist auch in English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文 verfügbar.