Casi d uso: esercizi



Documenti analoghi
Casi d uso: esercizi

Il diagramma dei casi d uso

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Casi d uso. Marina Zanella - Ingegneria del Software UML: Casi d uso 1

Il diagramma dei casi d uso

Ingegneria del Software 18. Realizzazione casi d uso. Dipartimento di Informatica Università di Pisa A.A. 2014/15

System Analysis (SA) MGT MiGiocoTutto

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

2. Modellazione dei casi d uso

DOCUMENTAZIONE TECNICA ADD-ON MILLEWIN ACCREDITAMENTO E.TOSCANA COMPLIANCE. Data di emissione: Luglio 2014 Autore: Emanuela Consoli Revisione: 01.

Corso di Ingegneria del Software. Esempi di casi d uso

DOCUMENTAZIONE TECNICA ADD-ON MILLEWIN ACCREDITAMENTO E.TOSCANA COMPLIANCE

Microsoft Visio 2002 UML Sergio Colosio

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

Autenticazione degli utenti

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Corso di Ingegneria del Software. Casi d uso

Analisi dei Casi d Uso

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Introduzione ai casi d uso

UML2. Concetti base. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino

UML UNIFIED MODELING LANGUAGE

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Introduzione alla programmazione

Ingegneria del Software T. Analisi orientata agli oggetti

Ingegneria del Software 3. Analisi dei requisiti. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Si consideri il caso di studio 2, Grande distribuzione, e in particolare la modifica dei prezzi.

SOMMARIO. DIAGRAMMI DEI CASI D USO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Cosa sono gli Use Case. Specifica Use Case

Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Use Case Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Certificazione e.toscana Compliance. Applicativi di Sistemi Informativi degli Enti Locali (SIL)

Ingegneria del Software T. Analisi orientata agli oggetti

Work-flow per la gestione di : Denunce Aziendali Registri di Impresa Denunce DMAG presentate all INPS in modalità telematica a mezzo INTERNET

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Tema Di Progetto 1 Descrizione

Introduzione ai casi d uso. Iolanda Salinari

Lab ISW 2012/2013: Progetto

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

SOMMARIO DIAGRAMMI DI ATTIVITÀ

System Design (SD) MGT MiGiocoTutto

Traccia delle soluzioni. Si consideri il seguente enunciato: Spett Ditta,

7. Sezione Contatti WebMail PEC Aruba: Creazione Contatti e Gruppi di Persone

Sviluppo Applicazione per la gestione e consultazione di materiale didattico

IL CASO DI STUDIO nelle classi IVA e IVB. Progettiamo e realizziamo un sito web configuratore di PC.

PROGETTO VIDEOSTORE. Andrea Asta Gianluca Gallo Thomas Bridi

Modellazione dei dati in UML

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

Guida Utente Registrato SIMIT

Analisi, rappresentazione e progettazione delle procedure

Analisi e Progettazione

Modellazione funzionale con Data Flow Diagram

Informatizzazione della Libreria Amaddeo

POLIGRAFICO E ZECCA DELLO STATO ITALIANO MIDDLEWARE CIE MANUALE UTENTE 30/05/19

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

Progettazione del Software

Login area riservata Santander Consumer Bank

Analisi, rappresentazione e progettazione delle procedure

Simple Social: implementazione di una

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

MANUALE D UTILIZZO BACK OFFICE PAGATORE

Portale Edicola CARD - Manuale Utente.

Venere TS Certificati (Guida operativa)

Progettazione Concettuale e Modello di Progetto

Progettazione Logica e Modello Realizzativo

SOMMARIO DIAGRAMMI DI SEQUENZA

progettazione delle procedure

Area: InvoiceComm. Punto di menù: Gestione e distinte

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Web Application Engineering

Documento Tecnico Operativo. Invio PEC On Line - IPOL

Caso d Uso: AcquistoAbbonamentoStudentiSettimanaleGiornaliero Breve descrizione. Procedura per la registrazione al servizio CicloPi.

SOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni

OOA Esercizi. UniRoma2 - Arch. e Servizi SW per Internet 1

elabdoc Guida rapida 1.0

MODULO 07. La soluzione dei problemi mediante gli algoritmi

OO design pattern. Design pattern: motivazioni

SOMMARIO DIAGRAMMI DEI CASI D USO

Fondamenti di Informatica e Programmazione

Progetto Basi di dati I

CIE 3.0, Manuale utente del middleware CIE

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

ATTIVAZIONE SERVIZIO CLICCA&POSTA e MODALITA DI GUADAGNO PER ESERCENTI PAYMAT

Guida introduttiva: Uso dei vantaggi e-learning

Magazzino: software di gestione di un database di strumenti musicali

Servizi per il cittadino: le richieste di prestazioni via Internet.

Programmazione a Oggetti Modulo B

Progettazione del Software Analisi

Documento di Progettazione Applicazione "Agorà"

UML. UML Book. Diagrammi di attività. Cosa sono? Notazione. Cosa sono?

Progetto PC versione del 11 gennaio 2008

Domande Frequenti Ordine Prodotti it.myherbalife.com Italia, 13/01/2016

Cimino - Informatica per la Logistica Lezione 3 - slide 16 di 23

Fonte: 2

COME INSTALLARE L APP DI MOBYPAY, ATTIVARE IL TERMINALE POS ED ESEGUIRE UN PAGAMENTO GUIDA UTENTE OTTOBRE 2018 VERSIONE V05

L uomo come esecutore di algoritmi

Funzionalità di Network Assistant

ISTRUZIONI PER LA COMPILAZIONE ONLINE DELLE DOMANDE

Transcript:

Casi d uso: esercizi Angelo Di Iorio (in parte di: Gianpiero Favini e Sara Zuppiroli) A.A. 2012-2013 Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 1 / 36

Tools UML ArgoUML, http://argouml.tigris.org/ Eclipse MDT UML2, http://www.eclipse.org/uml2/ Omondo EclipseUML, http://www.omondo.com/ bouml, http://bouml.free.fr/ Umbrello UML, http://uml.sourceforge.net/ Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 2 / 36

Il diagramma dei casi d uso Si tratta di un diagramma che esprime un comportamento, desiderato o offerto. Individua: chi o che cosa ha a che fare con il sistema (attore) che cosa l attore può fare (caso d uso). Modella i requisiti funzionali di un sistema. I requisiti funzionali specificano cosa deve essere fatto. Sono indipendenti dalla tecnologia, dall architettura, dalla piattaforma, dal linguaggio di programmazione. Sono esclusi i requisiti non-funzionali, che specificano vincoli aggiuntivi (performance, scalabilità, ecc.) Si individuano prima gli attori e poi i casi d uso! Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 3 / 36

Un po di notazione UML Consulta catalogo Cliente Caso d uso: specifica di una sequenza di azioni, incluse eventuali sequenze alternative e/o di errore che un sistema (o sottosistema) può eseguire interagendo con attori esterni. Il nome (etichetta) dovrebbe essere basato su un verbo o su un sostantivo che esprime un avvenimento. Attore: un ruolo assunto da un utente o altra entità che interagisce col sistema nell ambito di un caso d uso. Non è necessariamente umano: oggetto fisico, agente software, condizioni ambientali, etc. Associazione: collega gli attori ai casi d uso. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 4 / 36

Elementi del diagramma: generalizzazione Impiegato Persona Acquista orologio Acquista prodotto Collega un attore o caso d uso ad un altro più generale. Il figlio può sostituire il genitore dovunque questi appaia. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 5 / 36

Elementi del diagramma: include Acquista prodotto <<include>> Consulta catalogo <<include>> Effettua pagamento Una dipendenza tra casi d uso; il caso incluso fa parte del comportamento di quello che lo include. L inclusione non è opzionale ed avviene in ogni istanza del caso d uso. La corretta esecuzione del caso d uso che include dipende da quella del caso d uso incluso. Usato per riutilizzare parti comuni a più casi d uso. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 6 / 36

Elementi del diagramma: extend Acquista prodotto <<extend>> Registra account Una dipendenza tra casi d uso (notare il verso della freccia). Il caso d uso che estende (client) specifica un incremento di comportamento a quello esteso (supplier). Si tratta di comportamento supplementare ed opzionale che gestisce casi particolari o non standard. Diverso da una generalizzazione tra casi d uso? Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 7 / 36

Specifiche del caso d uso Spesso nasce l esigenza di abbinare i diagrammi dei casi d uso a specifiche testuali più formali. Ogni caso d uso ha un nome e una specifica. La specifica è composta da: precondizioni: condizioni che devono essere vere prima che il caso d uso si possa eseguire sequenza degli eventi: i passi che compongono il caso d uso postcondizioni: condizioni che devono essere vere quando il caso d uso termina l esecuzione Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 8 / 36

Esercizi Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 9 / 36

Esercizio 1: Negozio on-line Si consideri un negozio che rende disponibile un catalogo liberamente consultabile on-line. Gli utenti registrati possono inviare un ordine di acquisto (comunicando i dati di pagamento), che viene memorizzato nel sistema e trasferito al reparto ordini che lo evade. Si rappresenti il sistema con un diagramma dei casi d uso. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 10 / 36

Esercizio 1: estrarre i requisiti Chi interagisce con il sistema (attori)? Cosa fanno (casi d uso)? Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 11 / 36

Esercizio 1: estrarre i requisiti Chi interagisce con il sistema (attori)? Clienti Amministratori del negozio online Reparto ordini Cosa fanno (casi d uso)? Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 12 / 36

Esercizio 1: estrarre i requisiti Chi interagisce con il sistema (attori)? Clienti Amministratori del negozio online Reparto ordini Cosa fanno (casi d uso)? Il cliente si registra, consulta il catalogo ed effettua acquisti Il cliente sceglie il tipo di pagamento L amministratore organizza il catalogo Il reparto ordini evade gli ordini Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 13 / 36

Esercizio 1: soluzione Web store Consulta catalogo Registra account Cliente <<include>> <<extend>> Genera ordine <<include>> Acquista prodotto <<include>> Impiegato Resp. ordini Admin Evadi ordine Modifica catalogo Immetti dati pagamento Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 14 / 36

Esercizio 2: Museo Si consideri un sistema Museo. Gli utenti possono visitare il museo, comprando un biglietto venduto da un addetto alla biglietteria o usando biglietti acquistati precedentemente. La visite avvengono da soli oppure con una guida. Alcune categorie di visitatori hanno diritto ad un biglietto ridotto, previa dimostrazione dell applicabilità della riduzione. Si rappresenti il sistema con un diagramma dei casi d uso. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 15 / 36

Esercizio 2: soluzione Altre soluzioni? Differenziare le visite e/o gli acquisti? Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 16 / 36

Esercizio 3: Immetti pagamento Si consideri l esercizio precedente relativo al catalogo on-line. Scrivere la specifica del caso d uso Immetti pagamento. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 17 / 36

Esercizio 3: cosa non va? Incomincia quando si seleziona la funzione immetti pagamento Vengono inseriti i dati del cliente Il sistema verifica i dati del cliente Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 18 / 36

Esercizio 3: sequenza di eventi (migliorata) Incomincia quando si seleziona la funzione immetti pagamento Il caso d uso inizia quando il cliente seleziona la funzione immetti pagamento Vengono inseriti i dati del cliente Il cliente inserisce nel form il suo nome e il numero di carta di credito Il sistema verifica i dati del cliente Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 19 / 36

Esercizio 3: soluzione Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 20 / 36

Esercizio 4: aggiorna carrello Si descriva la specifica del caso dal caso d uso aggiorna carrello di un negozio on-line. Dopo aver aggiunto un articolo al carrello, il cliente può eseguire due operazioni: richiedere una nuova quantità rimuovere l articolo dal carrello Inoltre il cliente può abbandonare la pagina del carrello in qualunque momento Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 21 / 36

Esercizio 4: soluzione Esempio ID: UC2 Attori: Cliente Caso d'uso: AggiornaCarrello Precondizioni: 1. Il contenuto del carrello è visibile Sequenza degli eventi: 1. Il caso d'uso inizia quando il Cliente seleziona un articolo nel carrello. 2. Se il Cliente seleziona rimuovi articolo 2.1 Il Sistema elimina l'articolo dal carrello. 3. Se il Cliente digita una nuova quantità 3.1 Il Sistema aggiorna la quantità dell'articolo presente nel carrello Postcondizioni: 1. Il contenuto del carrello è stato aggiornato Sequenza alternativa 1: 1. In qualunque momento il Cliente può abbandonare la pagina del carrello Postcondizioni: UML 72 Meglio chiamarlo AggiornaVoceDelCarrello? Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 22 / 36

Esercizio 5: Ritira biglietto Si consideri l esercizio precedente relativo al museo. Scrivere la specifica del caso d uso Ritira biglietto. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 23 / 36

Esercizio 5: soluzione Nome: RitiraBiglietto ID: CU5 Precondizioni: l utente ha acquistato il biglietto Sequenza principale: 1. Il caso d uso inizia quando il cliente seleziona ritira alla biglietteria automatica 2. L utente specifica gli estremi del biglietto 3. Il sistema registra la consegna 4. Il sistema eroga il biglietto Sequenze alternative: Al punto 1, se gli estremi non sono validi: re-immettere i dati. Al punto 1, se il biglietto è stato già erogato: esci. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 24 / 36

Esercizio 6: Sportello del cittadino Si consideri un sistema di sportello automatico, da cui i cittadini possono ritirare certificati o pagare multe, previa autenticazione tramite tessera magnetica o inserimento di un PIN personale. Si rappresenti il sistema con un diagramma dei casi d uso Si descrivano gli scenari di successo e di insuccesso relativi al pagamento di una multa in contanti (con errori dovuti a: codice della multa non corretto, time-out del sistema, annullamento esplicito dell operazione). Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 25 / 36

Esercizio 6: cosa non va? Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 26 / 36

Esercizio 6: diagramma Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 27 / 36

Esercizio 6: pagamento multa, scenario principale 1. Il sistema richiede l inserimento del codice della multa 2. L utente digita il codice della multa 3. Il sistema visualizza i dati relativi alla multa 4. L utente conferma il pagamento 5. Il sistema apre lo sportello per l inserimento delle banconote 6. L utente inserisce le banconote 7. Il sistema verifica se l ammontare è corretto 8. Il sistema emette la ricevuta di pagamento Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 28 / 36

Esercizio 6: pagamento multa, scenario secondario A 1. Il sistema richiede l inserimento del codice della multa 2. L utente digita il codice della multa 3. Il sistema visualizza un messaggio codice non corretto Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 29 / 36

Esercizio 6: pagamento multa, scenario secondario B 1. Il sistema richiede l inserimento del codice della multa 2. L utente digita il codice della multa 3. Il sistema visualizza i dati relativi alla multa 4. L utente conferma il pagamento 5. Il sistema apre lo sportello per l inserimento delle banconote 6. L utente annulla l operazione Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 30 / 36

Esercizio 6: pagamento multa, scenario secondario C 1. Il sistema richiede l inserimento del codice della multa 2. L utente digita il codice della multa 3. Il sistema visualizza i dati relativi alla multa 4. L utente conferma il pagamento 5. Il sistema apre lo sportello per l inserimento delle banconote 6. L utente impiega più di 5 minuti per completare il pagamento 7. Il sistema comunica che interromperà l operazione 8. Il caso d uso termina Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 31 / 36

Esercizio 7: gestione dei pazienti Viene richiesto un sistema che permetta la gestione del pazienti di un ambulatorio. Per accedere alle operazione bisogna autenticarsi. Le operazioni possibili sono: modifica dei dati anagrafici del paziente, semplice visualizzazione dei suoi dati anagrafici, cancellazione della scheda del paziente, spedizione di una email. Disegnare il diagramma dei casi d uso e descrivere le sequenze relative. Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 32 / 36

Qualche suggerimento Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 33 / 36

Consigli per l individuazione dei casi d uso Mantenere i casi d uso brevi e semplici la descrizione non dovrebbe superare una pagina evitare dettagli di progettazione non appesantirli con informazioni non essenziali Evitare la scomposizione funzionale non scomporre i casi d uso con il metodo top-down (es. caso d uso GestisciBiblioteca scomposto in GestioneLibri e GestionePrestiti e via via nei dettagli) i casi d uso emergono dai requisiti, non bisogna cercare di organizzarli in maniera artificiosa Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 34 / 36

Errori tipici sui diagrammi Diagrammi di flusso invece di casi d uso: un caso d uso è una sequenza di azioni, non una singola azione! Nome del caso d uso che appare più volte nel diagramma Le frecce tra i casi d uso non sono tratteggiate (- - - - - -> ) o etichettate «extend» o «include» «extend»: la freccia va dal caso che descrive l evento alternativo al caso standard «include»: la freccia va dal caso chiamante al caso che descrive le azioni da includere Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 35 / 36

Errori tipici sugli scenari Assenza di precondizioni Mancata connessione alla rappresentazione grafica Nomi diversi per le stesse entità nelle rappresentazioni grafica e testuale Flusso eccezionale: mancanza di indicazioni nel flusso principale del punto in cui va controllata la condizione eccezionale Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 36 / 36