5. Requisiti del Software II



Documenti analoghi
5. Requisiti del Software II

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

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

Il diagramma dei casi d uso

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

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

Concetti di base di ingegneria del software

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

Piano di gestione della qualità

11. Evoluzione del Software

Automazione Industriale (scheduling+mms) scheduling+mms.

7. Architetture Software

Informatica Industriale Modello funzionale Casi d uso

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

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

12. Evoluzione del Software

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Soluzione dell esercizio del 2 Febbraio 2004

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

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

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

La Progettazione Concettuale

Strumenti di modellazione. Gabriella Trucco

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

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

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

COACHING. Bocconi Alumni Association. Presentazione

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per

Sistemi Informativi I Caso di studio con applicazione di UML

Appendice III. Competenza e definizione della competenza

MOCA. Modulo Candidatura. [Manuale versione 1.0 marzo 2013]

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

ACQUISIZIONE DATI DI PRODUZIONE SISTEMA PDA

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

03. Il Modello Gestionale per Processi

Ciclo di vita del progetto

Database. Si ringrazia Marco Bertini per le slides

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

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

Gestione del workflow

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

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

EXPLOit Content Management Data Base per documenti SGML/XML

MANUALE DI RIFERIMENTO

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

WorkFLow (Gestione del flusso pratiche)

Introduzione alla teoria dei database relazionali. Come progettare un database

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

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

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

Traccia di soluzione dell esercizio del 25/1/2005

Che volontari cerchiamo? Daniela Caretto Lecce, aprile

Manuale Terminal Manager 2.0

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

Progetto SINTESI - Dominio Provinciale

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

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

Partenza Mercato Utente Idea Concetto Valutazione. Chi sono gli utenti target del tuo concetto di business?

Generazione Automatica di Asserzioni da Modelli di Specifica

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del

Ciclo di vita dimensionale

Dexma Newsletter System

Esercizi su. Funzioni

Cosa è un foglio elettronico

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

La Metodologia adottata nel Corso

Modellazione di sistema

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

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

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

SITO DI PUBBLICAZIONE ANNUNCI

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

MService La soluzione per ottimizzare le prestazioni dell impianto

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

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

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

PROTOS GESTIONE DELLA CORRISPONDENZA AZIENDALE IN AMBIENTE INTRANET. Open System s.r.l.

Gestione delle formazione

leaders in engineering excellence

della manutenzione, includa i requisiti relativi ai sottosistemi strutturali all interno del loro contesto operativo.

CP Customer Portal. Sistema di gestione ticket unificato

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Dispensa di Informatica I.1

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

Transcript:

5. Requisiti del Software II Come scoprire cosa? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 5. Requisiti del Software II 1 / 42

Sommario 1 Generalità 2 Attività dell ingegneria dei requisiti Studio di fattibilità Validazione Gestione (Ingegneria del Software) 5. Requisiti del Software II 2 / 42

Sommario Generalità 1 Generalità 2 Attività dell ingegneria dei requisiti Studio di fattibilità Validazione Gestione (Ingegneria del Software) 5. Requisiti del Software II 3 / 42

Generalità Processo di Ingegneria dei requisiti Obiettivo generale è quello della gestione di un documento dei requisiti. Non esiste processo definitivo, attività tipicamente parte di un processo di ingegneria dei requisiti: Studio di fattibilità ed analisi dei requisiti Scoperta dei requisiti Classificazione ed organizzazione dei requisiti Prioritizzazione dei requisiti e negoziazione Documentazione dei Requisiti Validazione Gestione Anche in questo caso le varie attività possono essere organizzate in diverse maniere. E.g. Iterativo - il peso delle varie attività dunque varierà nelle varie fasi. (Ingegneria del Software) 5. Requisiti del Software II 4 / 42

Sommario Attività dell ingegneria dei requisiti 1 Generalità 2 Attività dell ingegneria dei requisiti Studio di fattibilità Validazione Gestione (Ingegneria del Software) 5. Requisiti del Software II 5 / 42

Sommario Attività dell ingegneria dei requisiti Studio di fattibilità 1 Generalità 2 Attività dell ingegneria dei requisiti Studio di fattibilità Validazione Gestione (Ingegneria del Software) 5. Requisiti del Software II 6 / 42

Studio di fattibilità Studio di fattibilità Studio preliminare sulle implicazioni che il sistema avrà una volta costruito e sulla sua convenienza. Risultato di questa fase sarà una raccomandazione sul continuare o meno lo sviluppo. Le domande a cui tipicamente uno studio di fattibilità dovrà rispondere sono: Il sistema contribuisce al raggiungimento degli obiettivi dell organizzazione a cui è rivolto? Qual è il suo impatto? Può il sistema essere implementato con le tecnologie correnti e con costi e tempi prevedibili? Può il sistema essere integrato con sistemi pre-esistenti? (Ingegneria del Software) 5. Requisiti del Software II 7 / 42

Studio di fattibilità Studio di fattibilità Nella raccolta delle informazioni sarà necessario interagire con il cliente. Alcune domande a cui dovreste cercare risposta sono: Come l organizzazione risolverebbe il problema se non fosse possibile implementare il sistema? Quali sono i problemi con i processi attuali e come il sistema potrà risolverli? Quale contributo il sistema apporterà al raggiungimento degli obiettivi? Le informazioni possono essere trasferite verso o da altre organizzazioni? Il sistema richiederà l introduzione di nuove tecnologie? Quali attività il sistema dovrà supportare e cosa potrà essere lasciato fuori? (Ingegneria del Software) 5. Requisiti del Software II 8 / 42

Sommario Attività dell ingegneria dei requisiti 1 Generalità 2 Attività dell ingegneria dei requisiti Studio di fattibilità Validazione Gestione (Ingegneria del Software) 5. Requisiti del Software II 9 / 42

ed analisi dei requisiti Primo passo è l individuazione degli stakeholders (attori). L elicitazione dei requisiti è resa difficile da alcuni problemi inevitabili : attori non hanno piena coscienza di ciò di cui hanno bisogno. Possono trovare difficile esperimersi o possono richiedere sistemi inattuabili (dati anche corrispondenti costi) Uso di linguaggio tecnico del dominio applicativo Stesso requisito può essere espresso differentemente da differenti persone L ambiente è tipicamente dinamico e le condizioni possono mutare anche repentinamente (Ingegneria del Software) 5. Requisiti del Software II 10 / 42

Attori Attore rappresenta il ruolo che un entità esterna assume quando interagisce con il sistema. La stessa entità potrà ricoprire più ruoli. Rappresentazione grafica degli attori: Individuazione degli attori: Chi o cosa usa il sistema? Chi installa il sistema? Chi partecipa alle varie fasi del ciclo di vita del sistema (avvio, manutenzione, dismissione,... )? Chi ottiene informazioni dal sistema e a chi ne fornisce? Funzioni o azioni che vengono eseguite ad intervalli prestabiliti? (Ingegneria del Software) 5. Requisiti del Software II 11 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Esempio: attori di un sistema bancomat (ATM) Gli attori che sono interessati al funzionamento di un sistema sono vari. Non bisogna limitarsi soltanto ai più ovvi: Correntisti Altre banche Manager di filiali Bancari Amministratori di database Manager della sicurezza La divisione marketing I manutentori dello hardware e del software Le autorità nazionali (Ingegneria del Software) 5. Requisiti del Software II 12 / 42

Scoperta dei requisiti punti di vista Punti di vista permettono di classificare gli attori. Questo permette di avere un idea della copertura ottenuta sui possibili requisiti. Meglio intervistare 3 attori da gruppi differenti piuttosto che 10 da uno stesso gruppo. Tipicamente si distingue tra: Punto di vista diretto: chi interagisce direttamente con il sistema Punto di vista indiretto: chi non intergisce con il sistema ma è interessato al suo comportamento Punto di vista di dominio (Ingegneria del Software) 5. Requisiti del Software II 13 / 42

Scoperta dei requisiti l intervista Meeting nel quale si ha interazione con i vari attori. Obiettivo è mettere l attore in una condizione di massimo agio in modo che possa esprimersi nel modo che più sente naturale rispetto ai requisiti del sistema, senza remore. a domande chiuse interviste aperte Interviste sono un buon strumento per raggiungere una comprensione generale su cosa il sistema debba fare, ma forniscono scarsa comprensione del dominio applicativo e dettagli specifici. (Ingegneria del Software) 5. Requisiti del Software II 14 / 42

Scoperta dei requisiti l intervista Il risultato dell intervista chiaramente dipende dall intervistatore: ottime capacità di relazione ascoltare no preconcetti (Ingegneria del Software) 5. Requisiti del Software II 15 / 42

Scoperta dei requisiti Descrizione di scenari Attori trovano più semplice dire come intendono utilizzare il sistema o come credono debba essere utilizzato. È più semplice criticare l uso del sistema che un singolo requisito. di requisiti tramite descrizione di scenari d uso Nella forma più generale uno scenario comprende: Cosa ci si aspetta quando lo scenario parte La descrizione del flusso normale dello scenario Descrizione di cosa può andar male nell esecuzione del flusso normale Informazione su attività che potrebbero svolgersi in parallelo Una descrizione dello stato del sistema alla fine (Ingegneria del Software) 5. Requisiti del Software II 16 / 42

Esempio di scenario il sistema elettronico di biblioteca Assunzioni iniziali: L utente si è autenticato ed ha localizzato il link al documento che vuole scaricare Flusso Normale: l utente seleziona il documento. Il sistema richiede di fornire dettagli di pagamento. Pagamento può essere fatto con CC o con numero di conto da addebitare. Viene richiesto all utente di riempire un form di copyright che viene sottoposto al sistema. Se transazione approvata il PDF del documento viene reso disponibile e l utente viene informato. Nel caso di documento print-only si chiede di scegliere una stampante. (Ingegneria del Software) 5. Requisiti del Software II 17 / 42

Esempio di scenario il sistema elettronico di biblioteca Cosa può andar storto: Copyright form riempito scorrettamente. Si informa il cliente e si chiede di riempire nuovamente il form. Nel caso di errore la transazione viene rifiutata. Il pagamento non va a buon fine. La transazione viene rifiutata. La stampa può fallire. Nel caso di documento print-only la transazione viene abortita ed il cliente viene riaccreditato dell ammontare corrispondente. Attività in parallelo: molti utenti possono essere connessi al sistema e potrebbero richiedere il download. Lo stesso utente potrebbe tener aperte più sessioni. Stato del sistema alla fine: L utente viene riportato ad una pagina di benvenuto, l articolo è stato stampato e nel caso di print-only è stato eliminato da eventuali aree disco temporanee. (Ingegneria del Software) 5. Requisiti del Software II 18 / 42

Limitazioni dello strumento degli Scenari Molto efficaci per raccogliere requisiti da punti di vista diretti Non adatto a rappresentare requisiti derivanti da punti di vista indiretti o di dominio e a definire requisiti extra-funzionali (caratteristiche globali) (Ingegneria del Software) 5. Requisiti del Software II 19 / 42

Casi d uso cosa sono Attività dell ingegneria dei requisiti La descrizione dei casi d uso sono la tecnica principale di raccolta e specifica dei requisiti all interno del processo unificato. Particolare approccio per descrizione di scenari. Dunque richiede come primo passo identificazione degli attori che utilizzeranno direttamente il sistema ed identificazione dei confini del sistema Nella fase di avvio vengono tipicamente specificati il 10% dei casi d uso. Successivamente anche gli stessi casi d uso vengono raffinati nelle fasi successive. Al termine della fase di elaborazione vengono tipicamente identificati il 90% dei casi d uso. Non sono collegati alla progettazione OO (Ingegneria del Software) 5. Requisiti del Software II 20 / 42

Casi d uso Attività dell ingegneria dei requisiti Un caso d uso è la specifica di una sequenza di azioni, incluse eventuali sequenze alternative e sequenze di errore, che un sistema, un sottosistema o una classe può eseguire interagendo con attori esterni. UML reference Manual I casi d uso vengono avviati da un attore I casi d uso descrivono il punto di vista degli attori (Ingegneria del Software) 5. Requisiti del Software II 21 / 42

Come specificarli Attività dell ingegneria dei requisiti Sono disponibili molte varianti per la descrizione dei caso d uso. Principalmente si distinguono nei formati e nelle informazioni che richiedono. Tipicamente le sezioni che compongono un caso d uso sono: Nome: nome mnemonico per ricordare suggerire cosa descrive ID: numero di serie Breve descrizione: a cosa serve il caso d uso Attori: tipicamente vengono indicati sia gli attori primari che secondari Pre-condizioni: condizioni che devono essere vere prima di attivare il casod uso Sequenza degli eventi principale: descrizione dei vari passi che compongono il caso d uso Post-condizioni: cosa dovrà essere vero alla fine Sequenza degli eventi alternativa: eccezioni al normale flusso di eventi (Ingegneria del Software) 5. Requisiti del Software II 22 / 42

Ulteriori sezioni possibili Requisiti speciali (extra-funzionali) Possibili tecnologie necessarie Frequenza d uso Problemi da investigare (Ingegneria del Software) 5. Requisiti del Software II 23 / 42

Sequenza principale Elenca i passi che compongono il caso d uso. Il primo passo (attivazione) è sempre compiuto da un attore principale. La sequenza dei passi è numerata e tipicamente ogni passo dovrebbe avere la seguente struttura: <numero> Il <qualcosa><qualche azione> Es. 1. Il cliente inserisce una moneta nel distributore La sequenza principale può contenere due tipi di variazione: deviazioni semplici: ramificazione alla sequenza principale deviazioni complesse: sequenze di eventi alternative (Ingegneria del Software) 5. Requisiti del Software II 24 / 42

Sequenza principale Raccomandazioni: Evitare passi scritti in forma passiva: non è chiaro chi fa cosa (es. viene inserita una moneta nel distributore - NO) - chi? cosa? dove? quando? Per indicare una ramificazione si utilizzi la parola Se. Successivamente i passi interni vengono identificati con indici annidati x. Se il cliente seleziona caffè x.1 il distributore richiede la scelta della quantià di zucchero desiderata x.2 il cliente seleziona la quantità di zucchero... É possibile esprimere cicli utilizzando le parole chiavi for e while oppure mettendo dei rimandi che permettano di tornare ai passi precedenti (Ingegneria del Software) 5. Requisiti del Software II 25 / 42

Sequenze alternative Ad una sequenza principale possono corrispondere molte sequenze alternative. Tipicamente utilizzate per gestire condizioni di errore ed eccezioni. Attivate secondo tre schemi principali: al posto della sequenza principale dopo un particolare passo della sequenza principale in qualunque momento della sequenza principale Attenzione le sequenze alternative non dovrebbero a loro volta prevedere sequenze alternative. Altrimenti il flusso diventa troppo complesso. Sequenze alternative possono prevedere pre-condizioni e post-condizioni a se stanti (Ingegneria del Software) 5. Requisiti del Software II 26 / 42

Use case e requisiti Tipicamente gli scenari (dunque anche i casi d uso) non vi permettono di evidenziare tutti i possibili requisiti. In particolare i casi d uso non contengono nessuna nozione di requisito non funzionale. Nel caso generale può essere utile avere requisiti espressi nelle forme tradizionali (il sistema deve..., il sistema dovrebbe...) associati alla descrizione di scenari. (Ingegneria del Software) 5. Requisiti del Software II 27 / 42

Uso di UC Attività dell ingegneria dei requisiti La descrizione dei casi d uso è particolarmente indicata quando: sistema dominato da requisiti funzionali molti utenti ed funzionalità differenti molte interfacce con altri sistemi Rappresentazione grafica: (Ingegneria del Software) 5. Requisiti del Software II 28 / 42

Esercizio - Distributore Automatico (Ingegneria del Software) 5. Requisiti del Software II 29 / 42

Casi d uso - Modellazione avanzata Generalizzazione degli Attori Nella definizione degli attori ci si può trovare in una situazione in cui gli attori sembrano essere correlati e condividere molti usi del sistema stesso (graficamente molte linee si intrecciano). Altra situazione è quella in cui un attore presenta gli stessi usi di un sistema ai quali aggiunge usi ulteriori Uso dei meccanismi di generalizzazione degli attori (Ingegneria del Software) 5. Requisiti del Software II 30 / 42

Casi d uso - Modellazione avanzata Generalizzazione degli Attori Nella definizione degli attori ci si può trovare in una situazione in cui gli attori sembrano essere correlati e condividere molti usi del sistema stesso (graficamente molte linee si intrecciano). Altra situazione è quella in cui un attore presenta gli stessi usi di un sistema ai quali aggiunge usi ulteriori Uso dei meccanismi di generalizzazione degli attori (Ingegneria del Software) 5. Requisiti del Software II 30 / 42

Casi d uso - Modellazione Avanzata Generalizzazione tra casi d uso Un caso d uso può essere definito per specializzazione di un altro eredità caratteristiche aggiunta di caratteristiche modifica/ridefinizione di caratteristiche Convenzioni uso e rappresentazione di generalizzazioni: Ereditata senza modifiche - x.(x.) Ereditata e rinumerata - x.y(z.t) Ereditata e ridefinita - x.(ox) Ereditata, ridefinita e rinumerata - x.y(oz.t) Aggiunta - x. (Ingegneria del Software) 5. Requisiti del Software II 31 / 42

Casi d uso - Modellazione Azanzata inclusione Spesso molti casi d uso condividono diversi passi che ogni volta andrebbero riscritti È possibile usare meccanismo di inclusione in cui ad un dato passo il caso d uso indica che il comportamento è definito in un altro caso d uso. Cosa accade alle Pre-condizioni ed alle Post-condizioni di un caso d uso incluso? Inclusione di casi d uso o pre-condizioni? (Ingegneria del Software) 5. Requisiti del Software II 32 / 42

Casi d uso - Modellazione Azanzata estensione Aggiungere comportamento a casi d uso già definiti Attenzione il caso d uso deve dichiarare l estensione Il comportamento dell estensione potrebbe essere sottoposta a condizione (Ingegneria del Software) 5. Requisiti del Software II 33 / 42

Scomposizione funzionale Tipico errore nella modellazione dei casi d uso! Il sistema è visto come una funzionalità complessa composta di funzionalità via via più semplici Esempio di scomposizione funzionale nella specifica del distributore automatico (Ingegneria del Software) 5. Requisiti del Software II 34 / 42

Sommario Attività dell ingegneria dei requisiti Validazione 1 Generalità 2 Attività dell ingegneria dei requisiti Studio di fattibilità Validazione Gestione (Ingegneria del Software) 5. Requisiti del Software II 35 / 42

Validazione Validazione dei requisiti La fase di validazione dei requisiti cerca di rimuovere possibili problemi nella specifica dei requisiti. Possibili verifiche sono: Controllo di validità: verificare che ciò che è stato specificato coincide effettivamente con quanto necessario all utente Controllo di consistenza: i requisiti non devono essere contradditori Controllo di completezza: i requisiti dovrebbero specificare tutte le possibili funzionalità Controllo di concretezza: verificare che il requisito richieda qualcosa che effettivamente possa essere implementato date anche le tecnologie adottate, i costi e le scadenze imposte Verificabilità: requisiti devono essere scritti in modo da poter verificare la loro soddisfazione. (Ingegneria del Software) 5. Requisiti del Software II 36 / 42

Validazione Validazione dei requisiti tecniche Tecniche che si sono rivelate utili nella validazione dei requisiti sono: Revisione dei requisiti: processo manuale che coinvolge team misti cliente/contractor. Può essere formale o informale. Verifiche che potrebbero essere fatte includono: Verificabilità Comprensibilità Tracciabilità Adattabilità Prototipizzazione Generazione di casi di test (Ingegneria del Software) 5. Requisiti del Software II 37 / 42

Sommario Attività dell ingegneria dei requisiti Gestione 1 Generalità 2 Attività dell ingegneria dei requisiti Studio di fattibilità Validazione Gestione (Ingegneria del Software) 5. Requisiti del Software II 38 / 42

Gestione Gestione dei requisiti Requisiti sono costantemente sottoposti a spinte di cambiamento. Il requisito una volta definito non è fissato per sempre, anche considerando non solo le fasi di post-rilascio. Molte motivazioni per questo: Comunità estesa di utenti con richieste differenti ed anche conflittuali Acquirenti ed utenti diretti spesso non sono la stessa entità. L ambiente di esecuzione cambia velocemente. L attività di gestione dei requisiti si occupa di far emergere e controllare le modifiche ai requisiti (Ingegneria del Software) 5. Requisiti del Software II 39 / 42

Gestione Gestione dei requisiti...di cosa c è bisogno? Identificazione dei requisiti tramite ad esempio definizione di ID Definire un processo di modifica dei requisiti: tutte le modifiche sono trattate egualmente e consistentemente Definire meccanismi di tracciabilità uso e supporto da parte di CASE tool/environment (database, fogli elettronici etc. possono essere sufficienti) Requisiti stabili vs. requisiti volatili (Ingegneria del Software) 5. Requisiti del Software II 40 / 42

Gestione Tracciabilità dei requisiti Differenti tipi di tracciabilità tipicamente si immagazzinano le informazione in una matrice: Sorgente: Attore x Requisito Relazioni con altri requisiti: Requisito x Requisito Design: Sottosistema x Requisito Matrici possono diventare particolarmente estese e poco gestibili. Uso di CASE (database) di supporto alle varie fasi: Immagazzinamento Gestione delle modifiche Gestione della tracciabilità (Ingegneria del Software) 5. Requisiti del Software II 41 / 42

Gestione Attività di gestione delle modifiche l attività di gestione della modifica dei requisiti sarà strutturata su sotto-attivitià quali: Analisi del problema e specifica della modifica analisi del cambiamento e valutazione del costo implementazione della modifica (Ingegneria del Software) 5. Requisiti del Software II 42 / 42