La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software il processo Processo software.

Presentazioni simili


Presentazione sul tema: "Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software il processo Processo software."— Transcript della presentazione:

1 Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software il processo Processo software

2 Ingegneria del software il processo Sommario del capitolo 1.Organizzazione e gestione dei progetti –Metodi di composizione dei gruppi di lavoro –Strumenti di pianificazione, analisi, controllo 2.Ciclo di vita del software –Definizione e correlazione delle attività –Modelli ideali di processo di sviluppo 3.Modelli del processo di sviluppo –Norme per la definizione delle attività –Strumenti per la definizione dei processi

3 Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software il processo Modelli di processo Ciclo di vita del software

4 Ingegneria del software il processo Contenuti Il ciclo di vita del software Il modello a cascata I modelli iterativi Il modello a spirale Altri modelli

5 Ingegneria del software il processo Ciclo di vita Identificazione delle attività Modelli generici, indipendenti dal prodotto Decomposizione delle fasi in attività (ricerca di coesione) Adozione di terminologia consistente Organizzazione delle attività Ordinamento delle attività Definizione di criteri di completamento e di avanzamento

6 Ingegneria del software il processo Obiettivi e limiti Propedeutico al processo definito Richiede controllo di qualità –Definizione del processo produttivo (standard aziendale) –Identificazione di attività, obiettivi, dipendenze Agevola la pianificazione e la gestione dei progetti È indipendente da metodi e strumenti di sviluppo software

7 Ingegneria del software il processo Evoluzione dei modelli Code-n-fix: un non-modello –Consiste di attività casuali non organizzate –Dà luogo a progetti caotici non gestiti né gestibili Modelli organizzati –Cascata a rigide fasi sequenziali oppure sue varianti con prototipi e ritorni –Incrementali realizzazione in più passi (Rapid Application Development) RAD –Evolutivi modelli ciclici con ripetute iterazioni interne Prototipi Spirale contesto allargato a modello astratto –Modelli specializzati Sviluppo a componenti Software orientato dallaspetto –Processo unificato –Sviluppo agile Extreme programmimg (XP) Sviluppo di software adattativo (ASD) Metodo Dynamic Systems Development Method (DSDM) Metodo Scrum Crystal Sviluppo feature driven (FDD)

8 Ingegneria del software il processo Il modello a cascata Definito nel 1970 da Winston Royce Managing the development of large software systems: concept and techniques Una successione di fasi sequenziali –Non consente ritorno a fasi precedenti –Eventi eccezionali fanno ripartire dallinizio Documentazione –Ogni fase produce documenti che concretizzano –Emissione ed approvazione di documenti sono condizione necessaria per lavvio della fase successiva –Modello document-driven

9 Ingegneria del software il processo Schema del modello a cascata

10 Ingegneria del software il processo Caratteristiche delle fasi Le fasi sono descritte in termini di: –Attività previste e prodotti attesi –Contenuti e struttura dei documenti –Responsabilità e ruoli coinvolti –Scadenze di consegna dei documenti Presentano dipendenze causali e temporali Ciascuna fase determina le proprie attività

11 Ingegneria del software il processo Varianti del modello a cascata Difetto principale: eccessiva rigidità Stretta sequenzialità tra fasi Non ammette modifiche nei requisiti in corso dopera Richiede molta manutenzione Esprime una visione burocratica e poco realistica Variante 1: cascata con prototipazione Prototipo usa e getta, solo per capire meglio i requisiti Variante 2: cascata con ritorni Entrambe raggruppano sotto-sequenze di fasi

12 Ingegneria del software il processo Modelli iterativi Applicabili a qualunque modello generale di ciclo di vita Necessità di adattamento ai cambiamenti Evoluzione di problemi, soluzioni possibili e tecnologie utilizzabili Diversificazione dei requisiti del committente Soluzione generale Decomporre la realizzazione del sistema Differire la realizzazione delle componenti critiche Le iterazioni devono essere pianificate

13 Ingegneria del software il processo Modello incrementale Analisi e progettazione sono definitive I requisiti sono identificati completamente Larchitettura del sistema è identificata e fissata I passi della realizzazione incrementale sono pianificati La realizzazione è incrementale Progettazione di dettaglio, codifica e prove Integrazione e collaudo Accettazione e rilascio di versioni parziali Dai requisiti essenziali (prima) a quelli desiderabili (poi)

14 Ingegneria del software il processo Schema del modello incrementale Analisi e progettazione Progettazione di dettaglio Realizzazione Accettazione di versione

15 Ingegneria del software il processo Modello evolutivo Analisi preliminare Per identificare i requisiti di massima Per definire larchitettura di massima Per pianificare i passi di analisi e realizzazione evolutiva Analisi e realizzazione di evoluzione Per raffinamento ed estensione dellanalisi Per progettazione, codifica, prove e integrazione Rilascio di prototipi, accettazione finale

16 Ingegneria del software il processo Schema del modello evolutivo

17 Ingegneria del software il processo Il modello a spirale Proposto da Barry W. Boehm nel 1988 Prevede quattro attività principali Definizione degli obiettivi Analisi dei rischi Sviluppo e validazione Pianificazione È un modello astratto: va specializzato

18 Ingegneria del software il processo Fasi del modello a spirale Definizione degli obiettivi –Requisiti, identificazione dei rischi, piano di gestione Analisi dei rischi –Studio delle conseguenze, valutazione delle alternative con lausilio di prototipi e simulazioni Sviluppo e validazione –Realizzazione del prodotto Pianificazione –Decisione circa il proseguimento, pianificazione del ciclo di vita

19 Ingegneria del software il processo Schema del modello a spirale

20 Ingegneria del software il processo Aspetti del modello a spirale Pone grande attenzione sugli aspetti organizzativi Pianificazione delle fasi Analisi dei rischi( modello risk-driven) Richiede forte interazione tra committente e fornitore –Committente: definizione degli obiettivi, pianificazione –Fornitore: sviluppo e validazione –Entrambi: analisi dei rischi Applicabile ai cicli tradizionali

21 Ingegneria del software il processo Altri modelli Extreme Programming –Facilita il coinvolgimento (informale) del committente Non solo nellanalisi, ma anche in progettazione e sviluppo Fortemente incrementale ( a passo piccolo) Component-based Massima attenzione al riuso sistematico di componenti preesistenti proprie od off-the-shelf

22 Ingegneria del software il processo Schema dell XP

23 Ingegneria del software il processo Schema del modello component-based Analisi delle componenti Adattamento dei requisiti Analisi dei requisiti Progettazione e riuso Sviluppo ed integrazione Validazione di sistema

24 Ingegneria del software il processo Costo del cambiamento

25 Ingegneria del software il processo Riepilogo Il ciclo di vita Il modello a cascata Il modelli iterativi Il modello a spirale

26 Ingegneria del software il processo Riferimenti bibliografici B.W. Bohem, A spiral model of software development and enhancement, IEEE software, maggio W.W. Royce, Managing the development of large software systems: concepts and techniques, Proceedings of Wescon70, agosto 1970.


Scaricare ppt "Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software il processo Processo software."

Presentazioni simili


Annunci Google