Das Kompositionsstrukturdiagramm (Composite Structure Diagram) stellt die interne Struktur von Komponenten aber auch anderen Modellelementen wie Klassen dar. Beziehungen zwischen den Bestandteilen einer Struktur können modelliert werden. Diese Diagrammart ist daher zur Erstellung einer Softwarearchitektur geeignet.
Aufbau von Komponenten Die Bestandteile einer Komponente bzw. Klasse heißen Parts. Diese werden zusammen mit der Komponenteninstanz bzw. Objekten erzeugt und auch zerstört. Die Abbildung stellt ein Klassendiagramm (a) einem Kompositionsstrukturdiagramm (b) gegenüber. Beide stellen annähernd den selben Sachverhalt dar: Der Antrieb eines Autos besteht aus genau zwei Rädern am Heck und einem Motor, Motor und Räder sind indirekt über eine Achse verbunden.
Das Klassendiagramm (a) zeigt eine Komposition zwischen Automobilantrieb und Rad, sowie eine Assoziation zwischen Automobilantrieb und Motor (der Motor gehört noch zu anderen Subsystemen des Autos, daher nur eine Assoziation). Zwischen Rad und Motor gibt es eine Assoziation mit beliebiger Multiplizitiät (*). Eigentlich sollte ein Motor genau zwei Rädern zugeordnet sein, dies gilt jedoch nicht allgemein, beispielsweise für Motorräder (nur ein Rad) oder LKWs mit ggf. vier Antriebsrädern nicht. Dieses Darstellungsproblem wird durch Kompositionsstrukturdiagramme gelöst. Dort kann der oben beschriebene Sachverhalt dargestellt werden. Die Assoziation zwischen den zwei Rädern und einem Motor gilt nur für Automobil-Komponenten bzw. Klassen. Da der Motor nicht exklusiv zum Antrieb gehört, ist dieser in (b) gestrichelt dargestellt.
Kollaborationen Die Verwendung von Entwurfsmustern kann über Kollaborationen dargestellt werden. Ein Beispiel für die Notationselemente findet sich in der Abbildung unten. Der obere Abschnitt der Ellipse (a) ist der Name des Kollaborationstyps, im unteren Abschnitt finden sich Modellelemente, darstellbar mit Rollen, wie Subject oder Observer und Konnektoren.