Ingegneria del Software I. UML - Use Case Diagram



Похожие документы
Casi d uso (use cases)

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

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

UML - Unified Modeling Language

Sistemi Informativi I Caso di studio con applicazione di UML

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

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

Informatica Industriale Modello funzionale Casi d uso

Concetti di base di ingegneria del software

Il diagramma dei casi d uso

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

Unified Modeling Language

Database. Si ringrazia Marco Bertini per le slides

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

Introduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali

Modellazione dei dati in UML

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

Appendice III. Competenza e definizione della competenza

Gestione del workflow

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

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 A.A.2008/09

Modellazione di sistema

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Generazione Automatica di Asserzioni da Modelli di Specifica

ANALISI E MAPPATURA DEI PROCESSI AZIENDALI

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

Software per Helpdesk

Progettazione di Basi di Dati

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Diagrammi di Interazione

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

InitZero s.r.l. Via P. Calamandrei, Arezzo

Strumenti di modellazione. Gabriella Trucco

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Creare diagrammi di Gantt con Visio 2003

Incident Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Standard di documentazione Linee guida per la rappresentazione dei processi

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Il modello veneto di Bilancio Sociale Avis

Informativa sulla privacy

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

Esempio ordini 08UMLEX1.1

Progettazione concettuale

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

Soluzione dell esercizio del 2 Febbraio 2004

International School of Siena. Procedura di ammissione. Le procedure

Ingegneria del Software 5. Esercizi sui casi d uso. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Sistemi informativi secondo prospettive combinate

03. Il Modello Gestionale per Processi

Progettaz. e sviluppo Data Base

5. Requisiti del Software II

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

Cosa è un foglio elettronico

LINEE GUIDA - UML - CASI D USO

Ingegneria del Software UML - Unified Modeling Language

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Trasformazione dei Processi in Progetti DIB 1

La conservazione digitale tra obblighi e opportunità

Sequence Diagram e Collaboration Diagram

5. Requisiti del Software II

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

Overview SAP Workflow. ECORA Srl - Massimo Rastaldi m.rastaldi@eco-ra.it Cell

PROGETTO SEGNALAZIONE E GESTIONE RECLAMI/DISSERVIZI

Gestione Automatizzata di una Lista Nozze

Lezione 2. Il modello entità relazione

Specifiche Tecnico-Funzionali

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

GESTIONE MANUTENZIONI

Fatturazione elettronica con WebCare

S i s t e m a d i v a l u t a z i o n e d e l l e p r e s t a z i o n i d e i d i p e n d e n t i

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

Gestione Turni. Introduzione

Il marketing dei servizi. La gestione degli intermediari

Lezione 4. Modello EER

Struttura documenti del SGQ

Mac Application Manager 1.3 (SOLO PER TIGER)

Come gestire il cambiamento organizzativo?

G S M C O M M A N D E R Duo S

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

PROGETTAZIONE DEL SOFTWARE

Organizzazione degli archivi

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10. Angelo Bonomi

Configuration Management

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

LA RICLASSIFICAZIONE DEI SALDI CONTABILI CON MICROSOFT ACCESS 2007

4.1 Che cos è l ideazione

Automazione della gestione degli ordini d acquisto di una società di autonoleggio

visto il trattato che istituisce la Comunità europea, in particolare l articolo 93, vista la proposta della Commissione,

Fasi di creazione di un programma

Транскрипт:

Requisiti e casi d uso Unified Modeling Language Use Case Diagram 1 Il primo passo di qualsiasi processo di sviluppo è la definizione dei requisiti Definizione del Business Model Solitamente informale e in linguaggio naturale Jacobson (OOSE) propone una notazione particolare che è confluita in UML: i casi d uso Esprime una interazione tipica tra un utente ed il sistema software. Il punto di vista da adottare nella definizione dei casi d uso è quello dell attore, non quello delle funzionalità interne al sistema. Cattura il comportamento esterno del sistema da sviluppare, senza dover specificare come tale comportamento viene realizzato (sistema = black-box) Forniscono una descrizione delle modalità di utilizzo del sistema da parte di un utilizzatore (attore) 2 Esempio: gestione ordini Casi d uso per descrivere le interazioni utente-sistema I casi d uso possono essere descritti sotto forma di scenario di interazione (dialogo) tra gli utilizzatori e il sistema: Caso d uso: effettuare ordine» 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 Un caso d uso rappresenta una funzionalità dal punto di vista di chi la utilizza ogni caso d uso può soddisfare più requisiti funzionali un requisito funzionale può dare origine a più casi d uso a ogni caso d uso possono venire associati più requisiti non Attore Caso d uso 3 funzionali 4

Elementi grafici del modello dei casi d uso Il modello dei casi d uso presenta una vista del sistema con gli attori, i casi d uso e le loro associazioni Attore Caso d uso Relazione di Associazione 5 Attore Un ruolo (o un insieme di ruoli) che l utente del caso d uso svolge nell interagire col sistema E esterno al sistema Può essere:» Una classe di persone fisiche (es. Fornitore)» Un altro sistema software (es. Sistema di contabilità)» Un dispositivo hardware esterno (es. Sensore) Controlla le funzionalità Fornisce input o riceve output dal sistema Può partecipare a più use case Uno stesso utente può rivestire più ruoli nel medesimo use case Uno stesso use case può coinvolgere più actor Un actor non necessariamente è un essere umano Un attore sollecita il sistema con un qualche evento e ne riceve un output. 6 Caso d Uso Casi d uso e transazioni Descrive il comportamento del sistema quando sollecitato da un attore Il comportamento è descritto in maniera testuale, come sequenza di transazioni del sistema, il cui compito è produrre un risultato di valore misurabile per un attore del sistema. Una transazione è un insieme atomico di attività (sono completate o non sono eseguite affatto) La descrizione di un caso d uso definisce cosa accade nel sistema in seguito all evento di innesco Generalmente lo stimolo parte dall attore, ma può anche essere il sistema stesso ad iniziare il caso d uso (es. Produzione cedolini a fine mese, ricarico automatico di un magazzino) Un caso d uso corrisponde ad un compito che l attore vuole eseguire (l attore inizia il caso d uso) o il sistema deve eseguire (il sistema inizia il Esempio: Transazioni: Apri conto corrente caso d uso) 7 8 cliente verifica esistenza cliente in anagrafica acquisizione nuova anagrafica acquisizione firma digitalizzata inserimento nuovo conto corrente

Relazioni principali Association: identifica relazioni semplici tra attori e casi d uso Include: fattorizza proprietà comuni. Extend: identifica comportamenti simili (varianti). A può essere visto come una variante di B Generalization si applica sia ad attori che a use case. A eredita il comportamento di B. A può essere sostituito ad ogni occorrenza di B 9 Diagramma dei Casi d Uso Contiene Attori Casi d uso Relazioni di associazione, dipendenza e generalizzazione Usato per modellare il contesto di un sistema Gli attori sono esterni al sistema I casi d uso sono all interno del sistema Usato per modellare (visualmente) i requisiti funzionali Ogni caso d uso corrisponde a uno o più requisiti funzionali Ogni caso d uso è coinvolto in una qualche relazione Diversi livelli di dettaglio Decomposizione gerarchica 10 Esempio: gestione ordini Esempio: centralina telefonica per ufficio Trasferisci chiamata Utente Accetta chiamata Interrompe chiamata Effettua chiamata diretta Centralinista Lo Use Case diagram di livello più alto Effettua chiamata indiretta definisce il contesto del modello 11 12

Attori e generalizzazione Generalizzazione fra casi d uso Tra gli actor possono esistere delle relazioni di generalizzazione Esempio Cliente Persona Un caso d uso figlio eredita il comportamento ed il significato del caso d uso padre Il figlio può aggiungere o modificare il comportamento del padre (es. Caso d uso Valida Utente) Valida utente Controlla Password Controlla Retina 13 14 Relazione di Inclusione Un comportamento comune a più casi d uso diventa un caso d uso che è incluso nei casi d uso di partenza. L inclusione evita di copiare la descrizione del comportamento comune nei differenti use case che lo coinvolgono. L inclusione avviene in un punto preciso della descrizione del caso d uso includente. Il caso incluso non ha senso da solo. Rappresentato graficamente come una dipendenza come Relazione di Estensione Comportamenti alternativi o eccezionali (opzionali) di un caso d uso formano dei casi d uso che estendono il caso d uso generale nel caso d uso esteso viene inserito un punto d estensione nei sottocasi d uso si fa riferimento a questi punti La relazione extends va utilizzata quando abbiamo uno use case simile ad un altro che però fa qualcosa in più. Contratta Prezzo Valutazione Analizza Rischio Nell esempio sia Valutazione Rischio che Contratta Prezzo impongono una Valutazione 15 caso d'uso generale sottocaso d'uso 1 sottocaso d'uso 2 16

Extends versus Includes Esempio: gestione ordini Una semplice regola: utilizzare extends quando si descrive una variazione al comportamento normale; utilizzare incudes quando si sta ripetendo la descrizione di un comportamento presente già in uno o più differenti use cases. Effettua ordine Verifica stato di avanzamento (fissa priorità) Valida utente Schedula ordinativi Controlla password generalization 17 18 Esempio: centralina telefonica Documentazione: descrizione dei casi d uso Per ogni use case: Componi numero Trasferire chiamata Effettua chiamata indiretta Effettua chiamata diretta Effettua chiamata interna Effettua chiamata esterna 19 Titolo: Effettua chiamata diretta Autori: Pluto e Topolino Descrizione: L utente compone il numero per effettuare una chiamata diretta Attori: Utente Pre-condizioni: Non identificate Post-condizioni: Non identificate Scenari. 20

Scenari Uno scenario è un istanza di uno use case È una esecuzione particolare dello use case Rappresenta il comportamento (le azioni e gli eventi) del sistema nel caso particolare considerato Definisce cosa accade nel sistema in seguito all evento di innesco» come e quando il caso d uso inizia» chi inizia il caso d uso» interazione tra attore/i e caso d uso e cosa viene scambiato» come e quando c è bisogno di dati memorizzati o di memorizzare dati» come e quando il caso d uso termina Stili di descrizione In linguaggio naturale con chiaro flusso da eseguire UML propone una notazione diagrammatica particolare: gli 21 Interaction Diagrams scenari Ogni use case dovrebbe essere corredato da un insieme di scenari Scenari principali (più possibile)» Tutto funziona correttamente Scenari secondari (pochi e significativi)» Eccezioni (eventuali problemi o malfunzionamenti) Si devono definire tanti scenari quanti sono quelli necessari per capire il corretto funzionamento del sistema e le eccezioni che si ritengono significative durante l analisi 22 Caso d uso: Effettua chiamata interna Scenario 1: chiamata effettuata con successo Caso d uso: Effettua chiamata interna Scenario 2: il telefono chiamato è occupato L utente solleva la cornetta Il tono di libero interno suona L utente compone il numero La chiamata è inoltrata sulla rete telefonica Il telefono chiamato squilla Il tono di attesa suona L utente chiamato risponde I telefoni sono connessi Il telefono chiamato cessa di squillare Il tono di attesa finisce L utente chiamato ripone la cornetta sul telefono I telefoni sono disconnessi L utente ripone la cornetta sul telefono 23 L utente solleva la cornetta Il tono di libero interno suona L utente compone il numero La chiamata è inoltrata sulla rete telefonica Il telefono chiamato è occupato Il tono di occupato suona L utente ripone la cornetta sul telefono 24

Elevator problem: use case diagram Elevator problem: normal scenario 25 1. User A presses Up floor button at floor 3 to request elevator. User A wishes to go to floor 7. 2. Up floor button is turned on. 3. An elevator arrives at floor 3. It contains User B who has entered the elevator at floor 1 and pressed the elevator button for floor 9. 4. Up floor button is turned off. 5. Elevator doors open. User A enters elevator. 6. User A presses elevator button for floor 7. 7. Floor 7 elevator button is turned on. 8. Elevator doors close. 9. Elevator travels to floor 7. 10. Floor 7 elevator button is turned off. 11. Elevator doors open to allow User A to exit elevator. 12. Timer starts. User A exits. 13. Elevator doors close after timeout. 14. Elevator proceeds to floor 9 with User B. 26 Elevator problem: abnormal scenario 1. User A presses Up floor button at floor 3 to request elevator. User A wishes to go to floor 1. 2. Up floor button is turned on. 3. An elevator arrives at floor 3. It contains User B who has entered the elevator at floor 1 and pressed the elevator button for floor 9. 4. Up floor button is turned off. 5. Elevator doors open. User A enters elevator. 6. User A presses elevator button for floor 1. 7. Floor 1 elevator button is turned on. 8. Elevator doors close after timeout. 9. Elevator travels to floor 9. 10. Floor 9 elevator button is turned off. 11. Elevator doors open to allow User B to exit elevator. 12. Timer starts. User B exits. 13. Elevator doors close after timeout. 14.Elevator proceeds to floor 1 with User A. 27 Costruzione del modello dei casi d uso (1) Gli use case possono essere ricavati dalle interviste con gli utenti. Si identificano Gli obiettivi: ciò che il sistema dovrebbe fare secondo gli utenti Le interazioni: cosa vorrebbero (potrebbero) fare i diversi utenti Gli use case di alto livello sono volutamente generici I dettagli vanno aggiunti raffinando le funzionalità del sistema Bisogna esplorare le diverse possibilità per non introdurre prematuramente scelte progettuali 28

Costruzione del modello dei casi d uso (2) Il processo di definizione degli use case è iterativo Si inizia identificando il comportamento più semplici Si descrivono i comportamenti alternativi e più complessi Quando smettere? Un buon livello di dettaglio facilita tutte le attività successive Troppi dettagli» Complicherebbero inutilmente la descrizione» Introdurrebbero prematuramente scelte progettuali» Precluderebbero la visione d insieme Passi per la costruzione di un modello dei casi d uso 1. Identificazione degli attori 2. Identificazione dei casi d uso 3. Definizione delle associazioni fra attori e casi d uso 4. Descrizione dei casi d uso 5. Strutturazione dei casi d uso 29 30 1. Identificazione degli attori Identificare le persone che interagiscono con il sistema per eseguire qualche compito persone che necessitano del sistema per svolgere qualche compito persone che il sistema richiede per svolgere qualche compito considerare sia i compiti principali che quelli di supporto al sistema, quali manutenzione ed amministrazione Raggruppare le persone identificate secondo i loro ruoli (responsabilità) rispetto al sistema Identificare altri sistemi software e dispositivi esterni che interagiscono con il sistema per svolgere qualche 2. Identificazione dei casi d uso Per ogni attore: identificare i compiti o funzioni che l attore deve essere in grado di eseguire identificare i compiti che il sistema richiede che l attore esegua Raggruppare compiti e funzioni in casi d uso i casi d uso devono corrispondere ad un obiettivo specifico per l attore o per il sistema raggruppare funzioni che sono eseguite in sequenza o che sono innescate dallo stesso evento il caso d uso non deve essere né troppo grande né troppo piccolo (non decomporre funzioni complesse in casi d uso per ogni sottofunzione) Assegnare al caso d uso un nome significativo che compito 31 32 sintetizzi la/le funzionalità svolta/e

3. Definizione delle associazioni fra attori e casi d uso Ogni attore deve partecipare in almeno un caso d uso Ogni caso d uso deve avere almeno un attore con cui comunica Se due attori partecipano agli stessi casi d uso considerare la possibilità di combinarli in un unico attore 33 4. Descrizione dei casi d uso Considerare sia lo scenario principale che scenari alternativi ed eccezionali Per ogni scenario specificare: come e quando il caso d uso inizia chi avvia il caso d uso interazione tra attore/i e caso d uso e cosa viene scambiato come e quando c è bisogno di dati memorizzati o di memorizzare dati come e quando il caso d uso termina Se due casi d uso hanno comportamenti leggermente diversi e gli stessi attori, considerare la possibilità di avere un unico caso d uso con scenari alternativi 34 5. Strutturazione dei casi d uso Oltre l analisi dei requisiti Identificare le relazioni di generalizzazione ed estensione specializzare i casi d uso che hanno molti scenari alternativi collegare i nuovi casi d uso a quelli di partenza mediante relazioni di generalizzazione o di Identificare le relazioni di inclusione individuare parti comuni in casi d uso diversi collegare i casi d uso che condividono una parte comune al nuovo caso d uso (rappresentante il comportamento condiviso) mediante l associazione 35 Convalida del sistema Gli use case possono essere utilizzati per ricavare i dati di test con cui convalidare il sistema» Ogni use case rappresenta una funzionalità che andrebbe verificata Gestione del progetto Gli use case propongono una nuova unità di misura Gli use case potrebbero essere utili per» Organizzare il progetto» Stimare la complessità 36