Relazioni UML con ESEMPIO: dipendenza, generalizzazione, realizzazione


Che cos’è la relazione UML?

Le relazioni in UML sono usate per rappresentare una connessione tra cose strutturali, comportamentali o di raggruppamento. Viene anche chiamato un collegamento che descrive come due o più cose possano essere correlate tra loro durante l’esecuzione di un sistema. Tipo di relazione UML sono Associazione, Dipendenza, Generalizzazione e Realizzazione.

Vediamoli in dettaglio

  • Associazione

È un insieme di collegamenti che collega elementi del modello UML. Definisce anche quanti oggetti stanno prendendo parte a quella relazione.

  • Dipendenza

In una relazione di dipendenza, come suggerisce il nome, due o più elementi dipendono l’uno dall’altro. In questo tipo di relazione, se apportiamo una modifica a un particolare elemento, è probabile che anche tutti gli altri elementi vengano influenzati dalla modifica.

  • Generalizzazione

Si chiama anche una relazione genitore-figlio. In generale, un elemento è una specializzazione di un altro componente generale. Potrebbe essere sostituito. È usato principalmente per rappresentare l’eredità.

  • Realizzazione

In una relazione di realizzazione di UML, un’entità indica una responsabilità che non è implementata da sola e l’altra entità che le implementa. Questa relazione si trova principalmente nel caso delle interfacce.

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.
  • {congelato} : specifica che quando un collegamento viene aggiunto 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.

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 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.

Dipendenza

Utilizzando una relazione di dipendenza in UML, si può mettere in relazione il modo in cui le varie cose all’interno di un determinato sistema dipendono l’una dall’altra. La dipendenza viene utilizzata per descrivere la relazione tra i vari elementi in UML che sono dipendenti l’uno dall’altro.

stereotipi

  • « Bind »: il bind è un vincolo che specifica che l’origine può inizializzare il modello in una posizione di destinazione, utilizzando i parametri o i valori forniti.
  • «Derive» – Rappresenta che la posizione di un oggetto sorgente può essere calcolata dall’oggetto target.
  • «Amico» : specifica che l’origine ha una visibilità unica nell’oggetto target.
  • «InstanceOf» : specifica che l’istanza di un classificatore di destinazione è l’oggetto di origine.
  • «Istanza» : specifica che l’oggetto di origine è in grado di creare istanze di un oggetto di destinazione.
  • «Raffina» – Specifica che l’oggetto sorgente ha un’astrazione eccezionale rispetto a quella dell’oggetto target.
  • «Usa» – Viene utilizzato quando i pacchetti vengono creati in UML. Lo stereotipo d’uso descrive che gli elementi di un pacchetto sorgente possono essere presenti anche all’interno del pacchetto target. Descrive che il pacchetto sorgente utilizza alcuni elementi di un pacchetto target.
  • «Sostituto» : specifica che il cliente può essere sostituito al fornitore in fase di esecuzione.
  • «Access» : specifica che il pacchetto sorgente accede agli elementi del pacchetto target che viene anche chiamato unione privata.
  • «Import» – Specifica che il target può importare l’elemento di un pacchetto sorgente come se fosse definito all’interno del target che viene anche chiamato unione pubblica.
  • «Permesso» : specifica che l’elemento sorgente ha accesso all’elemento fornitore indipendentemente dalla visibilità dichiarata del fornitore.
  • «Estende» – Ti aiuta a specificare che la destinazione può estendere il comportamento dell’elemento sorgente.
  • «Include» : consente di specificare l’elemento di origine a cui è possibile includere il comportamento di un altro elemento in una posizione specificata. (uguale a una chiamata di funzione in c / c ++)
  • «Diventa» – Specifica che l’obiettivo è simile alla fonte con valori e ruoli diversi.
  • «Call» – Specifica che l’origine può invocare un metodo oggetto di destinazione.
  • «Copia» – Specifica che l’oggetto target è indipendente, copia di un oggetto sorgente.
  • «Parametro»: il fornitore è un parametro delle operazioni del cliente .
  • «Invia»: il client è un’operazione che invia al fornitore un target non specificato.

Stereotipi tra le macchine statali

  • «Invia» : specifica che l’operazione di origine invia l’evento di destinazione.

Generalizzazione

È una relazione tra un’entità generale e un’entità unica che è presente all’interno del sistema.

In una relazione di generalizzazione, il concetto orientato agli oggetti chiamato ereditarietà può essere implementato. Esiste una relazione di generalizzazione tra due oggetti, chiamati anche come entità o cose. In una relazione di generalizzazione, un’entità è un genitore e un’altra si dice che sia un bambino. Queste entità possono essere rappresentate mediante ereditarietà.

In eredità, un figlio di qualsiasi genitore può accedere, aggiornare o ereditare la funzionalità come specificato nell’oggetto padre. Un oggetto figlio può aggiungere la sua funzionalità a se stesso, nonché ereditare la struttura e il comportamento di un oggetto padre.

Questo tipo di relazione è collettivamente nota come relazione di generalizzazione.

Stereotipi e loro vincoli

  • «Implementazione» : questo stereotipo viene utilizzato per indicare che l’entità figlio viene implementata dall’entità padre ereditando la struttura e il comportamento di un oggetto padre senza violare le regole. Nota Questo stereotipo è ampiamente utilizzato in una singola eredità .

La relazione di generalizzazione contiene vincoli come completi, incompleti per verificare se tutte le entità figlio vengono incluse o meno nella relazione.

Realizzazione

In una relazione di realizzazione di UML, un’entità indica una responsabilità che non è implementata da sola e l’altra entità che le implementa. Questa relazione si trova principalmente nel caso delle interfacce.

La realizzazione può essere rappresentata in due modi:

  • Usando una forma canonica
  • Utilizzando una forma elisa

Nel diagramma sopra, le regole commerciali dell’account realizzano l’interfaccia IRuleAgent.

Tipi di realizzazione:

  1. Forma canonicaIn una relazione di realizzazione di UML, la forma canonica viene utilizzata per realizzare interfacce attraverso il sistema. Utilizza uno stereotipo di interfaccia per creare un’interfaccia e una relazione di realizzazione viene utilizzata per realizzare l’interfaccia particolare.In una forma canonica, la relazione di realizzazione è indicata usando la linea diretta tratteggiata con una grande freccia aperta.Nel diagramma sopra, l’interfaccia Iruleagent viene realizzata utilizzando un oggetto chiamato Regole commerciali dell’account.
  2. Forma elettaLa realizzazione nel diagramma delle classi UML può anche essere mostrata usando una forma elisa. In una forma elisa, l’interfaccia è indicata usando un cerchio che è anche chiamato come notazione lecca-lecca.Questa interfaccia, quando realizzata utilizzando qualsiasi cosa presente all’interno del sistema, crea una struttura elisa.Nel diagramma sopra, l’interfaccia Iruleagent è indicata usando una forma elisa che viene realizzata da acctrule.dll.

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).

Una cartella è una struttura che contiene n numero di file al suo interno. Una cartella viene utilizzata per archiviare i file al suo interno. Ogni cartella può essere associata a qualsiasi numero di file. In un sistema informatico, ogni singolo file fa parte di almeno una cartella all’interno del sistema di organizzazione dei file. Lo stesso file può anche far parte di un’altra cartella, ma non è obbligatorio. Ogni volta che un file viene rimosso dalla cartella, la cartella rimane invariata mentre i dati relativi a quel particolare file vengono distrutti. Se un’operazione di eliminazione viene eseguita sulla cartella, influisce anche su tutti i file presenti all’interno della cartella. Tutti i file associati alla cartella vengono automaticamente distrutti una volta rimossa la cartella dal sistema.

Questo tipo di relazione in UML è nota per relazione di aggregazione composita.

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.

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.

Sommario

  • La relazione in UML consente a una cosa di relazionarsi con altre cose all’interno del sistema.
  • Un’associazione, dipendenza, generalizzazione e relazioni di realizzazione sono definite da UML.
  • La relazione di composizione può anche essere usata per rappresentare quell’oggetto può far parte di un solo composito alla volta.
  • L’associazione viene utilizzata per descrivere che un oggetto può essere associato a un altro oggetto.
  • La dipendenza indica che gli oggetti possono dipendere l’uno dall’altro.
  • Una realizzazione è una relazione significativa tra classificatori.
  • La generalizzazione è anche chiamata relazione genitore-figlio.

Original site: https://www.guru99.com/uml-relationships-with-example.html

Posts created 107

Related Posts

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

Back To Top