In UML (Unified Modeling Language) sind Komponenten modulare Bausteine eines Systems. Sie stellen eine in sich geschlossene Einheit mit einer definierten Schnittstelle und interner Implementierung dar, die von außen versteckt ist. Während die * visuelle Darstellung * einer Komponente ein einfaches Rechteck mit spezifischer Notation ist, ist das Verständnis ihrer * Bedeutung * nuancierter. Hier ist eine Aufschlüsselung der wichtigsten Aspekte:
1. Visuelle Darstellung:
* Rechteck: Die grundlegende Form, die die Komponente darstellt.
* Komponentenname: Der Name der Komponente wird innerhalb des Rechtecks platziert.
* Komponentensymbol: Ein kleines Symbol (oft ein rechteckiges Symbol mit kleineren Rechtecken im Inneren) wird häufig im größeren Rechteck enthalten, um es als Komponente visuell zu unterscheiden. Diese Ikone ist nicht streng obligatorisch, sondern stark empfohlen.
* Schnittstellenspezifikationen (optional): Anschlüsse oder Schnittstellensymbole (kleine Kreise oder Lutscherformen) können hinzugefügt werden, um bereitgestellte und erforderliche Schnittstellen darzustellen. Diese zeigen, wie die Komponente mit anderen Teilen des Systems interagiert.
2. Konzeptionelle Bedeutung:
* Kapselung: Eine Komponente verbirgt seine internen Arbeiten (Implementierungsdetails). Nur seine Schnittstelle ist für die Außenwelt sichtbar.
* Modularität: Komponenten fördern modulares Design und erleichtern das Verständnis, die Aufrechterhaltung und Wiederverwendung. Sie ermöglichen eine unabhängige Entwicklung und den Einsatz.
* Wiederverwendbarkeit: Komponenten können in mehreren Systemen oder Kontexten wiederverwendet werden.
* Austauschbarkeit: Eine Komponente kann durch eine andere ersetzt werden, die dieselbe Schnittstelle bietet, ohne andere Teile des Systems zu beeinflussen (vorausgesetzt, der Schnittstellenvertrag wird respektiert).
* Bereitstellung: Komponenten kartieren häufig an physische Bereitstellungseinheiten wie ausführbare Dateien, DLLs oder Gläser.
3. Schlüsselattribute und Beziehungen:
* Schnittstellen: Definiert durch bereitgestellte und erforderliche Schnittstellen. Bereitstellung von Schnittstellen enthüllen Dienste, während die erforderlichen Schnittstellen Abhängigkeiten von anderen Komponenten angeben.
* Abhängigkeiten: UML -Diagramme zeigen Abhängigkeiten zwischen Komponenten, was darauf hinweist, dass eine Komponente auf eine andere angewiesen ist.
* Realisierung: Eine Komponente kann eine Schnittstelle realisieren, was bedeutet, dass sie die in dieser Schnittstelle angegebenen Operationen implementiert.
4. Unterscheidung von anderen UML -Elementen:
Es ist entscheidend, Komponenten von anderen Elementen zu unterscheiden:
* Klassen: Komponenten sind grobkörniger als Klassen. Eine Komponente kann * mehrere Klassen enthalten.
* Pakete: Pakete sind Organisationseinheiten für Klassen und andere Modellelemente. Komponenten hängen eher mit physischer Bereitstellung und Laufzeitverhalten zusammen.
Zusammenfassend: UML-Komponenten sind eine hochrangige Darstellung modularer Einheiten in einem System. Sie konzentrieren sich auf die externe Sicht des Moduls, seine Interaktion mit anderen Modulen und seine Bereitstellungsaspekte. Sie werden die internen Implementierungsdetails abstrahieren und die Gesamtarchitektur des Systems vereinfachen.