Nell’attività di progettazione e sviluppo di software, uno Use Case, riveste un ruolo cruciale nella fase di analisi in quanto fornisce la descrizione di come può essere usato, definendone l’interazione con l’utente.
Per semplificare, potremmo definirlo come una sorta di manuale delle istruzioni del software stesso.
Esso è la base di partenza per la definizione stessa dei casi di test.
Il concetto di “Use Case” è stato introdotto per la prima volta nel 1987 da Ivar Jakobs, ma la sua diffusione è avvenuta a partite dai primi anni ’90, a seguito della pubblicazione del volume: “Object-Oriented Software Engineering. A Use Case Driven Approach”.
I casi d’uso vengono utilizzati per numerosi scopi, tra i quali:
- gestione e monitoraggio dei requisiti;
- identificazione delle classi e degli oggetti;
- progettazione e codifica;
- sviluppo della documentazione dell’applicazione;
- formazione;
- sviluppo di casi di test.
Come anticipato Use Case e casi di test non possono essere confusi. Se i primi, infatti, contengono azioni in sequenza che descrivono le interazioni tra l’utente ed il sistema, i secondi contengono condizioni, input ed output per convalidare il funzionamento stesso del software.
Se, inoltre, il caso d’uso riguarda i requisiti del software, il secondo, come detto, dipende proprio da questo ed ha come obiettivo quello di verificare il comportamento stesso del software.
Oggi, l’espressione “Use Case” è entrata nel linguaggio comune tanto che viente utilizzata anche in contesti altri rispetto alla progettazione software, come, ad esempio, il business process modeling (e business process reengineering).