Il committente commissiona la realizzazione di un software.

  1. Studio di fattibilità.
  2. Raccolta dei requisiti (Vedi esempio di raffinamento dei requisiti). È fatta dagli ingegneri dei requisiti.
  3. 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.
  4. Progetto dell’applicazione: definisce come il sistema può fare. È fatto dai progettisti.
  5. Realizzazione dell’applicazione. È fatta dai programmatori.
  6. Integrazione dei componenti e testing dell’applicazione. È fatta dai programmatori.
  7. Deployment (messa in esercizio) dell’applicazione. È fatto dai programmatori.
  8. 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.