Modello a spirale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Altri progetti: Bot, replaced: Categoria:Metodologie di sviluppo → Categoria:Metodi di sviluppo software
Ampliamento della pagina
Riga 6:
==Descrizione==
 
Per ovviare ai problemi dei modelli precedentemente sviluppati, ([[Modello a cascata]],[[Prototipazione Rapida]]) è nata la metodologia a spirale(o iterativa) ancora oggi ampiamente utilizzata.
Considerandolo come punto di riferimento, è possibile scegliere il modello di sviluppo più appropriato (evolutivo o a cascata) in funzione del livello di rischio.
Proposto da Barry Boehm<ref>http://simone.cabrino.it/blog/modelli_ciclo_vita/</ref> nel 1988, scompone il processo di sviluppo in quattro fasi multiple, ciascuna ripetuta più volte.
 
==Definizione==
Si basa, appunto, sul concetto di ''rischio'', ovvero un insieme di circostanze avverse che possono pregiudicare il processo di sviluppo e la qualità del software. Il modello a spirale si concentra sull’identificazione e l’eliminazione dei problemi ad alto rischio tralasciando quelli banali.
I capisaldi sono:
La caratteristica principale del modello è quella di ''essere ciclico'' e non lineare, ogni ciclo di spirale si compone di quattro fasi, il raggio rappresenta il costo accumulato e la dimensione angolare il progresso nel processo.
*Pianificazione
*Analisi dei rischi
*Sviluppo
*Verifica
 
Nel modello iterativo sono quindi presenti le stesse fasi del modello a cascata, ma i tempi sono più ristretti e dalla fase di testing si torna poi a quella di pianificazione per applicare eventuali correzioni al risultato dello sviluppo.
La prima fase identifica gli obiettivi e le alternative, poi le alternative si valutano nella seconda fase in cui vengono evidenziate le potenziali aree di rischio. La terza fase consiste nello sviluppo e nella verifica del prodotto, infine la quarta fase consiste nella revisione dei risultati delle tre fasi precedenti.
 
===Pianificazione===
Il modello a spirale è un modello di processo del software che abbina la natura iterativa della prototipazione e gli aspetti controllati e sistematici del modello sequenziale lineare, consentendo un rapido sviluppo di versioni via via più complete del software.
Nella pianificazione si determinano degli obiettivi,delle alternative e i vincoli associati al progetto. Il committente e il fornitore del sistema interagiscono allo scopo di definire in maniera sufficientemente univoca cosa deve essere realizzato e come. In questa fase è buona norma redigere dei documenti, in principio non eccessivamente dettagliati, che fissino i punti fondamentali della pianificazione del lavoro futuro.
 
===Analisi dei rischi===
Nel modello a spirale, il software viene sviluppato in una sequenza di versioni crescenti mediante la discussione di molteplici regioni (''task region'') che caratterizzano ogni giro della spirale.
Nell'analisi dei rischi si identificano e si analizzano i problemi e i rischi associati al progetto, al fine di determinare delle strategie per controllarli.Tra i rischi che devono essere presi in considerazione si annoverano i fattori di costo, di tempo e di variazione delle specifiche.
I rischi più evidenti da valutare sono quelli di carattere economico, facendo riferimento ai costi di realizzazione,gestione e di esercizio.
Altri parametri di rischio sono il [[tempo]] e la variazione delle specifiche.
 
===Sviluppo===
La spirale ha il pregio di considerare tutto il ciclo di vita; oltre ad arrivare alla consegna del software, permette di strutturare e programmare anche l’attività successiva all’installazione. In sostanza si occupa anche della manutenzione che molti altri modelli trascurano. Il modello a spirale è consigliato per progetti di grandi dimensioni poiché permette di raffinare ad ogni giro il materiale precedentemente elaborato ed approvato dal cliente; all’inizio probabilmente sarà sola documentazione cartacea contenente gli intenti e lo scopo finale, poi si costruiranno, se ritenuti opportuni, dei prototipi da verificare e validare, e così via fino a giungere al prodotto conclusivo.
Nella fase di sviluppo si procede alla vera e propria realizzazione: i tempi di realizzazione di questa attività, che comprende sia la codifica sia la verifica, sono tra i più lunghi tra tutti quelli previsti all'interno del ciclo di vita del prodotto software.
 
===Valutazione===
Nella fase di valutazione il committente valuta se il sistema realizzato risponde alle sue esigenze. Attraverso questa fase il committente verifica che il prodotto soddisfi effettivamente i requisiti richiesti. Una logica conseguenza del fatto che un prodotto software non superi la fase di validazione dei requisiti è la necessità di impostare un nuovo ciclo di attività in cui definire più chiaramente-o ridefinire il tutto- i requisiti non realizzati e passare a una ulteriore sessione di analisi dei rischi, di sviluppo e di valutazione
 
==Note==
<references />
 
== Altri progetti ==