Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 1 - Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione 2 – Il processo software
Caratteristiche importanti del processo software Integrazione continua e progressiva Frequenti rilasci di codice eseguibile – Prima interni, poi anche all’esterno – I rilasci forzano il gruppo di sviluppo a darsi delle scadenze – Si combatte il fenomeno del “90% done with 90% remaining” Possibilità di una valutazione indipendente del progresso del progetto – Uso di misure di qualità sul prototipo
Motivi di successo I principali motivi del successo di grandi progetti software sono: – Chiara formulazione dei requisiti – Coinvolgimento immediato dell’utenza – Sostegno del management
Motivi d’insuccesso I principali motivi dell’insuccesso di grandi progetti software sono: – Carenze nelle specifiche e nei requisiti – Variazioni nei requisiti in corso d’opera – Mancanza d’input degli utenti
Le attività del processo software Rilevazione Analisi e negoziazione Formalizzazione Validazione Gestione
Costi di manutenzione Circa il 70% dei costi di sviluppo del software è destinato alla manutenzione
Modello trasformazionale
Produttore e committente Quattro casi Produttore = committente Produttore e committente sono unità organizzativamente distinte nella stessa azienda o istituzione Produttore = software house che sviluppa un’applicazione custom per un singolo utente Produttore = software house che sviluppa un’applicazione (pacchetto shrink-wrap) da immettere sul mercato FINE