Lo scenario base di un caso d’uso (descrizione funzionale) può avere numerose varianti. Alcune tra queste sono semplici, altre complesse, e possono a loro volta dare origine ad ulteriori varianti.
Come gestire le varianti di varianti? Me lo ha chiesto una studentessa di informatica, proponendo un esempio interessante, che riporto qui. Nel seguito la mia risposta, con uso degli scenari alternativi.
Buongiorno Dott. Comai,
mi chiamo xxx, studentessa di informatica.
In questi giorni sto tentando di documentare alcuni semplici casi d’uso, utilizzando il suo template:
(http://adcorsi.com/analisidisegnowp/wpcontent/uploads/2013/08/templatecasiuso.odt)
Nel descrivere i casi d’uso mi è sorto, però, un dubbio:
E’ possibile che una variante dello scenario base abbia a sua volta varianti? C’è qualche regola che lo vieta?
Ad esempio, per il caso d’uso PrelievoSoldi (molto semplice) ho il seguente scenario base:
- Il cliente inserisce la tessera e inserisce il pin
- Il sistema valida il pin
- Il cliente indica l’importo da prelevare
- Il sistema autorizza il prelievo e restituisce la tessera
- Il cliente ritira la tessera, il denaro e la ricevuta.
Vorrei descrivere la situazione particolare in cui il sistema non riconosce il pin (passo 2). In tal caso l’utente può effettuare altri due tentativi, se sbaglia anche l’ultimo tentativo il sistema restituisce la tessera ed il caso d’uso termina con errore.
Non so se la descrizione dell’anomalia sia meglio esprimerla in una sola variante oppure descrivere ogni tentativo come variante di variante. Di seguito le riporto le mie due soluzioni:
Soluzione con unica variante dello scenario base:
2a.Se il sistema non riconosce il cliente, il cliente deve reinserire il proprio pin. Se il sistema riconosce il pin, il cliente torna al passo 3 dello scenario base. Altrimenti, lo reinserisce ancora e se il sistema non lo riconosce nuovamente restituisce la tessera al cliente.
Soluzione con variante per ogni tentativo:
Variante 1:
2a. Il pin non è valido
1. Il cliente inserisce di nuovo il proprio pin.
2. Il sistema valida il pin, si ritorna al passo 3 dello scenario
base
Variante 2: variante della variante 1
2a.2a. Il pin non è valido
1. Il cliente inserisce di nuovo il proprio pin
2. Il sistema valida il pin, e ritorna al passo 3 dello scenario
base
Variante 3: variante della variante 2
2a.2a.2a. Il pin non è valido
1. Il sistema restituisce la tessera e termina il caso d’uso con errore.
2. Il cliente ritira la tessera
Spero possa aiutarmi
Grazie
La soluzione è l’uso degli scenari alternativi, cioè di descrizioni di scenario ulteriori rispetto allo scenario base, anche se ad esso riconducibili. In pratica:
Prendere la variante che può avere varianti, e “promuoverla” a scenario alternativo.
Lo scenario alternativo:
1 – è una variante a cui viene attribuito un titolo (es. “Pin non valido”) e che può essere a sua volta articolata in una serie di passi
2 – referenzia il passo dello scenario base da cui parte, come una variante, quindi parte con un “se…”
3 – indica come si conclude il caso d’uso (tornando a un passo dello scenario base, o con un esito diverso)
4 – può avere proprie varianti