Le fasi del ciclo di vita di un software si possono distinguere in 5:
-Analisi= ha lo scopo di identificare i requisiti dell'applicazione da realizzare.
-Progettazione=in questa fase viene difinita l'architettura del software da realizzare,avendo come scopo la decomposizione in componenti.
-Implementazione=in questa fase viene sviluppato il codice dei singoli componenti che costituiscono l'applicazione.
-Verifica= in questa fase si verifica l'integrazione dei componenti,la corretta esecuzione del codice realizzato,se l'applicazione soddisfa i requisiti.
-Manutenzione=dopo il rilascio dell'applicazione realizzata è spesso necessario correggere dei bug non rilevati nella fase di verifica.