AI-Data Modeling

Intelligenza artificiale e Casi d’Uso

I Casi d’Uso (Use Cases) sono le funzionalità di un sistema espresse dal punto di vista di chi usa quel sistema.

La tecnica dei casi d’uso, ideata da Ivar Jacobson, è utilizzata per chiarire i requisiti del sistema da analizzare e per specificare le funzionalità in modo comprensibile a chiunque.

L’intelligenza artificiale generativa può aiutare a individuare e a specificare i casi d’uso, come si può vedere negli esempi che seguono, in cui ho usato ChatGPT di OpenAI, nella versione gratuita con accesso al modello GPT 3.5.


Bancomat

Un caso classico.

[Prompt utente]: “Elenca i casi d’uso di un ATM bancario

[ChatGPT]:

Un sistema di ATM (Automated Teller Machine), o bancomat, offre una serie di casi d’uso per gli utenti. Di seguito sono elencati alcuni dei casi d’uso principali di un ATM bancario:

  1. Prelievo di contante: Un utente può utilizzare l’ATM per prelevare denaro contante dal proprio conto bancario. L’utente può specificare l’importo desiderato e il sistema eroga le banconote corrispondenti.
  2. Deposito di contante: Gli utenti possono depositare contante presso l’ATM. Inserendo il denaro nel dispositivo, il sistema riconosce l’importo e lo accredita sul conto dell’utente.
  3. Verifica del saldo: Gli utenti possono controllare il saldo del proprio conto bancario tramite l’ATM. Questo caso d’uso consente agli utenti di verificare quanta disponibilità di fondi hanno nel conto.
  4. Visualizzazione del movimento contabile: Gli utenti possono richiedere un estratto conto o un elenco delle ultime transazioni effettuate sul proprio conto.
  5. Cambio di codice PIN: L’utente può cambiare il proprio codice PIN bancario tramite l’ATM per motivi di sicurezza.
  6. Pagamento di bollette: Alcuni ATM consentono agli utenti di pagare le bollette, come quelle dell’energia elettrica o del telefono, inserendo i dati e l’importo da pagare.
  7. Trasferimento di fondi: Gli utenti possono spostare fondi tra i propri conti o effettuare trasferimenti verso conti di terzi, sia all’interno della stessa banca che tra banche diverse.
  8. Ricarica telefonica: Alcuni ATM permettono agli utenti di ricaricare i propri telefoni cellulari inserendo il numero di telefono e l’importo desiderato.
  9. Stampa di estratti conto e ricevute: Gli utenti possono richiedere la stampa di documenti come estratti conto, ricevute di transazioni e conferme di prelievo o deposito.
  10. Richiesta di assistenza: In caso di problemi o necessità di assistenza, gli utenti possono richiedere aiuto attraverso l’ATM, che può essere collegato a una linea di supporto telefonico o offrire una funzione di messaggistica per contattare il servizio clienti.
  11. Annullamento di transazioni: Gli utenti possono annullare una transazione in corso se si sono resi conto di un errore o hanno cambiato idea prima che venga completata.
  12. Accesso a servizi bancari online: Alcuni ATM offrono l’accesso a servizi bancari online, consentendo agli utenti di effettuare operazioni più complesse come la gestione degli investimenti o la richiesta di prestiti.
  13. Cambio di lingua: Gli utenti possono selezionare la lingua desiderata per l’interfaccia dell’ATM per una migliore comprensione delle istruzioni.

Questi sono alcuni dei casi d’uso principali di un ATM bancario, ma le funzionalità esatte possono variare in base al modello specifico dell’ATM e alle politiche della banca che lo gestisce.

[Prompt utente]: “Definisci la sequenza dei passi necessari per il primo caso d’uso. Indica se ci sono delle possibili varianti legate a certe condizioni.

Ecco la sequenza dei passi necessari per il primo caso d’uso, “Prelievo di contante” presso un ATM bancario:

  1. Inserimento della carta: L’utente inserisce la propria carta di debito o di credito nell’ATM. L’ATM verifica la validità della carta e richiede al cliente di fornire il codice PIN.
  2. Inserimento del PIN: L’utente inserisce il suo codice PIN tramite la tastiera numerica dell’ATM. Il sistema verifica se il PIN è corretto.
  3. Selezione dell’importo: L’ATM presenta un’opzione per selezionare l’importo desiderato per il prelievo. L’utente può scegliere l’importo specifico o selezionare opzioni predefinite.
  4. Conferma dell’importo: Dopo aver selezionato l’importo, l’utente conferma la transazione tramite l’ATM.
  5. Elaborazione della transazione: L’ATM comunica con il sistema bancario per elaborare la transazione. Il sistema verifica che ci siano fondi sufficienti nel conto dell’utente per coprire l’importo del prelievo.
  6. Erogazione del contante: Se la transazione è approvata, l’ATM eroga il contante richiesto. L’utente può prendere il denaro.
  7. Ricevuta della transazione: L’ATM offre all’utente la possibilità di stampare una ricevuta che conferma la transazione. L’utente può scegliere di stamparla o di ignorarla.
  8. Ritiro della carta: L’ATM restituisce la carta all’utente.

Varianti e condizioni:

  • Se il PIN inserito è errato, l’ATM può limitare il numero di tentativi e può bloccare temporaneamente la carta se il PIN errato viene inserito più volte.
  • Se il conto dell’utente non ha fondi sufficienti per coprire l’importo richiesto, la transazione verrà rifiutata.
  • Alcuni ATM possono consentire all’utente di selezionare le denominazioni delle banconote desiderate (ad esempio, banconote da $20 o da $50).
  • La disponibilità di funzionalità come la stampa della ricevuta può variare da un ATM all’altro.
  • In alcuni casi, l’ATM può addebitare una commissione se l’utente sta prelevando denaro da una banca diversa da quella emittente la carta.
  • L’ATM può essere configurato per limitare l’importo massimo che un utente può prelevare in una sola transazione, per motivi di sicurezza.

[Prompt utente]: “Definisci la sequenza dei passi necessari per il quarto caso d’uso. Indica se ci sono delle possibili varianti legate a certe condizioni.

Ecco la sequenza dei passi necessari per il quarto caso d’uso, “Visualizzazione del movimento contabile”, presso un ATM bancario:

  1. Inserimento della carta: L’utente inserisce la propria carta di debito o di credito nell’ATM. L’ATM verifica la validità della carta e richiede al cliente di fornire il codice PIN.
  2. Inserimento del PIN: L’utente inserisce il suo codice PIN tramite la tastiera numerica dell’ATM. Il sistema verifica se il PIN è corretto.
  3. Selezione dell’opzione di visualizzazione del movimento contabile: L’ATM presenta all’utente un menu con l’opzione di visualizzare il movimento contabile o l’estratto conto.
  4. Selezione del periodo di visualizzazione: L’utente può selezionare il periodo di tempo per il quale desidera visualizzare il movimento contabile. Può scegliere tra opzioni come “ultimi 10 giorni”, “ultimo mese” o specificare un intervallo di date personalizzato.
  5. Conferma della selezione: L’utente conferma la sua selezione di periodo di visualizzazione.
  6. Elaborazione della richiesta: L’ATM comunica con il sistema bancario per ottenere le informazioni relative al movimento contabile durante il periodo selezionato.
  7. Visualizzazione del movimento contabile: L’ATM mostra all’utente una lista delle transazioni e delle operazioni effettuate sul conto durante il periodo selezionato. Queste informazioni possono includere date, descrizioni delle transazioni e importi.
  8. Opzioni aggiuntive: L’ATM può offrire opzioni aggiuntive, come la possibilità di stampare l’estratto conto o ricevere una copia elettronica tramite email.
  9. Ritiro della carta: L’ATM restituisce la carta all’utente.

Varianti e condizioni:

  • Se il PIN inserito è errato, l’ATM può limitare il numero di tentativi e può bloccare temporaneamente la carta se il PIN errato viene inserito più volte.
  • La disponibilità di opzioni di visualizzazione del movimento contabile (come il periodo di tempo) può variare a seconda delle configurazioni specifiche dell’ATM e delle politiche della banca.
  • Alcuni ATM possono consentire all’utente di selezionare il formato dell’estratto conto, ad esempio in formato cartaceo o elettronico.
  • L’ATM può offrire opzioni per filtrare le transazioni in base a criteri specifici, come transazioni di prelievo, deposito o pagamento.
  • La visualizzazione del movimento contabile può includere dettagli aggiuntivi come il saldo attuale del conto e il saldo disponibile dopo le transazioni visualizzate.
  • L’ATM può richiedere all’utente di confermare la sua identità attraverso altre forme di verifica, come l’inserimento di un codice OTP (One-Time Password) ricevuto tramite SMS.

Biblioteca in rete

In questo secondo esempio il prompt è un po’ più dettagliato. Non viene enunciato solo il tema, la gestione di una biblioteca, ma sono anche dettagliate alcune caratteristiche richieste, sulla base di requisiti specifici.

[Prompt utente]: “Elenca i casi d’uso per il sistema di gestione di una biblioteca che offre un servizio pubblico di prestiti, e che è collegata ad una rete di biblioteche. Gli utenti di ogni biblioteca della rete possono consultare il catalogo di tutte le biblioteche e prenotare i libri presenti in ogni biblioteca della rete.

[ChatGPT]:

Un sistema di gestione di una biblioteca collegato a una rete di biblioteche offre una serie di casi d’uso per gli utenti. Di seguito sono elencati alcuni dei casi d’uso principali:

  1. Ricerca nel catalogo: Gli utenti possono cercare libri o altri materiali all’interno del catalogo delle biblioteche della rete. Possono effettuare ricerche per titolo, autore, genere, parola chiave o altri criteri.
  2. Visualizzazione dei dettagli del libro: Gli utenti possono visualizzare i dettagli completi di un libro nel catalogo, inclusi titolo, autore, copertina, disponibilità, posizione nella biblioteca e sintesi.
  3. Prenotazione di un libro: Gli utenti possono prenotare un libro disponibile in qualsiasi biblioteca della rete. Possono scegliere la biblioteca di ritiro desiderata e specificare il periodo di prenotazione.
  4. Ritiro e restituzione dei libri: Gli utenti possono ritirare i libri prenotati dalla biblioteca di loro scelta e successivamente restituirli. Il sistema tiene traccia delle date di prestito e delle scadenze.
  5. Rinnovo dei prestiti: Gli utenti possono rinnovare il prestito dei libri se desiderano tenerli più a lungo, a condizione che non ci siano prenotazioni da parte di altri utenti.
  6. Gestione dell’account utente: Gli utenti possono accedere al proprio account, visualizzare lo storico dei prestiti, verificare le scadenze e aggiornare le informazioni personali come l’indirizzo e le preferenze di contatto.
  7. Richiesta di prestito interbibliotecario: Se un libro non è disponibile nella biblioteca dell’utente, possono richiedere un prestito interbibliotecario per ottenere il libro da un’altra biblioteca della rete o da una biblioteca esterna.
  8. Notifiche e avvisi: Gli utenti possono scegliere di ricevere notifiche e avvisi via email, SMS o tramite l’applicazione mobile per ricevere informazioni sui prestiti, le scadenze o le prenotazioni.
  9. Recensioni e valutazioni: Gli utenti possono scrivere recensioni e assegnare valutazioni ai libri che hanno letto, condividendo le loro opinioni con altri utenti della rete.
  10. Accesso da dispositivi mobili: Gli utenti possono accedere al sistema di gestione della biblioteca e svolgere molte delle funzioni elencate sopra tramite un’applicazione mobile dedicata.
  11. Gestione dei libri in ritardo o smarriti: Gli utenti possono segnalare libri persi o ritardati e gestire eventuali penalità o multe dovute.
  12. Consulenza bibliotecaria: Gli utenti possono richiedere assistenza e consulenza ai bibliotecari attraverso il sistema, per ottenere raccomandazioni di lettura o risolvere dubbi relativi ai materiali disponibili.
  13. Amministrazione del sistema: Gli amministratori del sistema possono gestire gli account utente, il catalogo dei libri, le prenotazioni, le comunicazioni e altri aspetti tecnici e operativi del sistema.
  14. Reportistica e statistiche: Gli amministratori possono generare report e statistiche sull’utilizzo del sistema, la disponibilità dei libri e altre metriche per scopi di monitoraggio e miglioramento del servizio.

Questi sono alcuni dei casi d’uso principali per un sistema di gestione di una biblioteca collegato a una rete di biblioteche. La funzionalità esatta del sistema può variare in base alle specifiche esigenze e alla complessità della rete bibliotecaria.


Considerazioni

L’intelligenza artificiale generativa può aiutare a individuare e specificare i casi d’uso di un sistema. Può essere guidata impostando una serie di requisiti da cui prendere le mosse.

Se viene guidata da qualcuno che conosce bene la tecnica dei casi d’uso il contributo dell’IA generativa può essere notevole.

Come per tutta l’intelligenza artificiale generativa, comunque, bisogna evitare di correre il rischio di accettare ciò che l’IA generativa produce senza un controllo umano. Anche quando prende cantonate, lo fa in modo da sembrare convincente a chi non è esperto.

Vedi anche: Intelligenza artificiale e Data Modeling, Intelligenza artificiale e standard UML, SysML, BPMN

Riferimenti per la formazione:

Corso base di analisi funzionale

Casi d’uso in auto-istruzione

Prompt Engineering – usare al meglio l’intelligenza artificiale generativa