Relazioni di dipendenza in UML

In UML, una relazione di dipendenza è una relazione nella quale un elemento, il client, utilizza o dipende da un altro elemento, il fornitore. È possibile utilizzare relazioni di dipendenza nei diagrammi di classe, componente, di distribuzione e di casi d'uso per indicare che una modifica al fornitore potrebbe richiedere una modifica al client.

È inoltre possibile utilizzare una relazione di dipendenza per rappresentare la precedenza, in cui un elemento del modello deve precederne un altro.

Generalmente, le relazioni di implementazione non hanno nomi.

Come viene illustrato nella seguente figura, una dipendenza viene visualizzata nell'editor del diagramma come una linea tratteggiata con una freccia aperta rivolta dal client al fornitore.

Due classi, denominate Client e Supplier, sono collegate da una linea tratteggiata con una freccia aperta rivolta dal client al fornitore.

Tipi di relazioni di dipendenza

Dal momento che una relazione di dipendenza può rappresentare diversi tipi di relazioni, le parole chiave o gli stereotipi mostrano la natura precisa della dipendenza.

Tipo di dipendenza Parola chiave o stereotipo Descrizione
Astrazione «abstraction», «derive», «refine» o «trace» Correla due elementi di modello o serie di elementi del modello che rappresentano lo stesso concetto a differenti livelli di astrazione o da diversi punti di vista
Binding «bind» Collega argomenti di una maschera ai parametri della maschera per creare elementi del modello da maschere
Realizzazione «realize» Indica che l'elemento del modello client è un'implementazione dell'elemento del modello del fornitore e tale elemento è la specifica
Sostituzione «substitute» Indica che l'elemento del modello del client prende il posto del fornitore; l'elemento del modello client deve essere conforme al contratto o all'interfaccia stabilita dall'elemento del modello fornitore.
Utilizzo «use», «call», «create», «instantiate» o «send» Indica che un elemento del modello richiede un altro elemento del modello per la relativa implementazione o operazione
Nota: Diverse relazioni, come le relazioni di estensione, utilizzano un connettore simile a quello di una relazione di dipendenza, ma non sono considerati tipi di relazioni di dipendenza.

Utilizzo di relazioni di dipendenza

È possibile utilizzare relazioni di dipendenza ai modelli per ottenere i seguenti obiettivi:

Esempio

In un'applicazione e-commerce, una classe Cart dipende da una classe Product perché la classe Cart utilizza la classe Product come parametro per un'operazione di aggiunta. In un diagramma di classe, una relazione di dipendenza è rivolto dalla classe Cart alla classe Product. Come viene illustrato nella seguente figura, la classe Cart è, di conseguenza, il client e la classe Product è il fornitore.

Un'illustrazione dell'esempio descritto nel paragrafo precedente.

La suddetta relazione indica che una modifica alla classe Product potrebbe richiedere una modifica alla classe Cart.

Attività correlate
Specifica delle relazioni nei diagrammi UML

Feedback