Operazione: Strutturazione del modello di caso d'uso
In questo compito si struttura il modello del caso d'uso in modo da rendere i requisiti più semplici da comprendere e gestire. Ciò comprende fare leva sui punti in comune tra i casi d'uso e gli attori, ed identificando comportamenti occasionali o eccezionali.
Scopo

Lo scopo di questo compito è di:

  • Estrarre il comportamento di un caso d'uso da considerare come casi d'uso astratti. Esempi di tali comportamenti comprendono il comportamento comune, occasionale, eccezionale, ed i comportamenti da sviluppare in iterazioni successive.
  • Trovare nuovi attori astratti che definiscano i ruoli da condividere tra diversi attori.
Relazioni
RuoliPrincipale: Aggiuntivo: Assistenza:
InputObbligatorio: Facoltativo:
  • Nessuno
Esterno:
  • Nessuno
Output
Passi
Identificazione di requisiti comuni

Il primo passo nella strutturazione di un Modello di caso d'uso è quello di comprendere i requisiti comuni a più Casi d'uso. Analizzare ciascun caso d'uso, annotando i punti in comune.

Utilizzare questi appunti nei passi successivi (inclusa la creazione, estesa, e casi d'uso generalizzati) per ridurre al minimo le ridondanze. L'obiettivo è di rendere i requisiti più comprensibili e semplici da gestire, NON definire un'alterazione funzionale che si possa inoltrare nel seguito del progetto.

Non sempre i requisiti comuni si gestiscono al meglio creando dei nuovi caso d'uso. Prendere in considerazione la possibilità di spostare i contenuti comuni in altri prodotti di lavoro di requisiti, quali il Glossario e le  Specifiche supplementari e le referenze dei casi d'uso.

Definizione delle relazioni di inclusione tra casi d'uso

Se il caso d'uso contiene un segmento di comportamento di cui solo il risultato, non il metodo con cui lo si ottiene, ha una certa rilevanza per il resto del caso d'uso, esso potrà essere estratto ed inserito in un nuovo caso d'uso di inclusione. Il caso d'uso originale diventa quindi il caso d'uso di base in una relazione di inclusione con il caso d'uso di inclusione. Consultare anche Linea guida: Modello del caso d'uso e Linea guida: Relazione di inclusione.

Una relazione di inclusione tra due casi d'uso significa che un'istanza del caso d'uso che segue la descrizione del caso d'uso di base, deve anche seguire la descrizione del caso d'uso di inclusione per essere completata.

La relazione di inclusione può aiutare nella chiarificazione di un caso d'uso:

  • Isolando ed incapsulando i dettagli più complessi così che essi non oscurino il vero significato del caso d'uso.
  • Migliorando la congruenza includendo dei comportamenti inclusi in diversi caso d'uso di base.

In generale più di un caso d'uso deve contenere un caso d'uso di inclusione per rendere conveniente le gestione di un caso d'uso extra e le relative relazioni di inclusione.

Solo il caso d'uso di base conosce le relazioni tra se e quello di inclusione; quest'ultimo non conosce il caso d'uso che lo contiene.

Descrivere le relazioni di inclusione riportando brevemente lo scopo dell'inclusione, così come la posizione all'interno del caso d'uso di base dove andrà inserita.

Durante la descrizione del flusso di eventi del caso d'uso di base, fare riferimento all'inclusione nella posizione in cui verrà inserita.

Definizione delle relazioni di estensione tra casi d'uso

Se alcuni segmenti del comportamento del caso d'uso hanno un carattere occasionale o eccezionale, senza aggiungere nulla alla sua comprensione o scopo primario, è bene estrarli ed inserirli in un nuovo caso d'uso di estensione. Il caso d'uso originario diventa quindi il caso d'uso di base, con cui il caso d'uso di estensione ha una relazione di estensione. Consultare anche Linea guida: Modello del caso d'uso e Linea guida: Relazione di estensione.

Nel caso d'uso di base andranno dichiarati i punti di estensione, che definiranno dove, nel caso d'uso di base, si potranno effettuare le estensioni. Consultare inoltre Linee guida: Caso d'uso.

I flussi secondari complessi di comportamenti occasionali sono i primi candidati al partizionamento in casi d'uso di estensioni. Spesso tali comportamenti sono abbastanza complessi e difficili da descrivere: il loro inserimento all'interno del flusso di eventi di un caso d'uso potrebbe rendere un comportamento "normale" difficile da vedere. La sua estrazione migliora la comprensibilità del modello del caso d'uso.

Accertarsi che il flusso di eventi del caso d'uso di base sia comunque completo e comprensibile anche senza i riferimenti al caso d'uso di estensione.

Solo il caso d'uso di estensione conosce le relazioni tra se e quello di base. Quest'ultimo sa solo di avere dei punti di estensione, ma non sa chi li utilizza.

Descrivere brevemente qualsiasi relazione di estensione definita. Definire le condizioni in cui si verifica l'estensione. Accertarsi di aver definito i punti di estensione nel caso d'uso di base dove le estensioni dovranno essere inserite.

  • Se non si definisce alcuna condizione significa che l'estensione verrà sempre eseguita. 
  • Se il caso d'uso di estensione ha diversi comportamenti da inserire in diversi punti di estensione del caso d'uso di base, definire tali segmenti ed i loro punti di estensione all'interno del caso d'uso di base.
Definizione delle generalizzazioni tra casi d'uso

Se due o più casi d'uso hanno delle similitudini per struttura o comportamento, si potrà estrarre il comportamento comune per creare un nuovo caso d'uso parent. I casi d'uso originali saranno quindi caso d'uso child in relazioni di generalizzazione con il parent. Il caso d'uso child eredita il comportamento descritto per caso d'uso parent. Consultare anche Linea guida: Modello del caso d'uso e Linea guida: Generalizzazione dei caso d'uso.

Una relazione di generalizzazione tra due casi d'uso significa che quando un'istanza del caso d'uso segue la descrizione del caso d'uso di child, deve anche seguire la descrizione del caso d'uso parent per essere considerata completata.

In generale per renderne conveniente la gestione di caso d'uso parent e di una relazione di generalizzazione con un child, è necessario che vi siano almeno due child che ereditano da un parent. Un eccezione c'è nel caso vi fossero due casi d'uso dove uno rappresenta la specializzazione dell'altro, ma entrambi devono essere istanziabili indipendentemente.

Solo il caso d'uso di child conosce le relazioni tra se e quello parent; quest'ultimo non conosce il caso d'uso che lo specializza.

Per aiutare altri alla comprensione del modello, descrivere brevemente le relazioni di generalizzazione. Spiegare perché la si è creata.

Nel flusso di eventi del caso d'uso child si deve spiegare come esso modificherà la sequenza del comportamento ereditato inserendo nuovi segmenti di comportamento.

Definizione delle generalizzazioni tra attori

Gli attori avranno caratteristiche comuni che dovranno essere generalizzate utilizzando la generalizzazione degli attori. Questa fase del lavoro viene eseguita meglio dopo aver effettuato le prime prove di un modello del caso d'uso.

Scrivere una breve descrizione della generalizzazione degli attori ed inserirla nei diagrammi del caso d'uso come ulteriore chiarimento.

Per ulteriori informazioni, consultare Linea guida: Generalizzazione degli attori.

Organizzazione del contenuto del caso d'uso in pacchetti

Se il modello del caso d'uso ha molti elementi, si potrà considerare di organizzarlo in pacchetti di caso d'uso. Consultare Linea guida: Pacchetto del caso d'uso per ulteriori informazioni su quando prendere in considerazione questa eventualità.

Valutazione dei propri risultati

Bisogna sempre confrontarsi con i clienti e gli utenti prima di inserire delle relazioni di inclusione, estensione e generalizzazione, verificare che essi abbiano ben chiari i caso d'uso e gli attori che ne risulteranno, e che siano d'accordo sulle loro descrizioni.

Controllare il modello del caso d'uso in questa fase per verificare che il proprio lavoro sia in linea con le previsioni, senza però entrare nel dettaglio. Discutere i casi d'uso e le relazioni appena incorporate con il cliente e gli utenti così che essi ne abbiano una comprensione chiara e concordino sulle descrizioni.

Per consigli specifici su cosa cercare durante l'analisi, consultare Elenco di controllo: Modello del caso d'uso.

Proprietà
Ricorrenze multiple
Attivato da evento
In corso
Facoltativo
Pianificato
Ripetibile
Ulteriori informazioni