Casi d'uso

casi d'uso umlPer casi d’uso si intende la descrizione di un insieme di interazioni tra un utente ed un sistema che consentono all’utente di raggiungere un obiettivo o di svolgere un compito.

Solitamente questa descrizione viene prodotta a fronte dell’esplicitazione di una serie di requisiti da parte di un utente nei confronti del sistema da realizzare.

In tal senso è finalizzata a precisare meglio i requisiti espressi ed a verificare insieme con l’utente che rispondano alle sue aspettative.

La definizione di casi d’uso è quindi utilizzata durante la raccolta dei requisiti e guiderà le attività di controllo dei deliverable prodotti dal progetto.

Ciò avviene in particolare nei progetti di ingegneria del software dove si utilizzano diagrammi UML come quello riportato a sinistra.

Tuttavia questi diagrammi spesso non sono sufficientemente descrittivi delle varie interazioni per cui sarebbe opportuno affiancare anche una descrizione testuale.

Infatti, nel definire i casi d’uso, senza una chiara identificazione dell’obiettivo ed una sua articolata descrizione, il solo diagramma UML può non essere sufficiente a precisare ciò che il nuovo sistema dovrà fare.

Ogni passaggio deve far parte di una precisa sequenza e si compone di un soggetto ben identificato che svolge un’azione precisa.

Esempio di descrizione testuale

Se si sta sviluppando un sistema di gestione del personale e si vuole descrivere la modalità di inserimento di un dipendente, il caso d’uso potrà essere testualmente descritto come in seguito esemplificato:

  1. L’utente seleziona dal menù la voce “Impiegati > Aggiungi Nuovo”
  2. Il sistema visualizza la schermata “Aggiungi Impiegato”
  3. L’utente inserisce le informazioni richieste dalla schermata (Nome, Cognome, Telefono, Email, Ruolo, Dipartimento/Ufficio di assegnazione)
  4. L’utente clicca sul bottone “Salva”
  5. Il sistema salva nel database le informazioni inserite e visualizza il messaggio “Informazioni registrate con successo” oppure evidenzia in rosso le informazioni mancanti e visualizza il messaggio “Riempire i campi evidenziati in rosso”

Vantaggi dei casi d’uso

  1. Raccontano in modo coerente come il prodotto si comporterà nell’utilizzo effettivo. I lettori arrivano a capire con facilità il quadro generale di ciò che il prodotto farà.
  2. Consentono di ben documentare gli scenari che possono determinare il successo o il fallimento dell’operatività. Il ragionamento che deve essere fatto per descrivere le condizioni di utilizzo aiuta a catturare molte condizioni di errore che spesso passano inosservate.
  3. Si adattano molto bene a qualsiasi metodologia di sviluppo. Se il progetto segue metodologie agili, si possono scrivere brevi racconti di utilizzo. Se l’approccio è più strutturato, è possibile adottare una descrizione più dettagliata dell’utilizzo.
  4. Sono forse il modo migliore per documentare i requisiti funzionali. Seppure i casi d’uso potrebbero non essere sufficienti a documentare tutti i requisiti funzionali, sono senza dubbio il modo migliore per documentare il nucleo di ogni requisito.
  5. Sono interessanti da leggere. Parlano non solo di ciò che deve essere fatto ma anche del contesto in cui deve essere fatto. Tutto questo porta a creare collegamenti tra i requisiti del progetto.
  6. Sono scritti dal punto di vista dell’utente. Si concentrano sugli obiettivi e sulle funzionalità piuttosto che sulle caratteristiche del prodotto o della tecnologia.
  7. Possono essere compresi dagli stakeholder. Questo significa che si riesce meglio ad ottenere un feedback durante gli incontri di revisione in modo da garantire che le esigenze della committenza vengano rispettate.

Spesso si spende inutilmente tempo nel produrre casi d’uso in forma sommaria solo perché gli standard documentali li richiedono, dimenticando che essi devono essere realmente utili sia a chi sviluppa sia a chi dovrà effettuare i test in sede di rilascio.