Associazione UML vs Aggregazione vs Composizione con ESEMPIO

e relazioni nel diagramma UML sono usate per rappresentare una connessione tra varie cose. Una relazione è una connessione tra elementi strutturali, comportamentali o di raggruppamento nel linguaggio di modellazione unificato.

Di seguito sono riportati i diversi tipi di relazioni standard in UML,

  • Associazione
  • Dipendenza
  • Generalizzazione
  • Realizzazione

Oltre a questi, UML consente l’uso dell’aggregazione e una relazione di composizione.

Associazione

È una relazione strutturale che rappresenta gli oggetti che possono essere collegati o associati a un altro oggetto all’interno del sistema. I seguenti vincoli possono essere applicati alla relazione di associazione.

  • {implicito} – I vincoli impliciti specificano che la relazione non è manifesta; si basa su un concetto.
  • {ordinato} : i vincoli ordinati specificano che l’insieme di oggetti a un’estremità di un’associazione è in un modo specifico.
  • {modificabile} – Il vincolo modificabile specifica che la connessione tra vari oggetti nel sistema può essere aggiunta, rimossa e modificata secondo il requisito.
  • {addOnly} : specifica che le nuove connessioni possono essere aggiunte da un oggetto situato all’altra estremità di un’associazione.
  • {frozen} – Specifica che quando un collegamento viene inserito tra due oggetti, non può essere modificato mentre il vincolo congelato è attivo sul collegamento o su una connessione specificati.

Possiamo anche creare una classe con proprietà di associazione; viene chiamato come classe di associazione.

Associazione riflessiva

L’associazione riflessiva è un sottotipo di relazione di associazione in UML. In un’associazione riflessiva, le istanze della stessa classe possono essere correlate tra loro. Si dice anche che un’istanza di una classe sia un oggetto.

L’associazione riflessiva afferma che un collegamento o una connessione possono essere presenti all’interno degli oggetti della stessa classe.

Esempio :

Consideriamo un esempio di un frutto di classe.

La classe di frutta ha due casi, come mango e mela. L’associazione riflessiva afferma che può essere presente un legame tra mango e mela in quanto sono istanze della stessa classe, come la frutta.

associazione riflessiva

Associazione diretta

Come suggerisce il nome, l’associazione diretta è correlata alla direzione del flusso all’interno delle classi di associazione.

In un’associazione diretta, il flusso è diretto. L’associazione da una classe all’altra scorre in una sola direzione.

È indicato usando una linea continua con una punta di freccia.

Esempio :

Si può dire che esiste una relazione di associazione diretta tra un server e un client.

Un server può elaborare le richieste di un client. Questo flusso è unidirezionale, che scorre solo dal server al client. Quindi una relazione di associazione diretta può essere presente all’interno di server e client di un sistema.

associazione diretta

Composizione

Non è una relazione UML standard, ma è ancora utilizzata in varie applicazioni.

L’aggregazione composita è un sottotipo di relazione di aggregazione con caratteristiche come:

  • È un’associazione bidirezionale tra gli oggetti.
  • È una relazione intera / parziale.
  • Se un composito viene eliminato, vengono eliminate tutte le altre parti ad esso associate.

L’aggregazione composita è descritta come un’associazione binaria decorata con un diamante nero pieno all’estremità aggregata (intera).

La cartella potrebbe contenere molti file, mentre ogni file ha esattamente un genitore Cartella. Se una cartella viene eliminata, vengono rimossi anche tutti i file contenuti.

In un’aggregazione composita, un oggetto può far parte di un solo composito alla volta.

Esempio :

Ad esempio, in un sistema a finestre, una cornice appartiene esattamente a una finestra. In un’aggregazione composita, l’intero sistema è responsabile della disposizione delle sue parti, il che significa che il composito deve gestire la creazione e la distruzione delle sue parti.

composizione

Aggregazione

Un’aggregazione è un sottotipo di una relazione di associazione in UML. Aggregazione e composizione sono entrambi i tipi di relazione di associazione in UML. Una relazione di aggregazione può essere descritta in parole semplici come “un oggetto di una classe può possedere o accedere agli oggetti di un’altra classe”.

In una relazione di aggregazione, l’oggetto dipendente rimane nell’ambito di una relazione anche quando l’oggetto di origine viene distrutto.

Esempio :

Consideriamo un esempio di auto e ruota.

Un’auto ha bisogno di una ruota per funzionare correttamente, ma una ruota non ha sempre bisogno di un’auto. Può anche essere utilizzato con la bicicletta, la bicicletta o qualsiasi altro veicolo, ma non con una macchina particolare. Qui, l’oggetto ruota è significativo anche senza l’oggetto auto. Tale tipo di relazione è chiamata relazione di aggregazione.

aggregazione

Associazione vs. aggregazione vs. composizione

AssociazioneAggregazioneComposizione
La relazione di associazione viene indicata mediante una freccia.La relazione di aggregazione è indicata usando una linea retta con una punta di freccia vuota a un’estremità.La relazione di composizione è indicata usando una linea retta con una punta di freccia piena su una delle estremità.
L’associazione può esistere tra due o più classi in UML.L’aggregazione fa parte di una relazione di associazione.La composizione fa parte di una relazione di associazione.
Possono esserci associazioni uno-uno, uno-molti, molti-uno e molti-molti tra le classi di associazione.L’aggregazione è considerata un tipo debole di associazione.La composizione è considerata come un forte tipo di associazione.
In una relazione di associazione, uno o più oggetti possono essere associati tra loro.In una relazione di aggregazione, gli oggetti associati tra loro possono rimanere nell’ambito di un sistema senza l’altro.In una relazione di composizione, gli oggetti associati tra loro non possono rimanere nell’ambito senza l’uno con l’altro.
Gli oggetti sono collegati tra loro.Gli oggetti collegati non dipendono dall’altro oggetto.Gli oggetti dipendono fortemente l’uno dall’altro.
In associazione, l’eliminazione di un elemento può o meno influire su un altro elemento associato.In aggregazione, l’eliminazione di un elemento non influisce su un altro elemento associato.Nella composizione, l’eliminazione di un elemento influisce su un altro elemento associato.
Esempio: un insegnante è associato a più studenti. Oppure un insegnante fornisce istruzioni agli studenti.Esempio: un’auto ha bisogno di una ruota, ma non sempre richiede la stessa ruota. Un’auto può funzionare adeguatamente anche con un’altra ruota.Esempio: un file viene inserito nella cartella. Se si elimina la cartella, viene eliminato anche il file associato a quella determinata cartella.

Sommario

  • Una relazione è una connessione tra le cose.
  • Associazione, dipendenza, generalizzazione e realizzazione sono varie relazioni fornite da UML.
  • Oltre alle relazioni standard, la composizione e l’aggregazione vengono utilizzate all’interno di UML.
  • Aggregazione e composizione sono entrambi i tipi di relazione di associazione in UML.
  • La composizione è una relazione bidirezionale che viene anche chiamata relazione binaria.

Original site: https://www.guru99.com/association-aggregation-composition-difference.html

Posts created 107

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top