La differenzza tra associazione ed aggregazione, in certi casi, e' molto fumosa (come, infatti, avrai notato ): non c'e' una regola predefinita. Sono solo concetti/idee/...
Quindi, fondamentalmente, sta' spesso alla tua sensibilita'!
Ma, spannometricamente, la puoi mettere cosi':
aggregazione:
1) se c'e' un container (ad esempio la collezione - lista, vettore, ...)
2) se la presenza o meno dell'elemento associato non fa una grande differenza, non cambia la natura dell'oggetto aggregante
associazione: se un oggetto e' composto da piu' parti, e la mancanza di una parte fa si' che l'oggetto (inteso come concetto, NON come oggetto della programmazione ad oggetti) perda parti fondamentali delle sue caratteristiche.
Ad esempio:
TU sei ASSOCIAZIONE di TESTA, BRACCIA, GAMBE, TRONCO
lo ZAINETTO e' AGGREGAZIONE di libri, cellulare, portatile, la foto della morosa (se non c'e', infilacela se no quella s'incazza ) ...
Se elimini un elemento dallo ZAINETTO (ma NON la foto della morosa), la natura dello zaino non cambia
Se elimini un elemento da TU (ad esempio la TESTA, operazione fatta dalla tua ragazza nel caso di cui sopra) TU non saresti piu' tu