Qualche volta una classe può rappresentare il risultato di un insieme di altre classi che la compongono. Questo è un tipo speciale di relazione denominata aggregazione. Le classi che costituiscono i componenti e la classe finale sono in una relazione particolare del tipo: parte - intero (part-whole)
Un'aggregazione è rappresentata come una gerarchia in cui l' "intero" si trova in cima e i componenti ("parte") al di sotto. Una linea unisce "l'intero" ad un componente con un rombo raffigurato sulla linea stessa vicino all' "intero".
Un esempio di aggregazione
Esaminiamo le "parti" che costituiscono un Televisore. Ogni TV ha un involucro esterno (Box), uno schermo, degli altoparlanti, delle resistenze, dei transistors, un circuito integrato e un telecomando (oltre, naturalmente, ad altri tantissimi componenti!). Il telecomando può, a sua volta, contenere le seguenti parti: resistenze, transitors, batterie, tastiera e luci remote.
Il Class Diagram che ne deriva sarà il seguente:
Qualche volta l'insieme di possibili componenti di un'aggregazione si identifica in una relazione OR. Per modellare tale situazione, è necessario utilizzare una constraint - la parola OR all'interno di parentesi graffe su una linea tratteggiata che connette le due linee parte-intero.
Una composizione è una tipo più forte di aggregazione. Ogni componente in una composizione può appartenere soltanto ad un "intero". Il simbolo utilizzato per una composizione è lo stesso utilizzato per un'aggregazione eccetto il fatto che il rombo è colorato di nero.
Se, ad esempio, si esamina l'aspetto esterno degli uomini, si evincerà che ogni persona ha (tra le altre cose): una testa, un corpo, due braccia. e due gambe. Tale concetto viene rappresentato nel seguente grafico:
Una associazione composita. In tale associazione ogni componente appartiene esattamente ad un intero
Riepilogando diciamo che un'aggregazione specifica un'associazione di tipo "parte - intero" in cui una classe che rappresenta l' "intero" è costituita da più classi che la compongono.
Una composizione è una forma più forte di aggregazione in cui un componente può appartenere soltanto ad un "intero". Le aggregazioni e le composizioni sono rappresentate come linee che uniscono l' "intero" e il componente singolo tramite, rispettivamente, un rombo aperto e un rombo riempito di nero, entrambi disegnati dalla parte dell' "intero".