Code & Fix
La prima metodologia usata per lo sviluppo del software è stata il "code & fix": si scriveva subito il codice, e si risolvevano i problemi man mano che li si incontrava.
Ciò ha portato, negli anni '60, alla crisi del software*:*** mentre le prestazioni dell'hardware aumentavano in maniera esponenziale, la produttività degli sviluppatori era stagnante, se non in declino. Per risolvere tale crisi è nata la disciplina del software engeneering, che ha introdotto dei modelli formali del processo di sviluppo.
Modello a cascata
Il modello a cascata (waterfall) paragona lo sviluppo del software alla produzione di un oggetto fisico (catena di montaggio):
- è composto da una serie di fasi, chiamate anche attività
- segue una direzione lineare prevalente da una fase all'altra, senza cicli, che sono considerati dannosi, dato che evitarli permette una pianificazione e un controllo miglior, (tuttavia a volte sono inevitabili);
- standardizza l'output di ciascuna fase, in modo che esso possa essere facilmente usato nelle fasi successive, anche nei casi in cui queste vengono svolte da team diversi.
Le fasi del modello a cascata sono:
- studio di fattibilità (feasibility study) → documento di studio di fattibilità;
- **analisi e specifica dei requisiti (**requirements analysis and specification) → documento di analisi e specifica dei requisiti (RASD)
- design → documento di design
- ——— codifica e test di unità (coding and unit test) ———
- **test di integrazione e di sistema (**integration and system test)
- messa in esercizio (deployment)
- manutenzione (maintenance)
Le prime tre fasi, chiamate fasi alte (early phases), sono le più importanti, perchè le decisioni effettuate nel corso di queste si riflettono sulle fasi successive. Le fasi restanti, invece, sono chiamate fasi basse (late phases).
Studio di fattibilità