Il committente commissiona la realizzazione di un software.
- Studio di fattibilità.
- Raccolta dei requisiti (Vedi esempio di raffinamento dei requisiti). È fatta dagli ingegneri dei requisiti.
- Analisi concettuale dei requisiti: definisce cosa il sistema può fare (Vedi Class and Object diagram e documenti di specifica). È fatta dagli analisti in collaborazione con gli esperti del dominio.
- Progetto dell’applicazione: definisce come il sistema può fare. È fatto dai progettisti.
- Realizzazione dell’applicazione. È fatta dai programmatori.
- Integrazione dei componenti e testing dell’applicazione. È fatta dai programmatori.
- Deployment (messa in esercizio) dell’applicazione. È fatto dai programmatori.
- Manutenzione dell’applicazione, fatta dai manutentori.
Al termine di ogni fase si può tornare indietro.
L’utente finale usa il software.
Modelli di cicli di vita del software
Modello a cascata: ogni fase inizia quando termina la precedente, è usato esclusivamente in ambito didattico.
Modello a spirale o iterativo: si eseguono le fasi in ordine, poi finito il ciclo si rilascia la prima versione del software. Parallelamente, ogni team incaricato a una determinata fase inizia a contribuire alla prossima versione, che infine viene rilasciata. Il ciclo continua e nessun team ha mai bisogno di fermarsi per aspettare il lavoro degli altri.