33. Sviluppo di un software

Lo sviluppo di un software prevede diverse fasi. Queste possono essere così riassunte:


1. Analisi

2. Progettazione

3. Programmazione

4. Testing o debug

5. Manutenzione

 

Vediamole in dettaglio.

 

1. la fase di analisi, ovvero l'indagine preliminare sul contesto in cui il prodotto software deve inserirsi, sulle caratteristiche che deve esibire, ed eventualmente su costi e aspetti logistici della sua realizzazione. In senso ampio si può dire che l'analisi ha lo scopo di definire il problema da risolvere il più precisamente possibile.

 

2. la fase di progetto, in cui si definiscono le linee essenziali della struttura del sistema da realizzare, in funzione dei requisiti evidenziati dall'analisi e dal documento finale da essa creato. Si può dire che il progetto ha lo scopo di definire (a un certo livello di dettaglio) la soluzione del problema. In questa fase sarà sviluppato un documento che permetterà di avere una definizione della struttura di massima (architettura di alto livello) e una definizione delle caratteristiche dei singoli componenti (moduli);

 

3. la fase di programmazione o implementazione o codifica del sistema, ovvero la sua realizzazione concreta tipicamente consiste nella realizzazione di uno o più programmi in un determinato linguaggio di programmazione, benché possano essere coinvolte anche tecnologie diverse (database, linguaggi di scripting e via dicendo). Complessivamente, l'implementazione ha lo scopo di realizzare la soluzione.

 

4. la fase di testing o debug costituisce il collaudo. Questa è volta a misurare in che modo il sistema realizzato soddisfa i requisiti stabiliti nella fase di analisi, ovvero a valutarne la correttezza rispetto alle specifiche. In questa fase ritroviamo l’alpha ed il Beta testing che hanno lo scopo di scovare gli errori (bugs) del software. Il primo viene effettuato dai programmatori stessi. Superata questa fase viene iniziata il secondo test che produce quella che viene comunemente definita la versione Beta di un software. La versione beta è una versione non definitiva, già testata dagli esperti, messa a disposizione anche dei meno esperti, confidando proprio nelle loro azioni imprevedibili che potrebbero portare alla luce nuovi bug o incompatibilità del software stesso. Più precisamente il beta testing (o beta-verifica) è una fase di prova e collaudo di un software non ancora pubblicato. Questa operazione può essere svolta da professionisti pagati, oppure, molto spesso, da semplici amatori.

5. la fase di manutenzione, che comprende tutte le attività di modifica del software successive al suo rilascio presso il cliente o la sua immissione sul mercato. Queste attività possono essere volte a correggere errori del software, adattarlo a nuovi ambienti operativi, o estenderne le funzionalità. Si provi ad esempio ad immaginare un software sul calcolo dell’ICI che debba essere aggiornato al variare della normativa.