logo

Associazione UML, aggregazione e composizione

Nei diagrammi UML, le relazioni vengono utilizzate per collegare diverse cose. È una connessione tra cose strutturali, comportamentali o di raggruppamento. Di seguito sono riportate le relazioni UML standard elencate di seguito:

  • Associazione
  • Dipendenza
  • Generalizzazione
  • Realizzazione

Associazione

La relazione di associazione è una relazione strutturale in cui diversi oggetti sono collegati all'interno del sistema. Presenta una relazione binaria tra gli oggetti che rappresentano un'attività. Descrive la relazione tra oggetti, ad esempio un insegnante, che può essere associato a più insegnanti.

il controllo Java è nullo

È rappresentata da una linea tra le classi seguita da una freccia che ne orienta la direzione e quando la freccia si trova su entrambi i lati si parla di associazione bidirezionale. Possiamo specificare la molteplicità di un'associazione aggiungendo gli ornamenti sulla linea che denoterà l'associazione.

Esempio:

1) Un singolo insegnante ha più studenti.

Associazione UML, aggregazione e composizione

2) Un singolo studente può associarsi a molti insegnanti.

Associazione UML, aggregazione e composizione

La composizione e l'aggregazione sono due sottoinsiemi di associazione. In entrambi i casi, l'oggetto di una classe è di proprietà dell'oggetto di un'altra classe; l'unica differenza è che nella composizione il figlio non esiste indipendentemente dal suo genitore, mentre nell'aggregazione il figlio non dipende dal suo genitore, cioè è autonomo. Un'aggregazione è una forma speciale di associazione e la composizione è la forma speciale di aggregazione.

raccolte in Java
Associazione UML, aggregazione e composizione

Aggregazione

L'aggregazione è un sottoinsieme dell'associazione, è una raccolta di cose diverse. Rappresenta una relazione. È più specifico di un'associazione. Descrive una parte-tutto o una parte della relazione. È un'associazione binaria, cioè coinvolge solo due classi. È un tipo di relazione in cui il bambino è indipendente dai suoi genitori.

Per esempio:

Qui stiamo considerando l'esempio di un'auto e di una ruota. Un'auto non può muoversi senza una ruota. Ma la ruota può essere utilizzata indipendentemente con la bicicletta, lo scooter, la bicicletta o qualsiasi altro veicolo. L'oggetto ruota può esistere senza l'oggetto macchina, il che risulta essere una relazione di aggregazione.

Associazione UML, aggregazione e composizione

Composizione

La composizione è una parte dell'aggregazione e ritrae la relazione tutto-parte. Rappresenta la dipendenza tra un composto (genitore) e le sue parti (figli), il che significa che se il composto viene scartato, anche le sue parti verranno eliminate. Esiste tra oggetti simili.

come leggere dal file CSV in Java

Come puoi vedere dall'esempio riportato di seguito, la relazione di associazione della composizione collega la classe Persona con la classe Cervello, la classe Cuore e la classe Gambe. Se la persona viene distrutta, anche il cervello, il cuore e le gambe verranno scartati.

Associazione UML, aggregazione e composizione

Associazione vs. aggregazione vs. composizione

Associazione Aggregazione Composizione
La relazione di associazione è rappresentata utilizzando una freccia. La relazione di aggregazione è rappresentata da una linea retta con un diamante vuoto a un'estremità. La relazione compositiva è rappresentata da una linea retta con un diamante nero ad un'estremità.
In UML può esistere tra due o più classi. Fa parte del rapporto associativo. Fa parte del rapporto di aggregazione.
Incorpora associazioni uno-a-uno, uno-a-molti, molti-a-uno e molti-a-molti tra le classi. Mostra una sorta di relazione debole. Mostra un forte tipo di relazione.
Può associare più oggetti insieme. In una relazione di aggregazione, gli oggetti associati esistono indipendentemente nell'ambito del sistema. In una relazione di composizione, gli oggetti associati non possono esistere in modo indipendente nell'ambito del sistema.
In questo, gli oggetti sono collegati tra loro. In questo, gli oggetti collegati sono indipendenti l'uno dall'altro. Qui gli oggetti collegati dipendono l'uno dall'altro.
Potrebbe influenzare o meno l'altro elemento associato se un elemento viene eliminato. L'eliminazione di un elemento nella relazione di aggregazione non influisce sugli altri elementi associati. Influisce sull'altro elemento se uno degli elementi associati viene eliminato.
Esempio: un tutor può associarsi a più studenti oppure uno studente può associarsi a più insegnanti. Esempio: un'auto ha bisogno di una ruota per il suo corretto funzionamento, ma potrebbe non aver bisogno della stessa ruota. Potrebbe funzionare anche con un'altra ruota. Esempio: se un file viene inserito in una cartella e tale cartella viene eliminata. Anche il file che risiede all'interno di quella cartella verrà eliminato al momento dell'eliminazione della cartella.