Ciclo di vita di un software

Aprile 2015

Ciclo di vita di un software


Il « Ciclo di vita di un software » (in inglese software lifecycle), designa tutte le varie tappe dello sviluppo di un software, dalla sua concezione alla sua scomparsa. L'obiettivo di una divisione simile e di permettere di definire degli stadi intermedi che permettano la validazione dello sviluppo del software, cioè la conformità del software secondo i bisogni espressi, e la verifica del processo di sviluppo, cioè l'adeguatezza dei modelli attuati.

L'origine di questa divisione proviene dalla constatazione che gli errori hanno un costo tanto più elevato quanto la loro rilevazione avviene tardivamente nel processo di realizzazione. Il ciclo di vita permette di rilevare gli errori il prima possibile e quindi di controllare la qualità del software, dei tempi di realizzazione e i costi associati.

Il ciclo di vita del software comprende generalmente almeno le seguente attività :
  • Definizione degli obiettivi, che consiste nel definire la finalità del progetto e la sua iscrizione in una strategia globale.
  • Analisi dei bisogni e della fattibilità, cioè l'espressione, la raccolta e la formalizzazione dei bisogni del richiedente (il cliente) e dell'insieme dei limiti.
  • Concezione generale. Si tratta dell'elaborazione delle specifiche dell'architettura generale del software.
  • Concezione dettagliata, che consiste nel definire precisamente ogni sotto-insieme del software.
  • Codifica (Implementazione o programmazione), ossia la traduzione in un linguaggio di programmazione delle funzionalità definite in fase di concezione.
  • Test unitari, che permettono di verificare individualmente che ogni sotto-insieme del software sia implementato conformemente alle specifiche.
  • Integrazione, con l'obiettivo di assicurare dell'interfacciamento dei diversi elementi (moduli) del software. Essa è l'oggetto dei test di integrazione definiti in un documento.
  • Beta Testing (o debugging), cioè la verifica della conformità del software alle specifiche iniziali.
  • Documentazione, che punta a produrre le informazioni necessarie per l'uso del software o per gli ulteriori sviluppi.
  • Produzione,
  • Manutenzione, che comprende tutte le azioni correttive (manutenzione correttiva) e evolutive (manutenzione evolutiva) sul software.


La sequenza e la presenza di ognuna di queste attività nel ciclo di vita dipende dalla scelta di un modello di ciclo di vita tra il cliente e l'equipe di sviluppo.

Modelli di cicli di vita


Per essere in grado di avere una metodologia comune fra il cliente e la società di servizi che si occupa dello sviluppo, sono stati elaborati dei cicli di vita che definiscono le tappe dello sviluppo nonché i documenti da produrre per validare ogni tappa prima di passare alla successiva. Alla fine di ogni fase, si organizzano delle revisioni prima di passare alla fase successiva.

Modello a cascata


Il modello di ciclo di vita a cascata è stato attuato a partire dal 1966, per essere formalizzato verso il 1970. Esso definisce delle fasi sequenziali secondo le quali vengono prodotti dei documenti per verificarne la conformità prima di passare alla successiva :
modello di ciclo di vita a cascata

Modello a V


Il modello di ciclo di vita a V parte dal principio che le procedure di verifica della conformità del software rispetto alle specifiche devono essere elaborate a partire dalle fasi di concezione.
modello di ciclo di vita a V
Per poter consultare questo documento offline, ne potete scaricare gratuitamente una versione in formato PDF:
Ciclo-di-vita-di-un-software.pdf

Vedi anche


Software lifecycle
Software lifecycle
Ciclo de vida del software
Ciclo de vida del software
Software-Lebenszyklus
Software-Lebenszyklus
Cycle de vie d'un logiciel
Cycle de vie d'un logiciel
Ciclo de vida de um software
Ciclo de vida de um software
Il documento intitolato « Ciclo di vita di un software » da Kioskea (it.kioskea.net) è reso disponibile sotto i termini della licenza Creative Commons. È possibile copiare, modificare delle copie di questa pagina, nelle condizioni previste dalla licenza, finché questa nota appaia chiaramente.