Applicazioni informatiche - ingegneria dei requisiti 1 APPLICAZIONI INFORMATICHE i requisiti

  • View
    214

  • Download
    2

Embed Size (px)

Transcript

  • Slide 1
  • applicazioni informatiche - ingegneria dei requisiti 1 APPLICAZIONI INFORMATICHE i requisiti
  • Slide 2
  • applicazioni informatiche - ingegneria dei requisiti 2 Ingegneria dei Requisiti
  • Slide 3
  • applicazioni informatiche - ingegneria dei requisiti 3 Progetti Software Il 26% che vede la luce comunque ha problemi: Denver Airport: pi di 50 milioni di US$ per errori del sistema di controllo dei bagagli London Ambulance Service: il sistema stato disattivato dopo un giorno di funzionamento 26% di progetti software terminano con successo Standish Group, CHAOS Report, 2000 cio il 74% fallisce Standish Group, CHAOS Report, 2000
  • Slide 4
  • applicazioni informatiche - ingegneria dei requisiti 4 Tom De Marco Il 56% degli errori di un software possono essere riferiti ai requisiti Durante lo sviluppo di un software, pi tardi un errore viene rilevato pi costoso sar risolverlo Molti errori sono fatti durante la raccolta e lanalisi dei requisiti Molti errori relativi ai requisiti possono (e devono) essere rilevati il prima possibile Errori tipici: uso di fatti non corretti, omissioni, inconsistenze e ambiguit Errori nella specifica dei requisiti sono uno dei problemi principali per lindustria software
  • Slide 5
  • applicazioni informatiche - ingegneria dei requisiti 5 Costi
  • Slide 6
  • applicazioni informatiche - ingegneria dei requisiti 6 in Europa Un questionario inviato a 3.805 societ ha rilevato: Per gli analisti i problemi principali sono: Specifica dei requisiti (53%) Gestione dei requisiti (43%) Documentazione (36%) Test (35%)
  • Slide 7
  • applicazioni informatiche - ingegneria dei requisiti 7 Definizione Lingegneria dei requisiti una sotto area dellingegneria del software che studia il processo di definizione dei requisiti del sistema da realizzare. E una nuova area che ha avuto origine nel 1993 con the 1 st International Symposium on R.E. Ora siamo alla 12 edizione. Il processo di definizione dei requisiti uninterfaccia tra i desideri (o bisogni) dei clienti e la realizzazione dei questi requisiti come sistema software
  • Slide 8
  • applicazioni informatiche - ingegneria dei requisiti 8 unaltra definizione Lingegneria dei requisiti : Lo sviluppo e luso di tecnologie per raccogliere, specificare e analizzare i requisiti degli utenti/clienti che saranno poi realizzati da un sistema software
  • Slide 9
  • applicazioni informatiche - ingegneria dei requisiti 9 Fred Brooks The most difficult part of building a software system is to decide, precisely, what must be built. No other part of the work can undermine so badly the resulting software if not done correctly. No other part is so difficult to fix later.
  • Slide 10
  • applicazioni informatiche - ingegneria dei requisiti 10 Requisiti di sistema Definiscono che cosa un sistema deve fare e sotto quali vincoli deve operare, ad esempio: Il sistema dovr archiviare i dati di una biblioteca, in particolare dati relativi ai libri, ai giornali, le riviste, video, nastri audio e CD-ROM. Il sistema dovr permettere agli utenti di fare delle ricerche per titolo, autore, o ISBN. Linterfaccia al sistema dovr essere realizzata utilizzando un browser web. Il sistema dovr gestire almeno 20 transazioni per secondo Il sistema dovr essere accessibile attraverso luso di password
  • Slide 11
  • applicazioni informatiche - ingegneria dei requisiti 11 Tipi di requisiti Requisiti Funzionali: definiscono parte delle funzionalit del sistema Requisiti di implementazione: come il sistema dovr essere implementato Requisiti di prestazione: specificano le prestazioni minime accettabili per il sistema Requisiti di usabilit: specificano il tempo massimo per mostrare luso del sistema
  • Slide 12
  • applicazioni informatiche - ingegneria dei requisiti 12 Tipi di requisiti Requisiti non funzionali Esprimono vincoli sotto i quali il software dovr operare Possono essere visti come qualit specifiche che il software dovr avere Costi Sicurezza Robustezza Portabilit Requisiti -1 Condizioni che non si devono mai verificare Solitamente associate a requisiti non funzionali
  • Slide 13
  • applicazioni informatiche - ingegneria dei requisiti 13 Problemi legati ai requisiti I requisiti non riflettono i reali bisogni dei clienti I requisiti sono inconsistenti e/o incompleti E costoso cambiare i requisiti dopo che sono stati definiti e concordati Possono esserci delle incomprensioni tra i clienti e chi a raccolto e analizzato i requisiti, tra chi ha raccolto i requisiti e il progettista, tra il progettista e chi realizzer il sistema.
  • Slide 14
  • applicazioni informatiche - ingegneria dei requisiti 14 Un esempio di incompletezza Il sistema dovr permettere agli utenti di fare delle ricerche per titolo, autore, o ISBN. Che cosa significa per i CD-ROM? Possono non avere un ISBN Vale solo per i libri Immaginate se realizzate il sistema con questo requisito senza considerare i CD-ROM. Non possiamo scrivere requisiti universali, ma possiamo tentare di essere il pi possibile completi.
  • Slide 15
  • applicazioni informatiche - ingegneria dei requisiti 15 Determinazione dei requisiti Fornire una definizione informale dei requisiti Generalmente in questa fase si parla anche di servizi attesi dal sistema e vincoli a cui deve sottostare Lattivit di raccolta dei requisiti svolta da un analista di business (o di sistema) utilizzando tecniche diverse, che possono spaziare dalle tradizionali interviste ai clienti andando (se necessario) fino alla costruzione di prototipi. Analisi delle duplicazioni e contraddizioni Revisioni e rinegoziazione dei requisiti Documento dei requisiti
  • Slide 16
  • applicazioni informatiche - ingegneria dei requisiti 16 Raccolta o negoziazione dei requisiti Discussione con clienti e esperti del dominio Esperti del dominio conoscenza del dominio Clienti requisiti Casi duso e conoscenza del domino devono essere integrati
  • Slide 17
  • applicazioni informatiche - ingegneria dei requisiti 17 Metodi di raccolta requisiti Tradizionali Interviste Questionari Osservazioni Studio dei documenti e dei sistemi software Metodi moderni Prototipi Sviluppo cooperativo delle applicazioni Sviluppo rapido delle applicazioni Analizziamoli
  • Slide 18
  • applicazioni informatiche - ingegneria dei requisiti 18 Interviste Condotte principalmente con i clienti (anche gli esperti possono essere intervistati) Problemi Generalmente i clienti hanno solo una vaga idea dei requisiti del sistema e non sono in grado di esprimerli Possono anche richiedere funzionalit che vanno fuori i costi e gli obiettivi del progetto Possibili conflitti Due tipi di intervista: Strutturata (formali) Non strutturate (informali)
  • Slide 19
  • applicazioni informatiche - ingegneria dei requisiti 19 Interviste Strutturate Preparate in anticipo Unagenda Domande predeterminate (aperte o chiuse) Sono generalmente accompagnate da interviste informali (non strutturate) Non strutturate Incontri informali Senza domande anticipate o obiettivi prederminati Incoraggiare il cliente a parlare di ci che ha in mente, su cui lanalista potrebbe non aver riflettuto Per entrambe si parte da un contesto di discussione (ad esempio un breve documento inviato in anticipo)
  • Slide 20
  • applicazioni informatiche - ingegneria dei requisiti 20 Domande da evitare Domande sulle quali lintervistatore esprime (direttamente o indirettamente) la propria opinione sul problema dobbiamo fare le cose nel modo in cui le facciamo? Domande prevenute, simili alle precedenti, eccetto che lopinione dellintervistatore chiaramente espressa non intendi fare questo, vero? Domande contenenti gi la risposta devi fare le cose in questo modo, non vero? Importante ascoltare
  • Slide 21
  • applicazioni informatiche - ingegneria dei requisiti 21 Questionari In aggiunta alle interviste Sostituiscono le interviste quando il progetto a basso rischio con obiettivi ben definiti Non possibile chiedere chiarimenti sui quesiti e le risposte Vantaggi: tempo per valutare la risposta, anonimato Svantaggi: non c la possibilit di discutere e approfondire i quesiti
  • Slide 22
  • applicazioni informatiche - ingegneria dei requisiti 22 Questionari I quesiti dovrebbero essere chiusi (evitare i quesiti aperti) Tre tipi: A scelta multipla A punteggio Con ordinamento
  • Slide 23
  • applicazioni informatiche - ingegneria dei requisiti 23 Osservazioni Ricerca di fatti attraverso losservazione: Osservazione passiva: lanalista osserva le attivit senza interruzioni o coinvolgimento diretto del cliente che lavora (anche con videocamera). Osservazione attiva: lanalista partecipa direttamente alle attivit ed entra a far parte del gruppo di lavoro. Svolte per periodi lunghi e con differenti carichi di lavoro Difficolt: le persone tendono a comportarsi diversamente quando osservate
  • Slide 24
  • applicazioni informatiche - ingegneria dei requisiti 24 Studio dei documenti e dei sistemi software .. per approfondire la conoscenza di dominio Documenti organizzativi: modulistica aziendale (compilata, se possibile) descrizione delle procedure lavorative e delle politiche di intervento piani di business organigrammi corrispondenza fra uffici minute di incontri registrazioni contabili corrispondenza esterna lamentele clienti ecc.
  • Slide 25
  • applicazioni informatiche - ingegneria dei req