Relazioni di estensione

Nel modellamento UML, è possibile utilizzare una relazione di estensione per specificare che un caso d'uso (estensione) estende la funzionalità di un altro caso d'uso (base). Tale tipo di relazione rivela su un sistema o un'applicazione dettagli generalmente nascosti in un caso d'uso.

La relazione di estensione specifica che l'incorporazione del caso d'uso di estensione dipende dal risultato dell'esecuzione del caso d'uso di base. Il caso d'uso di estensione è il proprietario della relazione di estensione. È possibile specificare diverse relazioni di estensione per un singolo caso d'uso di base.

Sebbene il caso d'uso sia definito in modo indipendente e sia significativo di per sé, il caso d'uso di estensione non ha senso da solo. Tale caso d'uso consiste in una o più sequenze di funzionalità (segmenti) che descrivono una ulteriore funzionalità che aumenta in modo incrementale quella del caso d'uso di base. Ogni segmento può essere inserito nel caso d'uso di base in un punto diverso, denominato punto di estensione.

Il caso d'uso di estensione può accedere e modificare gli attributi del caso d'uso di base; tuttavia quest'ultimo non è consapevole della presenza del caso d'uso di estensione e, di conseguenza, non può accedere o modificare i relativi attributi e operazioni.

È possibile aggiungere relazioni di estensione a un modello per indicare le seguenti situazioni:

Le relazioni di estensione non hanno nomi.

Come viene illustrato nella seguente figura, una relazione di estensione viene visualizzata nell'editor del diagramma come una linea tratteggiata con una freccia aperta che va dal caso d'uso di estensione al caso d'uso di base. La freccia è contrassegnata dall'etichetta «extend».

Due casi d'uso, denominati Base ed Extension sono collegati da una linea tratteggiata. Una freccia aperta va dal caso d'uso Extension al caso d'uso Base. La parola extend, tra doppie parentesi angolari, viene visualizzata sulla linea tratteggiata.

Esempio

Si sta sviluppando un sistema e-commerce in cui è presente un caso d'uso di base denominato Place Online Order, che dispone di un caso d'uso di estensione denominato Specify Shipping Instructions. Una relazione di estensione collega il caso d'uso Specify Shipping Instructions al caso d'uso Place Online Order per indicare che le funzionalità nel caso d'uso Specify Shipping Instructions sono facoltative e si verificano solo in determinate circostanze.

Attività correlate
Estensione della funzionalità dei casi d'uso.
Aggiunta di relazioni di estensione ai diagrammi di modellamento
Creazione di un punto di estensione per un caso d'uso

Feedback