4. Requisiti del Software



Похожие документы
Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

5. Requisiti del Software II

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

11. Evoluzione del Software

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

12. Evoluzione del Software

Modellazione di sistema

La Metodologia adottata nel Corso

10. Interfaccia Utente

Database. Si ringrazia Marco Bertini per le slides

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

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

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

Installazione e caratteristiche generali 1

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

Manuale per la configurazione di un account di PEC in Mozilla Thunderbird.

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Il calendario di Windows Vista

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

Sistema Informativo di Teleraccolta EMITTENTI

Fasi di creazione di un programma

Architetture Applicative

Soluzione dell esercizio del 2 Febbraio 2004

7. Architetture Software

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Registratori di Cassa

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

Concetti di base di ingegneria del software

Corso di Sistemi di Elaborazione delle informazioni

SharePoints è attualmente disponibile in Inglese, Italiano e Francese.

Piano di gestione della qualità

Automazione Industriale (scheduling+mms) scheduling+mms.

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Ingegneria dei Requisiti

Istruzioni per l uso della Guida. Icone utilizzate in questa Guida. Istruzioni per l uso della Guida. Software di backup LaCie Guida per l utente

GUIDA AL SOCIAL CARE

Generazione Automatica di Asserzioni da Modelli di Specifica

7.1 Livello di completezza degli esempi

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

Tecniche di Simulazione: Introduzione. N. Del Buono:

Guida di Pro Spam Remove

Alessandra Raffaetà. Basi di Dati

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

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

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

Gestione Risorse Umane Web

object oriented analysis

SUAP. Per gli operatori SUAP/amministratori. Per il richiedente

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

Introduzione all Information Retrieval

Uso dei modelli/template

Guida di Pro PC Secure

5. Requisiti del Software II

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

Sigla Center Srl Via L. Giuntini, Empoli (FI) Tel Fax

Informatica Futura Srl

Strumenti di modellazione. Gabriella Trucco

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Strumenti per la Progettazione

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

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

Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici

Politica del WHOIS relativa al nome a dominio.eu

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

FPf per Windows 3.1. Guida all uso

1. BASI DI DATI: GENERALITÀ

La Progettazione Concettuale

SOMMARIO Gruppo 4 - All right reserved 1

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Il database management system Access

Approfondimento: Migrazione dei database e backup della posta

Progetto di Ingegneria del Software 2. SWIMv2

GUIDA ALLA GESTIONE DEI TICKET REV. 1. guida_gestione_tck_rev1.doc - 1 di 9

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Modulo 2 Uso del computer e gestione dei file

Organizzazione degli archivi

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Hub-PA Versione Manuale utente

PRODUZIONE PAGELLE IN FORMATO PDF

TachyCAD 8.0 Anno 2010

Nuovo Order Manager per il software NobelProcera

SIFORM MANUALE VOUCHER FORMATIVI A DOMANDA AZIENDALE

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).

File, Modifica, Visualizza, Strumenti, Messaggio

Linguaggi e Paradigmi di Programmazione

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Lezione 1. Introduzione e Modellazione Concettuale

Транскрипт:

4. Requisiti del Software Cosa? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 4. Requisiti del Software 1 / 35

Sommario 1 Generalità 2 Categorizzazione dei Requisiti 3 Documenti dei Requisiti 4 Esercizi (Ingegneria del Software) 4. Requisiti del Software 2 / 35

Sommario Generalità 1 Generalità 2 Categorizzazione dei Requisiti 3 Documenti dei Requisiti 4 Esercizi (Ingegneria del Software) 4. Requisiti del Software 3 / 35

Ingegneria dei Requisiti Generalità Disciplina che si occupa di definire cosa un sistema debba fare, le sue proprietà essenziali ed i vincoli a cui deve rispondere. Scoprire, analizzare, documentare e verificare i requititi va sotto il nome di ingegneria dei requisiti Presenta forte interazione con il cliente. Non soltanto un attività dagli aspetti tecnici ma forti implicazioni umane (Ingegneria del Software) 4. Requisiti del Software 4 / 35

Generalità Rilevanza dei Requisiti La fase di gestione dei requisiti è probabilmente la più critica Problemi inseriti in questa fase dello sviluppo sono i più costosi da rimuovere. Studi rivelano che circa il 37% dei problemi, nello sviluppo di sistemi software challenging, sono relativi alla fase dei requisiti (Ingegneria del Software) 4. Requisiti del Software 5 / 35

Generalità Come specificare i requisiti Differenti techniche possibili Informali: usano tipicamente linguaggi naturali Semi formali: usano notazioni grafiche per cui la semantica non è sempre precisamente definita Formali: attraverso modelli matematici Esempio: apertura sbarra passaggio a livello (Ingegneria del Software) 4. Requisiti del Software 6 / 35

Generalità Requisiti Caratteristiche e categorizzazione dei requisiti Documenti dei requisiti Processi e strumenti di elicitazione dei requisiti Modelli di sistema (Ingegneria del Software) 4. Requisiti del Software 7 / 35

Sommario Categorizzazione dei Requisiti 1 Generalità 2 Categorizzazione dei Requisiti 3 Documenti dei Requisiti 4 Esercizi (Ingegneria del Software) 4. Requisiti del Software 8 / 35

Categorizzazione dei Requisiti Requisiti utente vs. sistema Requisiti utente Linguaggio naturale (eventualmente più diagrammi) Requisiti di sistema Cosa sarà necessario implementare. Dettaglio su aspetti funzionali e vincoli operazionali In generale definiti e destinati ad utenti differenti: Requisiti utente - manager del cliente, utenti finali del sistema, ingegneri del cliente, architetti del sistema. Requisiti di sistema - utenti finali del sistema, ingegneri del cliente, architetti del sistema, sviluppatori (Ingegneria del Software) 4. Requisiti del Software 9 / 35

Categorizzazione dei Requisiti Esempio: il sistema di gestione della biblioteca Definizione di requisito utente: Il sistema deve tener traccia di tutti i dati richiesti dalla normativa sul copyright Requisiti di Sistema Nell effettuare una richiesta devono essere forniti all utente i dettagli sullo storico dell account ogni richiesta deve essere memorizzata per almeno 5 anni tutti i dati devono poter essere indicizzati a seconda dell utente Log di tutte le richiesta fatte particolari tipologie di editori possono voler ricevere informazioni sul prestito dei loro libri. (Ingegneria del Software) 4. Requisiti del Software 10 / 35

Categorizzazione dei Requisiti Requisiti funzionali, non-funzionali Requisiti funzionali: cosa deve fare il sistema. Come deve reagire agli stimoli esterni. Anche cosa il sistema non deve fare. Requisiti non-funzionali: proprietà del sistema che devono essere soddisfatte. Requisiti di dominio: Categoria trasversale - riguarda quei requisiti che derivano direttamente dallo specifico dominio applicativo Attenzione distinzione non sempre netta!! (Ingegneria del Software) 4. Requisiti del Software 11 / 35

Categorizzazione dei Requisiti Requisiti funzionali Vengono descritte le funzionalità in dettaglio - input, output, eccezioni Possono contenere differenti livelli di astrazione. E.g. il sistema di gestione della biblioteca: L utente deve essere capace di cercare in tutti i cataloghi o selezionare un sottoinsieme di essi il sistema deve fornire all utente appropriati visulizzatori al fine di permettere la lettura all interno del sistema ad ogni ordine deve essere allocato uno specifico ID Attenzione a requisiti specificati in maniera imprecisa (requisiti ambigui) Completezza e consistenza dei requisiti (Ingegneria del Software) 4. Requisiti del Software 12 / 35

Categorizzazione dei Requisiti Requisiti non funzionali classificazione Si riferiscono a proprietà del sistema (vedi 2a lezione) Sono per certi versi critici tanto quanto i requisiti funzionali Classificati in: Requisiti di Prodotto Requisti organizzativi Requisiti esterni (Ingegneria del Software) 4. Requisiti del Software 13 / 35

Categorizzazione dei Requisiti Requisiti non-funzionali esempi Product: L intefaccia utente deve essere implementata come HTML standard 4.0 No frames o Java applet Organizzativi Esterno il sistema di documentazione del processo di sviluppo deve essere conforme a quello definito in XYZStand-2007 il sistema non deve rendere publici dati personali (Ingegneria del Software) 4. Requisiti del Software 14 / 35

Categorizzazione dei Requisiti Requisiti non-funzionali (Ingegneria del Software) 4. Requisiti del Software 15 / 35

Categorizzazione dei Requisiti Requisiti non-funzionali problemi Difficili da verificare!! In generale i requisiti devono poter essere facilmente ed economicamente verificati Esempio: interfaccia utente e uso da parte di personale esperto Spesso non è comunque facile definire metriche per la proprietà non funzionale (Ingegneria del Software) 4. Requisiti del Software 16 / 35

Categorizzazione dei Requisiti Requisiti non funzionali esempi di metriche Speed Tempo per transazione, tempi di risposta dimensioni K bytes, Numero di chip nella RAM Facilità d uso Tempi di training, numero di frame di aiuto Affidabilità MTBF, probabilità di indisponibilità... Robustezza Tempo di riavvio, percentuale di eventi che causano errori Portabilità Percentuale degli statement dipendenti dalla piattaforma, numero di sistemi target. (Ingegneria del Software) 4. Requisiti del Software 17 / 35

Requisiti di dominio Categorizzazione dei Requisiti Requisiti che sono del tutto ovvi a persone che lavorano nel dominio (vedi esistenza di leggi giuridiche, regola matematica, legge fisica, etc.) Sono spesso difficili da capire per chi non ha conoscenze nel dominio Altrettanto spesso sono considerati ovvi dal cliente e non vengono manifestati (Ingegneria del Software) 4. Requisiti del Software 18 / 35

Categorizzazione dei Requisiti Requisiti utente Specificano il comportamento del sistema in modo comprensibile al cliente. Si occupano del comportamento osservabile del sistema per l utente e non dovrebbero contenere specifiche di design. Tipici problemi: Mancanza di chiarezza - verbosità vs. precisione Le diverse tipologie di requisiti sono mischiati tra loro Molti requisiti vengono specificati come un singolo requisito (Ingegneria del Software) 4. Requisiti del Software 19 / 35

Requisiti utente esercizio Categorizzazione dei Requisiti Il sistema di gestione della bibblioteca deve fornire un sistema di gestione dei conti che riporti tutti i pagamenti fatti dagli utenti del sistema. I gestori del sistema devono poter configurare il sistema in modo da poter accordare sconti ad utenti regolari. Problemi? (Ingegneria del Software) 4. Requisiti del Software 20 / 35

Requisiti utente esempio Categorizzazione dei Requisiti Griglia di supporto: nell assistere l utente nel posizionamento delle entità in un diagramma, l utente può attivare una griglia, che fornisca sia i centimetri che i pollici, attraverso un opzione nel pannello di controllo. Inizialmente la griglia è disattivata. La griglia può essere attivatà/deattivatà in qualsiasi momento. Un opzione griglia verrà fornita nella vista adatta-a-dimensioni ma il numero di linee mostrate sarà ridotto per evitare di riempire diagrammi più piccoli con linee di griglia. Problemi? (Ingegneria del Software) 4. Requisiti del Software 21 / 35

Categorizzazione dei Requisiti Requisiti utente esempio Molti differenti tipi di requisiti sono mischiati nella prima frase: funzionali: la griglia non funzionali: centimetri / pollici non funzionale: dove il meccanismo si trova Nota: Troppi dettagli tecnici limitano il raggio di azione degli sviluppatori che invece potrebbero fornire soluzioni innovative. (Ingegneria del Software) 4. Requisiti del Software 22 / 35

Requisiti utente esempio Categorizzazione dei Requisiti L editor deve fornire una funzionalità griglia dove una matrice di linee orizontali e verticali vengano visualizzate come background della vista nella finestra dell editor. La griglia dovrebbe essere passiva e l allineamento alla griglia deve essere fatto su iniziativa dell utente. Motivazione: una griglia aiuta l utente nella creazione di un diagramma più pulito con entità ben spaziate. Una griglia attiva può essere utile ma creare effetti indesiderati come posizionamenti imprecisi. L utente è la persona più appropriata a decidere il posizionamento Sorgente: Micky Mouse (Ingegneria del Software) 4. Requisiti del Software 23 / 35

Categorizzazione dei Requisiti Requisiti utente reccomandazioni Definite un formato standard per la definizione dei requisiti Utilizzate linguaggio consistentemente - attenzione alle parole deve, dovrebbe Utilizzate meccanismi di evidenziazione del testo Non usare, per quanto possibile, gergo tecnico del dominio informatico. (Ingegneria del Software) 4. Requisiti del Software 24 / 35

Categorizzazione dei Requisiti Requisiti di sistema Aggiungono dettagli per capire come i requisiti utente possono essere effettivamente raggiunti dal sistema. Anche questi si dovrebbero limitare al comportamento osservabile e non contenere scelte di design. Ma... Potreste aver bisogno di definire un architettura iniziale per strutturare i requisiti. In molti casi il sistema interagirà con sistemi pre-esistenti avete bisogno di certificare l architettura ad esempio rispetto a norme di safety (Ingegneria del Software) 4. Requisiti del Software 25 / 35

Categorizzazione dei Requisiti Requisiti di sistema Problemi nell uso di linguaggio naturale: si basa sulla comune comprensione dei concetti nel sistema troppo flessibile difficile modularizzare requisiti scritti con linguaggio naturale Soluzioni: Structured natural language Design description language Graphical notation Mathematical specifications (Ingegneria del Software) 4. Requisiti del Software 26 / 35

Categorizzazione dei Requisiti Specifica dei punti di interazione Praticamente tutti i sistemi software si trovano ad interagire con altri sistemi software. Le interfacce di interazione devono essere definite formalmente: API Data structures Rappresentazione dei dati (Ingegneria del Software) 4. Requisiti del Software 27 / 35

Sommario Documenti dei Requisiti 1 Generalità 2 Categorizzazione dei Requisiti 3 Documenti dei Requisiti 4 Esercizi (Ingegneria del Software) 4. Requisiti del Software 28 / 35

Documenti dei Requisiti documento dei requisiti software Il documento dei requisiti software è ciò che deve essere implementato dagli sviluppatori. Contiene generalmente sia requisiti utente che di sistema. Differenti utenti... differenti requisiti Formato dipendente anche da processo adottato! Esistono standard per la specifica dei requisiti di sistema. (Ingegneria del Software) 4. Requisiti del Software 29 / 35

IEEE/ANSI 830-1998 Documenti dei Requisiti Suggerisce la seguente struttura: Introduction 1 Scopo del documento dei requisiti 2 Scopo del prodotto 3 Definizione, acronimi ed abbreviazioni 4 Riferimenti 5 Overview dell intero documento Descrizione generale 1 Prospettive sul prodotto 2 Funzioni del prodotto 3 Caratteristiche degli utenti 4 vincoli generali 5 Assunzioni e dipendenze Requisiti specifici Appendici Indici (Ingegneria del Software) 4. Requisiti del Software 30 / 35

Documenti dei Requisiti Contenuto generale 1 Prefazione 2 Introduzione 3 Glossary 4 Definizione dei requisiti utente 5 Architettura del sistema 6 Definizione dei requisiti di sistema 7 Modelli del sistema 8 Evoluzione del sistema 9 Appendici 10 Indici (Ingegneria del Software) 4. Requisiti del Software 31 / 35

Possibili alternative Documenti dei Requisiti Il caso della programmazione estrema (exstreme Programming - XP) (Ingegneria del Software) 4. Requisiti del Software 32 / 35

Sommario Esercizi 1 Generalità 2 Categorizzazione dei Requisiti 3 Documenti dei Requisiti 4 Esercizi (Ingegneria del Software) 4. Requisiti del Software 33 / 35

Ambiguità ed omissioni Esercizi Un sistema di emissione automatica di emissione di biglietti ferroviari. Gli utenti selezionano la loro destinazione ed inseriscono una carta di credito ed il corrispondente codice segreto. Il biglietto è emesso e la carta di credito caricata. Quanto l utente pigia sul bottone di start una schermata delle destinazioni è proposta, insieme ad un messaggio all utente che richiede di scegliere la destinazione. Quando la destinazione è stata scelta, gli utenti devono inserire la loro carta di credito. La validità è verificata ed il codice segreto viene richiesto. Successivamente alla validazione della carta il biglietto viene emesso e la carta caricata. Si identifichino ambiguità ed omissioni (Ingegneria del Software) 4. Requisiti del Software 34 / 35

Specifica dei requisiti Esercizi Si specifichino i requisiti per la macchina del caffè nell atrio (Ingegneria del Software) 4. Requisiti del Software 35 / 35