Obiettivo della lezione. Casi d uso. Casi d uso (use cases) Scenari d interazione

Documenti analoghi
Esempio 1: CarMatch. Direzione centrale Sedi centrali per ogni paese Concessionarie locali di franchising UML 2

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Obiettivi. Sistemi Informativi SPECIFICA DEI REQUISITI FUNZIONALI. Obiettivi Specifica dei Requisiti UML Use Case Esercizi

Casi d uso (use cases)

UML - Unified Modeling Language

Elementi di UML (2) Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico

Sistemi Informativi I Caso di studio con applicazione di UML

Basi di Dati. Programmazione e gestione di sistemi telematici

Ingegneria del Software I. UML - Use Case Diagram

Gestione del workflow

Informatica Industriale Modello funzionale Casi d uso

Il diagramma dei casi d uso

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

Progettaz. e sviluppo Data Base

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

ARCHIVIAZIONE DOCUMENTALE NEiTdoc

Modellazione dei dati in UML

Il sistema monetario

Funzioni in C. Violetta Lonati

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Database. Si ringrazia Marco Bertini per le slides

Concetti di base di ingegneria del software

Sequence Diagram e Collaboration Diagram

Soluzione dell esercizio del 2 Febbraio 2004

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

Registratori di Cassa

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Il sistema C.R.M. / E.R.M.

Automazione Industriale (scheduling+mms) scheduling+mms.

Corso di Sistemi di Elaborazione delle informazioni

Strutturazione logica dei dati: i file

Raggruppamenti Conti Movimenti

Gestione delle Presenze WorkFlow Manuale Operativo

Via Mazzini, Candia Canavese (TO)

Mac Application Manager 1.3 (SOLO PER TIGER)

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Corso di Informatica

ISTRUZIONI PER LA GESTIONE BUDGET

Strumenti di modellazione. Gabriella Trucco

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Lezione 2. Il modello entità relazione

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

Guida dell utente. Centro di fatturazione UPS

Lezione 8. La macchina universale

La Metodologia adottata nel Corso

Basi di dati 9 febbraio 2010 Compito A

MODALITA DI REGISTRAZIONE

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Soluzione dell esercizio del 12 Febbraio 2004

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

ANALISI E MAPPATURA DEI PROCESSI AZIENDALI

Basi di dati I. Esercitazione proposta

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

UniRoma2 - Ingegneria del Software 1 1

Ingegneria del Software 11. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15

CitySoftware PROTOCOLLO. Info-Mark srl

Dipartimento per le Libertà Civili e l Immigrazione

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Analisi e progettazione del software AbcBid studio di caso 6 dicembre 2007 REQUISITI ITERAZIONE 1

Modellazione di sistema

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Sostituto abilitato Entratel con più sedi: ricezione diretta e incarico ad intermediario abilitato

Manuale d uso Sole-Project.com

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Esempio ordini 08UMLEX1.1

Hub-PA Versione Manuale utente

AI DIRETTORI REGIONALI AI DIRETTORI PROVINCIALI e SUBPROVINCIALI AI DIRETTORI DELLE AGENZIE

Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione

PROCEDURA PER LA GESTIONE ESAMI DI STATO AREA ALUNNI AXIOS

Il seguente Syllabus è relativo al Modulo 7, Reti informatiche, e fornisce i fondamenti per il test di tipo pratico relativo a questo modulo

Ingegneria del Software UML - Unified Modeling Language

Diagrammi di Interazione

Gestione dei documenti e delle registrazioni Rev. 00 del

APPROVVIGIONARE APPROVVIGIONARE. Rev. Data Causale Redazione Verifica Approvazione. 00 xx/xx/xxxx Prima emissione

* Creare un documento unico di iscrizione in formato tessera (card) per tutti gli iscritti all Ordine dei Consulenti del Lavoro che:

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

Specifiche Tecnico-Funzionali

ALF0021M MANUALE UTENTE MODULO "SETUP"

MANUALE ESPERTI PON 2007/2013

Configurazione di Outlook Express

GESTIONE SOCI COOPERATIVE

Dipartimento per le Libertà Civili e l Immigrazione

Procedura Amministrativo-Contabile Servizio di Cassa Interno. Gestione Servizio di Cassa Interno

Transcript:

Obiettivo della lezione Casi d uso La modellazione dei requisiti funzionali I casi d uso Gli attori Gli scenari Come scrivere casi d uso Casi d uso (use cases) Scenari d interazione Proposti da Ivar Jacobson nel 1992 per il metodo Objectory Nome nuovo, ma tecnica consolidata (studio degli scenari di operatività degli utilizzatori di un sistema) Sono i modi in cui il sistema può essere utilizzato (cioè le funzionalità che il sistema mette a disposizione dei suoi utilizzatori) I casi d uso possono essere descritti sotto forma di scenario di interazione (un dialogo) tra gli utilizzatori e il sistema: il cliente richiede l elenco dei prodotti il sistema propone i prodotti disponibili il cliente sceglie i prodotti che desidera il sistema fornisce il costo totale dei prodotti selezionati il cliente conferma l ordine il sistema comunica l accettazione dell ordine L attenzione si focalizza sull interazione, non sulle attività interne al sistema

Caso d uso Specifica cosa ci si aspetta da un sistema ( what? ) Nasconde il suo comportamento ( how? ) E una sequenza di azioni (con varianti) che producono un risultato osservabile da un attore Rappresenta un requisito funzionale di un sistema Si usa per Descrivere requisiti d utente (analisi iniziale) Validare l architettura / verificare il sistema Caso d uso Ogni sequenza (detta scenario) rappresenta l interazione di entità esterne al sistema (attori) con il sistema stesso o sue componenti Separa il flusso principale dalle varianti alternative Attore Impiegato Elabora pratica Caso d uso Esempio Nome: Contratto Precondizione: impiegato è connesso Flusso principale degli eventi: 1. Inserire nome cliente e numero conto 2. Controllare la loro validità 3. Inserire numero di azioni da comprare e ID azienda quotata 4. Determinare il prezzo 5. Controllare il limite 6. Mandare l ordine alla Borsa 7. Memorizzare numero di conferma Cliente Terminologia Nome unico e.g.: Emette ordine, Convalida l utente Sequenze di azioni (flussi di eventi) Testuali (informale, formale, semi formale) Flusso principale: Il caso d uso inizia quando il sistema richiede al cliente un PIN. Il cliente può inserire un numero PIN... Flussi eccezione: Se il cliente inserisce un PIN non valido Diagrammatici (diagrammi di interazione) Impiegato Contratto

Attore Ruolo che una persona o un dispositivo hardware o un altro sistema gioca rispetto al sistema Gli attori eseguono casi d uso Prima si cercano gli attori, poi i loro casi d uso Gli attori possono NON essere persone! Gli attori ottengono valore dal caso d uso o vi partecipano Attori Gli attori non fanno parte del sistema: di solito rappresentano i ruoli di un utente L attore scambia informazioni col sistema Un attore può essere contenitore di informazioni Un attore può anche rappresentare un altro sistema Actor Ricerca degli attori: domande utili Istanze di attori Chi è interessato a certi requisiti? In quale parte dell organizzazione è utilizzato il sistema? Chi fornirà, utilizzerà ed eliminerà informazioni dal sistema? Chi utilizzerà questa funzione? Chi supporterà e manterrà il sistema? Il sitema utilizzerà una risorsa esterna? Quali attori sono in relazione con gli Use Cases? Un attore ha diversi ruoli? Lo stesso ruolo è assegnato a più attori? Paolo agisce come attore Inserire tessera Use-Case Model Attore 1 2 3 4 5 6 7 8 9 * 0 # Caso d uso Paola agisce come attore

Un utente può agire come attori diversi Attori e confini del sistema Inserire tessera 1 2 3 4 5 6 7 8 9 * 0 # Paolo come operatore Paolo Paolo come cliente cliente Operatore Impiegato Manutenzione Bancomat Sistema Banca Bancomat Confine del sistema? Specializzazione Gli attori possono essere specializzati specializzazione Impiegato Impiegato di sportello Connessi ai casi d uso mediante associazione associazione = relazione di comunicazione (sia l attore che il caso d uso possono mandare o ricevere messaggi) Descrizione di caso d uso Descrizione generica e sequenziale del flusso di eventi di un caso d uso Descrivere la precondizione (stato iniziale del sistema) Elencare la sequenza di passi Include le interazioni con gli attori e descrive quali entità vengono scambiate Può contenere punti di estensione La descrizione dev essere chiara, precisa e breve

Ricerca dei casi d uso: domande utili Quali sono i compiti di questo attore? L attore gestirà le informazioni del sistema? Quali Use Cases creeranno, modificheranno, leggeranno questa informazione? L attore deve informare il sistema di cambiamenti improvvisi? L attore dev essere informato di certe situazioni? Il sistema supporta il business con un comportamento corretto? Quali Use cases supportano e mantengono il sistema? I requisiti funzionali sono tutti coperti dagli Use Cases? Fonti di informazione per i Casi d uso Specifiche del sistema Bibliografia del dominio del sistema Interviste con gli esperti del dominio Conoscenza personale del dominio Sistemi già esistenti Documentazione sui casi d uso I casi d uso sono documentati da Una breve descrizione Lo scopo degli use case in poche linee Flusso dettagliato degli eventi Descrizione dei flussi primari ed alternativi degli eventi che seguono lo start-up dello use case La documentazione dovrebbe essere come un dialogo tra l attore e lo use case Tutti i documenti sono scritti in modo comprensibile per il cliente Flusso degli eventi Ogni caso d uso Ha una sequenza di transizioni normale o di base Puo avere varie sequenze alternative Ha varie sequenze di transazioni eccezionali per la gestione di situazioni erronee

Flusso degli eventi Descrive solo gli eventi relativi al caso d uso, e non quel che avviene in altri casi d uso Evita l uso di termini vaghi come "per esempio", "ecc." o "informazione" Il flusso degli eventi dovrebbe descrivere Come e quando il caso d uso inizia e finisce Quando il caso d uso interagisce con gli attori Quali informazioni sono scambiate tra un attore e il caso d uso Si tralasciano i dettagli dell interfaccia utente Il flusso di base degli eventi Ogni flusso alternativo degli eventi Casi d uso e scenari Scenario base: è di solito quello che prevede il successo del caso d uso, ed uno svolgimento lineare Scenari alternativi: possono essere di successo o fallimento, con complicazioni varie non è necessario (e sarebbe molto costoso) analizzare in dettaglio tutti i possibili scenari di un caso d uso è invece necessario individuare le singole possibili varianti che possono portare al fallimento del caso d uso, o che comportano trattamenti particolari esempio: apertura conto corrente 1 il cliente si presenta in banca per aprire un nuovo c/c 2 l addetto riceve il cliente e fornisce spiegazioni 3 se il cliente accetta fornisce i propri dati 4 l addetto verifica se il cliente è censito in anagrafica 5 l addetto crea il nuovo conto corrente 6 l addetto segnala il numero di conto al cliente Varianti: 3 (a) se il cliente non accetta il caso d uso termina 3 (b) se il conto va intestato a più persone vanno forniti i dati di tutte 4 (a) se il cliente (o uno dei diversi intestatari) non è censito l addetto provvede a registrarlo, richiede al cliente la firma dello specimen e ne effettua la memorizzazione via scanner esempio: apertura conto corrente - ulteriore dettaglio (5) l addetto crea il nuovo conto corrente 1 l addetto richiede al sistema la transazione di inserimento nuovo conto 2 il sistema richiede i codici degli intestatari 3 l addetto fornisce i codici al sistema 4 il sistema fornisce le anagrafiche corrispondenti, e richiede le condizioni da applicare al conto 5 l addetto specifica le condizioni e chiede l inserimento 6 il sistema stampa il contratto con il numero assegnato al conto Varianti: 3 (a) se il sistema non riconosce il cliente, o se fornisce un anagrafica imprevista, l addetto può effettuare correzioni o terminare l inserimento

Dalle funzionalità interne ai casi d uso Attori business e di servizio cliente gestore Banca funzionalità interne sistema front-end specializzati front-end comune gestione pre-applicativa gestione contratti monitoraggio sistema applicazioni della banca casi d uso cliente: disposizioni (bonifici, acquisto titoli, ecc.) informativa stipula contratto gestore: verifica anomalie un modello indipendente da ogni soluzione organizzativa e tecnologica il modello di una specifica soluzione organizzativa e tecnologica Cliente Ufficio acquisizione ordini effettua ordine effettua ordine Attori business e di servizio Modellazione dell ambito di business Nel definire gli attori si possono adottare due diversi punti di vista che corrispondono a diversi livelli di astrazione: uno indipendente da particolari soluzioni organizzative e tecnologiche (modello dell ambito "business workflow") uno legato ad una particolare soluzione organizzativa e tecnologica (modello dei servizi del sistema informatico) cliente uff.acq.ordini effettuazione ordine amministrazione Dal punto di vista del cliente, l ufficio acquisizione ordini fa parte del sistema (come intermediario)

Forme di intermediazione Organizzare i casi d uso: generalizzazione cliente richiesta estratto conto bancario sportellista internet bancomat telefono Cambia l interfaccia tra attore e sistema Non cambia la logica del caso d uso Controllo password Convalida cliente Analisi retinale Il caso figlio eredita comportamento e significato dal caso genitore Il figlio può aggiungere o modificare comportamento del genitore Il figlio può essere sostituito in qualsiasi punto appaia il genitore Organizzare i casi d uso: Inclusione Si usa per NON descrivere più volte lo stesso flusso di eventi, inserendo il comportamento comune in un caso d uso a parte Emetti ordine Traccia ordine convalida cliente Esempio di inclusione Caso d uso: Traccia ordine Precondizione: Impiegato è connesso Flusso principale: 1. Ottieni e verifica numero d ordine 2. Include (Convalida cliente) 3. Per ciascun componente dell ordine, Evita di copiare parti di descrizioni di casi d uso

Organizzare i casi d uso: estensione Emetti ordine punto estensione: priorità <<extend>> (definisci priorità) Emetti ordine urgente Permette di modellare la parte opzionale di un caso d uso Permette di modellare sottoflussi condizionali Permette di inserire un sottoflusso in un punto specifico, regolato da un interazione con un attore Punti estensione (nei flussi testuali) Esempio Extend Caso d uso: Emetti ordine Precondizione: Impiegato è connesso Flusso principale: 1. 2. Acquisisci gli elementi dell ordine 3. (Definisci la priorità) 4. Sottometti l ordine per l elaborazione successiva Uso di Extends Cattura il caso d uso di base Per ogni passo chiedersi Cosa potrebbe andar male? Come potrebbe funzionare in modo diverso? Scrivere ogni variante come estensione del caso d uso Confronto extends-includes Scopo diverso extend Distingue le varianti Gli attori associati eseguono il caso d uso e tutte le estensioni L attore è collegato al caso base include Fattorizza comportamento comune Spesso nessun attore è associato al caso d uso comune Sono possibili attori diversi per i casi d uso chiamanti

Un diagramma dei casi d uso Proprietà dei casi d uso Trader Limite superato Analizza rischi Dettagli prezzo Contratto <<extends>> Valutazione Venditore Granularità: fine o grande Conseguire un obiettivo preciso I casi d uso descrivono funzionalità osservabili dall esterno del sistema Spesso catturano funzioni visibili agli utenti Servono come base per il testing Quando e come Quando: La prima cosa da fare, perché catturano i requisiti Come: Produrre un caso d uso per ciascun comportamento specifico il cliente si aspetti dal sistema Dare un nome al caso d uso Descriverlo succintamente Aggiungere dettagli in seguito Per identificare i casi d uso: Cercare attori potenziali Cercare eventi esterni potenziali Stesura dei casi d uso Identificare gli attori che interagiscono col sistema Organizzare gli attori Considerare l interazione principale Cercare le eccezioni agli scenari principali Organizzare i comportamenti come casi d uso, usando le relazioni di generalizzazione, inclusione ed estensione

Esempio: gestione conto corrente Il sistema usa uno sportello Bancomat L utente deve poter depositare assegni L utente deve poter ritirare contante L utente deve poter chiedere il saldo L utente deve poter ottenere una ricevuta se lo richiede. La ricevuta riporta il tipo di transazione,la data, il numero di conto, la somma, ed il nuovo saldo Dopo ciascuna transazione viene visualizzato il nuovo saldo Errori tipici Connessioni non direzionali tra attori e casi d uso Le frecce tra i casi d uso non sono tratteggiate ( ) o etichettate <<extend>> o <<extend>>: La freccia va dal caso che descrive l evento alternativo al caso standard : la freccia va dal caso chiamante al caso che descrive le azioni da includere Errori concernenti gli scenari Se I casi d uso sono connessi allora la descrizione testuale denota questo fatto: - include (verifica utente) <<extends>> - extends(stampa ricevuta)... Errori riguardanti gli scenari Assenza di precondizioni Mancata connessione alla rappresentazione grafica Nomi diversi per le stesse entità nelle rappresentazioni grafica e testuale Nome del caso d uso che appare più volte nel diagramma

Altri errori Soluzione Diagrammi di flusso invece di casi d uso: uncaso d uso è una sequenza di azioni, non una singola azione Flusso eccezionale. Non solo condizione di eccezione, ma anche azioni se occorrono Flusso eccezionale: mancanza di indicazioni nel flusso principale del punto in cui va controllata la condizione eccezionale User withdraw check balance deposit <<extend>> (print receipt) <<extend>> (print receipt) Verify user withdraw with receipt deposit with receipt Soluzione Use case: withdraw Precondition: User has selected withdraw option Main flow: Include (Verify user) Prompt user for amount to withdraw Check available funds of user Check available money of ATM Remove amount from account Give money (print receipt) Print current balance Exceptional flow If not sufficient funds or money available, prompt user for lower amount Soluzione Use case: deposit Precondition: User has selected deposit option Main flow: Include (Verify user) Prompt user for amount of deposit Open slot Get check (print receipt) Print (balance + deposited amount)

Soluzione Use case: check balance Precondition: User has selected balance option Main flow: Include (Verify user) Print balance Use case: verify user Precondition: none Main flow: User enters ID card Soluzione User enters PIN number System checks validity of card and number Exceptional flow: If combination is not valid, reject user Soluzione Use case: withdraw with receipt Precondition: User has selected withdraw option and print receipt option Use case: deposit with receipt Precondition: User has selected deposit option and print receipt option... Sommario I casi d uso rappresentano funzionalità del sistema da progettare Caso d uso: funzione del sistema che produce un risultato visibile ad un attore. Attore: entità esterna al sistema che interagisce con esso Gli attori sono esterni al sistema, I casi d uso sono all interno del sistema I casi d uso si rappresentano con disegni (modelli) e con scenari

Riferimenti Booch, Rumbaugh, Jacobson: The Unified Modeling Language User Guide. Addison Wesley, 1999 Rumbaugh, Jacobson, Booch, The UML Reference Manual, AW 1999 [UML 1.5] OMG UML Specification v. 1.5