SOMMARIO DIAGRAMMI DEI CASI D USO

Documenti analoghi
SOMMARIO DIAGRAMMI DEI CASI D USO INGEGNERIA DEL SOFTWARE. Cosa sono gli Use Case. Specifica Use Case

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

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

SOMMARIO DIAGRAMMI DI ATTIVITÀ

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

SOMMARIO DIAGRAMMI DI SEQUENZA

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.

SOMMARIO. DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Partecipanti e messaggi.

SOMMARIO DIAGRAMMI DEI PACKAGE

Corso di Ingegneria del Software. Casi d uso

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

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

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

Analisi dei Casi d Uso

2. Modellazione dei casi d uso

Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Corso di Ingegneria del Software. Esempi di casi d uso

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

modelli casi d uso diagrammi di sequenza di sistema contratti delle operazioni di sistema Capitolo 11

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

Introduzione ai casi d uso

Casi d uso: esercizi

Progettazione del Software Analisi

Progettazione Concettuale e Modello di Progetto

UML Unified Modeling Language

Progettazione del Software

Microsoft Visio 2002 UML Sergio Colosio

Progettazione Logica e Modello Realizzativo

Casi d uso: esercizi

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

DIAGRAMMI DEI PACKAGE

ESERCITAZIONE PREPARAZIONE ALL ESAME,

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

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

Proff. Toni Mancini & Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza

Introduzione ai casi d uso. Iolanda Salinari

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

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

Corso di Ingegneria del Software. Activity Diagram

Il PROCESSO UNIFICATO

Fondamenti di Informatica II 21. Standard UML

Fondamenti di Informatica

Laboratorio 6: Casi d Uso

Mercoledì 4 Aprile 2012, Aula AD01. Mario G.C.A. Cimino, Gigliola Vaglini Dipartimento di Ingegneria dell Informazione

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

LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM

Esercizi design patterns. Angelo Di Iorio,

Unified Modeling Language (UML)

System Analysis (SA) MGT MiGiocoTutto

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio 5: Analisi di processo

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

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

Ingegneria del Software

Ingegneria del Software L-A

UML I diagrammi implementativi

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

Gestione del workflow

UML2. Progettazione della realizzazione dei casi d uso. Andrea Polini

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Una Metodologia per il Progetto di Sistemi Informativi Overview

Ingegneria del Software T. Analisi orientata agli oggetti

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

Ingegneria del Software A.A. 2016/2017 Esame

Laboratorio 10: Casi d uso e Mockup

Alcuni diagrammi. OCL (Object Constraint Language)

Introduzione a UML Adriano Comai Introduzione a UML. Adriano Comai Pag. 1

SOMMARIO CHE COS È UML

Una metodologia per la specifica di software a componenti

Redazione e Presentazione di Progetti Informatici

Modellazione discreta con UML

UML GML- Classi di Oggetti

Processi fisici Processi informativi Processi aziendali

UML GML- Classi di Oggetti

SOMMARIO CHE COS È UML

ESERCITAZIONE PREPARAZIONE ALL ESAME,

Manuale d uso della piattaforma per lo sviluppo e rilascio di componenti software. QMSS - Continuous Integration

Ingegneria del Software T. Analisi orientata agli oggetti

Il diagramma dei casi d uso

UML UNIFIED MODELING LANGUAGE

Corso di Ingegneria del Software. Modelli di produzione del software

Ingegneria del Software 8. Diagrammi di attività. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

Iterator pattern - Step 0

I Diagrammi di Flusso OO

INGEGNERIA DEL SOFTWARE

Use case diagrams and templates in the specification of functional requirements

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

La lezione di oggi. Sparxsystems: Enterprise Architect 6.1". Gentleware: Poseidon for UML". [

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework

Programmazione ad Oggetti

Transcript:

INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 Use Case: Inclusione Use Case: Estensione Use Case: Generalizzazione Individuazione id i Use Case 2 rcardin@math.unipd.it Use Case: Inclusione Use Case: Estensione Use Case: Generalizzazione Individuazione Use Case 3 4

COSA SONO GLI USE CASE Analisi dei Requisiti Diagrammi Use case Diagrammi di flusso Revisione dei Requisiti Diagrammi dei package Diagrammi delle classi Diagrammi degli oggetti Diagrammi di attività Diagrammi di sequenza R. Progetto Architetturale Tecniche per individuare i requisiti funzionali Descrivono interazioni Sistema Utenti (attori)/elementi esterni al sistema Come il sistema deve essere utilizzato? Che funzionalità espone? Esempio R. di Accettazione Revisione di Qualifica Diagrammi delle classi Diagrammi di attività Diagrammi di sequenza Diagrammi i di flusso 5 Il cliente sfoglia il catalogo ed aggiunge i prodotti desiderati al carrello della spesa. Quando il cliente termina l acquisto e deve pagare, lo stesso fornisce le informazioni i i sulla consegna dei prodotti e sulla carta di credito. Il sistema verifica l autorizzazione al pagamento con carta di credito e conferma l acquisto immediatamente e mediante una successiva mail. 6 COSA SONO GLI USE CASE COSA SONO GLI USE CASE Scenari Sequenza di passi che descrivono interazioni Attori (utenti) e il sistema Rappresentazione di una possibilità Scenari alternativi Esempio: la carta di credito non è accettata, il cliente è abituale e il suo profilo è già presente nel sistema, Tutti gli scenari (principale e alternativo) condividono uno scopo Esempio: l acquisto di almeno un prodotto Definizione Un caso d uso è un insieme di scenari (sequenze di azioni) che hanno in comune uno scopo finale (obiettivo) per un utente (attore). Descrivono l insieme di funzionalità del sistema come sono percepite dagli utenti Visione i esterna del sistema Nessun dettaglio implementativo 7 8

COSA SONO GLI USE CASE Attori Ruolo dell utente nell interazione con il sistema Utente: persona, altro sistema esterno Utente fisico più ruoli (attori) Più utente medesimo ruolo (attore) Svolgono il caso d uso per raggiungere l obiettivo Stesso attore più casi d uso Un caso d uso più attori Buon mezzo di individuazione dei casi d uso 1. Individuare la lista degli attori 2. Comprendere i loro obiettivi e come interagiscono con il sistema (quale ruolo a quale funzionalità) Nessun dettaglio implementativo sui modi di interazione! 9 Use Case: Inclusione Use Case: Estensione Use Case: Generalizzazione Individuazione Use Case 10 - riccardo.cardin@gmail.com SPECIFICA USE CASE SPECIFICA USE CASE Use Case sono puro TESTO UML descrive solo gli use case diagram Specificano l interazione tra i casi d uso Il valore aggiunto è nel contenuto testuale Nome/Identificatore Scenario principale Scenari alternativi D eccezione o errore Pre-condizioni Effetti / Garanzia (post-condizioni) Trigger Evento scatenante del caso d uso Attori principali 11 Attori secondari Esempio di caso d uso Use case UC1: Process Sale Primary Actory: Cashier Preconditions: Cashier is identified and authenticated Postconditions: Sale is saved. Tax is correctly calculated. Accounting and Inventory are updated. Commissions recorded. Receipt is generated. Payment authorization approvals are recorded. Main Success Scenario 1. Customer arrives at POS checkout with goods and/or service to purchase 2. Cashier starts a new sale 3. Cashier enters item identifier 4. System records sale line item and presents iterm description, price, and running total. Price calculated from a set of rules 5. System presents total with taxes calculated 6. Cashier tells Customer the total, and asks for payment 7. Extensions a. At any time, System falls: to support recovery and correct accounting, ensure all transaction sensitive ii state and events can be recovered from any step of the scenario 1. Cashier restarts System, logs in, and requests recovery of prior state 2. System reconstructs prior state a. System detects anomalies preventing recovery: a. System signals error to Cashier, records the error, and enters a clean state b. Cashier starts a new sale 12

SPECIFICA USE CASE Considerazioni Un solo scenario principale per caso d uso Scenari alternativi ti i (0..*) Prendono in considerazione solo la parte che differisce dallo scenario principale Granularità Soddisfa lo scopo di un attore (fare un ordine, ) Più piccolo di un processo di business Non fornisce dettagli significativi, non individua le funzionalità del sistema Kite level Più grande di una singola operazione su un componente Dettaglio eccessivo allontana il focus dall obiettivo Sea level, l Fish levell 13 Use Case: Inclusione Use Case: Estensione Use Case: Generalizzazione Individuazione id i Use Case 14 Rappresentazione grafica dei casi d uso Mette in evidenza attori e servizi del sistema Grafo i cui nodi sono Attori Use case Archi del grafo rappresentano La comunicazione tra gli attori e gli use case I legami tra gli use case Relazione di estensione Relazione di inclusione Relazione di generalizzazione Il diagramma individua i confini del sistema nello scenario 15 Componenti di un diagramma use case Attore Use case Il nome del caso d uso può essere posizionato dentro o fuori della figura Relazioni Associazione Inclusione Estensione Generalizzazione «include» «extend» 16

Esempio Sistema di data-mining Esempio esegue Pianificatore finanziario UC1 - Analisi di mercato Associazione attore - use case: partecipazione Comunicazione diretta Utilizzazione del sistema DEVE essere descritta anche in versione TESTUALE 17 18 USE CASE: INCLUSIONE USE CASE: INCLUSIONE Funzionalità comune fra più use case A B Esempi La vendita di una casa o la stipula di un contratto di assicurazione implicano la valutazione dell immobile. Evita la ripetizione / Aumenta il riutilizzo Responsabilità esecuzione di B è completamente di A Sia nelle modalità che nei casi B è incondizionatamente incluso nell esecuzione di A Ogni istanza di A esegue B A non conosce i dettagli di B, ma solo i suoi risultati La compilazione di un file di codice implicano il parsing del documento. Diversi servizi su rete Internet condividono la realizzazione di una connessione TCP. 19 20

USE CASE: ESTENSIONE USE CASE: ESTENSIONE Aumento delle funzionalità di un use case A L esecuzione di B interrompe A La responsabilità dei casi di estensione è di chi estende (B) B Estensione Condizione di estensione Determina quando l estensione deve essere utilizzata Può essere inserita nella descrizione narrativa o nell icona dello use case Quando Uno scenario del caso d uso base raggiunge un punto di estensione La condizione di estensione è verificata Può esistere indipendentemente dagli use case estesi Può estendere più use case base Esempio: gestione dei casi di eccezione 21 22 USE CASE: ESTENSIONE INCLUSIONE E ESTENSIONE Esempio 23 Aspetti in comune Fattorizzano comportamenti comuni a più use case Aumentano il comportamento t di un use case base Differenze Estensione: l attore può non eseguire tutte le estensioni Condizioni non verificate Inclusione: l attore esegue sempre tutte le inclusioni Casi di utilizzo Inclusione: una funzionalità si ripete in più use case Estensione: si vogliono descrivere variazioni dalla funzionalità standard 24

USE CASE: GENERALIZZAZIONE Estendere o modificare caratteristiche base Attori A è generalizzazione di B se B è un caso particolare di A Use Case (raro) I casi d uso figli possono aggiungere g funzionalità rispetto ai padri, o modificarne il comportamento Tutte le funzionalità non ridefinite nel figlio si mantengono in questo come definite nel padre Use Case: Inclusione Use Case: Estensione Use Case: Generalizzazione Generalizzazione fra use case Generalizzazione fra attori 25 Individuazione Use Case 26 INDIVIDUAZIONE USE CASE RIFERIMENTI Definizione del contesto 1. Identificazione attori e responsabilità 2. Identificazione i degli obiettivi i da raggiungere per ciascun attore Primi approssimazione use case 3. Valutare attori e use case e raffinarli Divisione e accorpamento 4. Trovare le relazioni i di inclusione i 5. Trovare le relazioni di estensione 6. Trovare le relazioni di generalizzazione OMG Homepage www.omg.org UML Homepage www.uml.org UML Distilled, Martin Fowler, 2004, Pearson (Addison Wesley) 27 28