Komponentendiagramme zeigen die logischen Beziehungen zwischen den Komponenten.
Bereitstellungsdiagramme gehen einen Schritt weiter und beschreiben die physische Topologie der Hardware des Systems und die darauf ausgeführte Software.
Ein Komponentendiagramm, auch als Bausteindiagramm bekannt, ist ein Modell, das die Beziehungen zwischen Komponenten und zwischen Komponenten und Schnittstellen in einem System darstellt. Komponentendiagramme sind in der komponentenbasierten Systemmodellierung wichtig und können Benutzern helfen, die Struktur des Systems zu verstehen.
Funktionen des Komponentendiagramms:
1. Ermöglicht es Testern und Entwicklern, alle physischen Teile des Systems im Überblick zu sehen;
2. Beschreibt die Hauptfunktionen eines Systems aus architektonischer Sicht;
3. Erleichtert es den Mitgliedern des Projektteams, die Struktur und Funktion des Systems zu verstehen;
4. Fördert die Wiederverwendbarkeit von Software.
Echtzeit-Zusammenarbeit mehrerer Benutzer mit Teilen-Links für sofortigen Informationsaustausch
Automatische Generierung von Grafiken aus Texteingaben mit Stiloptimierung
Vordefinierte Themen mit vollständigen Anpassungsmöglichkeiten
Unterstützt Symbole, Bilder, Beschriftungen, LaTeX-Formeln, Codeblöcke, Links, Anhänge
Export: PNG, VISIO, PDF, SVG | Import: VISIO, Mermaid
Echtzeit-Cloud-Speicherung, Multi-Gerät-Sync, Versionsverlauf und Datensicherheit
Komponentendiagramme zeigen die logischen Beziehungen zwischen den Komponenten.
Bereitstellungsdiagramme gehen einen Schritt weiter und beschreiben die physische Topologie der Hardware des Systems und die darauf ausgeführte Software.
Komponente: Eine Komponente ist eine physische Implementierungseinheit mit gut definierten Schnittstellen, die ausgetauscht werden kann. Sie stellt in der Regel ein physisch vorhandenes Objekt dar und wird durch ein Rechteck dargestellt, das auf der linken Seite zwei kleine Rechtecke hervorhebt.
Schnittstelle: Eine bereitgestellte Schnittstelle, auch Export-Schnittstelle genannt, ist eine Sammlung von Diensten, die von der Komponente bereitgestellt werden. Sie kann durch eine Implementierungsbeziehung zwischen der Schnittstelle und der Komponente dargestellt werden; eine benötigte Schnittstelle, auch Import-Schnittstelle genannt, ist die Schnittstelle, die die Komponente bei der Anforderung entsprechender Dienste anderer Komponenten einhält und durch eine Abhängigkeitsbeziehung dargestellt wird.
Einfaches Komponentendiagramm: Klassen, die zusammenarbeiten, werden zu einer Komponente organisiert.
Verschachteltes Komponentendiagramm: Verwenden Sie verschachtelte Komponentendiagramme, um die interne Struktur einer Komponente darzustellen.
Komponenten sind über Ports verbunden, und Ports sind über Konnektoren verbunden, die jedoch in der Regel nicht häufig verwendet werden.
Konnektoren werden in direkte Konnektoren, Schnittstellenkonnektoren und Delegationskonnektoren unterteilt.
1. Zusammenarbeit mehrerer Teams bei der Entwicklung
2. Mikroservices- oder modulare Architektur
3. Systeme mit klaren Schnittstellenbeschränkungen
4. Komponenten, die getrennt bereitgestellt werden müssen (wie Frontend, Backend, Datenbank)
1. Legen Sie Wert auf Modularität und Entkopplung, da der Hauptwert von Komponentendiagrammen darin besteht, klare Schichten und Abhängigkeiten des Systems zu zeigen;
2. Verwenden Sie Standardsymbole und Schnittstellenbeschriftungen, um die Lesbarkeit und Konsistenz des Diagramms zu verbessern;
3. Verwenden Sie es zusammen mit Klassendiagrammen/Bereitstellungsdiagrammen, um eine vollständige Ansicht der Struktur, des Verhaltens und der Bereitstellung zu bieten;
4. Vermeiden Sie es, das Komponentendiagramm als Klassendiagramm zu zeichnen, da das Komponentendiagramm die „Struktur“ des Systems und nicht die „Implementierungsdetails“ ausdrückt.
Ein Komponentendiagramm beantwortet die Frage „Wer macht was, wer hängt von wem ab“, während ein Klassendiagramm die Frage „Wie macht man es“ beantwortet.
1. Eine Klasse ist eine Abstraktion von Entitäten, während eine Komponente eine Abstraktion von physischen Teilen ist, die in einem Computer existieren.
2. Komponenten gehören zu Softwaremodulen und nicht zu logischen Modulen und befinden sich auf einer anderen Abstraktionsebene als Klassen.
3. Klassen können direkt Operationen und Attribute haben, während Komponenten nur Operationen haben, die über ihre Schnittstellen zugänglich sind.
Komponenten werden nach ihrer Rolle im System in drei Kategorien eingeteilt:
1. Bereitstellungskomponenten: Notwendige Komponenten, die ein ausführbares System bilden.
Beispiele: Java Virtual Machine, Datenbankmanagementsystem, EXE-Dateien, DLL-Dateien.
2. Arbeitserzeugniskomponenten: Zwischenprodukte des Entwicklungsprozesses, die nicht direkt am ausführbaren System beteiligt sind.
Beispiele: Quellcodedateien, Datendateien.
3. Ausführungskomponenten: Komponenten, die zur Laufzeit erstellt werden.
Beispiele: Instanziierte Servlets, COM+-Objekte, XML-Dokumente.
Komponente und Komponente: Abhängigkeitsbeziehung
Komponente und Schnittstelle: Abhängigkeits- oder Implementierungsbeziehung
Um die Granularität der Komponenten angemessen zu steuern, können allgemeine Funktionsmodule als Komponenten festgelegt werden; einzelne Klassen sollten nicht als Komponenten gestaltet werden.
Ziehen Sie die „Schnittstelle“ aus dem linken Symbolbereich in den rechten Arbeitsbereich, klicken Sie dann auf ein Ende der Komponente, halten Sie die linke Maustaste gedrückt und ziehen Sie sie zur entsprechenden Schnittstelle. Lassen Sie die Maustaste los, um die Schnittstelle der Komponente zuzuweisen.
Nein, einfache Komponenten können keine explizite Schnittstelle haben.
Bereitgestellte Schnittstellen werden durch einen Kreis dargestellt und beziehen sich auf die Funktionen, die von dieser Komponente nach außen bereitgestellt werden (können aufgerufen werden).
Benötigte Schnittstellen werden durch einen Halbkreis dargestellt und beziehen sich auf die Dienste, die diese Komponente von anderen Komponenten benötigt.
Ja. Zwischen Komponenten kann es eine Eins-zu-viele-Abhängigkeit, eine wechselseitige Abhängigkeit oder eine Entkopplung durch eine Vermittlungskomponente geben, wobei mehrere Abhängigkeitsbeziehungen durch gestrichelte Linien dargestellt werden.