“E’ bene trascurare le fasi di analisi
e progetto e precipitarsi
all’implementazione allo scopo di
guadagnare il tempo necessario
per rimediare agli errori commessi
per aver trascurato la fase di analisi
e di progetto”
Legge di Mayers
Ingegneria del SW e ciclo di vita


Pianificazione del sistema (stabilire quali parti del sistema andranno
realizzate via sw)
Analisi (decidere cosa il progetto dovrebbe realizzare)


Specifiche dei requisiti:manuale utente, prestazioni richieste e risorse
utilizzate
Progettazione(definire la strategia che porta alla soluzione)

Si individuano le strutture dati e gli archivi necessari

Codifica

Test e Debug

Installazione, verifica e collaudo

Manutenzione

Aspetto correttivo

Aspetto adattivo

Aspetto migliorativo
Modello a cascata

Ogni singola attività deve essere completata
prima di passare alla successiva


Durata del progetto non troppo lunga (in
modo che non cambino i requisiti)


Requisiti stabili
Comunicazione attraverso documenti
Modificare il sistema software in fase di
avanzamento è molto costoso, meglio
cercare di pianificare molto bene il tutto fin
dall’inizio
Modello prototipazione rapida

Raccolta dei requisiti

Progetto rapido

Costruzione del prototipo

Valutazione del prototipo

Rifinitura del prototipo

Realizzazione del prodotto finale
Prototipazione rapida (svantaggi)


La valutazione del prototipo da parte del
committente riguarda a volte più il suo aspetto
esteriore che non le sue effettive funzionalità
Il prototipo viene utilizzato come base per lo
sviluppo e non solo come “chiarificatore dei
requisiti”
Modello incrementale



Vengono create versioni successive
(sottosistemi) a partire da quelli più importanti
Ogni sottosistema soddisfa solo una parte dei
requisiti
Ogni volta va codificato e testato in nuovo
sottosistema, ma va testato anche l’intero
prodotto
Modello incrementale



I sottosistemi già realizzati vanno utilizzati nella
costruzione degli incrementi successivi
Quindi devono essere integrabili e avere lo
stesso livello qualitativo
La fase di manutenzione non è una fase
separata, ma rappresenta il normale modo di
operare
Modello a spirale


Pianificazione (cosa deve essere realizzato e
come)
Analisi dei rischi (costi, tempi, variazioni delle
specifiche)

Sviluppo

Valutazione

pianificazione...
Metodologie agili


Il progetto ed il codice sono impostati per
privilegiare l’adattabilità alle modifiche piuttosto
che per soddisfare pienamente tutte le
specifiche
Iteratività e incrementalità (soluzione di pochi
problemi, piccoli e ben definiti)

Rilasci frequenti

Testing
Metologie agili


Applicabili a progetti dove i requisiti utente
cambiano continuamente
Se una persona è felice di lavorare produrrà un
sistema di qualità superiore
Scarica

Modelli di sviluppo