Il processo di sviluppo di un sistema informativo o di un suo sottosistema (procedura o classi di procedure) è suddiviso in una sequenza di fasi. Ogni fase deve essere terminata prima di passare a quella successiva (non si ritorna indietro) e l’output da essa generato andrà a costituire l’input della fase seguente . È possibile effettuare controlli di qualità sui singoli risultati parziali
Si stabiliscono i principali obiettivi del sistema informativo da sviluppare
In un primo studio preliminare si analizza la fattibilità del progetto sia sotto il profilo tecnico (possibilità di utilizzo delle risorse esistenti) sia quello economico (stima costi / benefici)
Sono destinate risorse limitate (max 5-10% del costo prevedibile per l’intero progetto) per ridurre i rischi, stimare gli investimenti necessari ed delineare (le eventuali) fasi successive
Serve a individuare le aspettative dell’utente finale in relazione al prodotto da realizzare attraverso la cosiddetta analisi dei requisiti
Spesso è utile eseguire a priori un’analisi dei processi aziendali
Sulla scorta di tali ricerche e di un’eventuale analisi delle aree di criticità si elabora un progetto di massima dello sviluppo del software
Vengono individuate nel dettaglio le attività che costituiscono i processi aziendali e le risorse necessarie alla loro esecuzione
In particolare, si studiano le modalità di produzione, utilizzazione, aggiornamento, cancellazione e scambio dei dati rilevanti nell’ambito delle singole unità aziendali
Due possibili approcci: progettazione tradizionale (strutturata) e progettazione object oriented
Sviluppo nei minimi dettagli del progetto del sistema fino ai singoli comandi codificati nel linguaggio di programmazione prescelto e in particolare:
schemi di dati (descrizione della struttura dei dati, dei file o dei database)
cicli di programma o funzioni rappresentati da elementi strutturali del programma sotto forma di un diagramma strutturale
interfacce utente
Dopo aver verificato se il programma soddisfa tutti i requisiti tecnico/funzionali specificati all’inizio del progetto, prima della messa in esercizio su larga scala, si passa ad una validazione pilota degli stessi requisiti
Anche questo collaudo rileva la presenza di errori, non la totale assenza (fare tutte le prove possibili è un approccio economicamente e computazionalmente insostenibile)
Viene, inoltre, intensificato in parallelo l’addestramento degli utenti finali
Normalmente si estende a tutta la vita del sistema
Vengono apportate modifiche e adattamenti e si provvede a eliminare errori non rilevati nel test o nel collaudo di sistema
Spesso le modifiche sono dettate da cambiamenti nell’esigenze dell’utente, da aggiornamenti legislativi o da variazioni nell’architettura del sistema