sabato 6 ottobre 2012

Ciclo di vita del software e modelli di sviluppo

Solo negli anni '70 si inizia 
a sentire l’esigenza di strutturare 
“ingegneristicamente", integrando 
pianificazione controllo e
 sviluppo documentale
Per parlare del ciclo di vita del software dobbiamo partire dall'individuazione delle caratteristiche peculiari di questo “prodotto”. Il software, infatti, non si può paragonare al generico prodotto industriale, in quanto si sviluppa e non si costruisce, e si ingegnerizza ma non si fabbrica. Le sue attività difficilmente si possono inquadrare nell’ambito del operation management. Leggi come si realizza un progetto informatico.
L’ISO/IEC 12207:2008 è uno standard internazionale, che potrebbe definirsi “di prodotto”, in cui si stabilisce  la gestione del ciclo di vita del software, e che si propone come standard di riferimento del settore. È interessante l’input generale che ha voluto dare l’ISO, guardando sia al ciclo di Deming che ai principi di integrazione del software con le strutture che lo accoglieranno. 

Processi informatici
Lo standard definisce tutte le attività svolte nel processo di sviluppo, implementazione e manutenzione del software, e suddivide i processi informatici in tre categorie:
  • Primari: le cinque attività direttamente legate allo sviluppo software (sviluppo, esercizio, manutenzione, fornitori, acquisti);
  • Di supporto: otto attività non legate direttamente allo sviluppo (i processi di qualità, la validazione, gli audit, etc.);
  • Organizzativi: sono quattro ed impattano sugli aspetti manageriali e di gestione.

Lo standard evidenzia per ogni processo l’obiettivo primario e le responsabilità, la lista delle sotto attività e la scomposizione di ogni singola attività.

Questo approccio è importante perché permette di realizzare una serie di valutazioni, benchmark e confronti su larga e  piccola scala.

Modelli di sviluppo del software
A partire dagli anni settanta (quando si inizia a sentire l’esigenza di strutturare “ingegneristicamente” integrando pianificazione controllo e sviluppo documentale) in letteratura si sono presentati molteplici modelli per analizzare lo sviluppo dei progetti informatici, in particolare del software. Da allora i modelli di sviluppo del software sono generati a partire da una base comune: l’individuazione delle attività fondamentali. Da qui i vari modelli cercano di sviscerare caratteristiche e potenzialità dei progetti.

Tutti i modelli di sviluppo infatti, proprio a partire dalle attività, individuano soggetti, relazioni e strumenti che legano le varie fasi sino a creare una mappa del progetto, o del processo.


Per completezza, illustriamo brevemente i principali modelli di sviluppo del software e le loro peculiarità:
  • Modello a cascata: il primo modello di ciclo di vita del software implementato, si caratterizza per l’esecuzione in sequenza delle fasi di analisi, progetto, sviluppo, collaudo e manutenzione;
  • Modelli iterativi: si introducono i cicli e si rafforzano le interazioni, si definiscono iterativi tutti i modelli di sviluppo che prevedono processi in grado di ritornare ad una fase del procedimento già affrontata in precedenza. Il principio ispiratore è il ciclo PDCA;
  • Modelli RAD: focalizzati alla rapidità dei risultati ed allo sviluppo parallelo dei processi;
  • Modelli incrementali: definiti anche evolutivi sono una ulteriore strutturazione dei modelli iterativi, sono particolarmente indicati quando si fa ricorso a prototipizzazione e sviluppo incrementale (alcuni autori considerano anche il modello prototipale);
  • Modello a Spirale: formalizzato nel 1988 è una ulteriore evoluzione del modello incrementale.
Articolo pubblicato su: http://www.pmi.it


Nessun commento:

Posta un commento