Modello a spirale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(33 versioni intermedie di 25 utenti non mostrate)
Riga 1:
{{F|ingegneria del software|febbraio 2013}}
[[ImmagineFile:Modelloaspirale.gif|thumb|350pxupright=1.6]]
 
Il '''modello a spirale''' è un modello del [[ciclo di vita del software]] che consente di rappresentare i diversi cicli di vita, per cui può essere visto come un ''metamodello''.
 
==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. Proposta da Barry Boehm<ref>{{Cita web |url=http://simone.cabrino.it/blog/modelli_ciclo_vita/ |titolo=Ingegneria del Software: modelli di ciclo di vita<!-- Titolo generato automaticamente --> |accesso=5 maggio 2015 |dataarchivio=4 marzo 2016 |urlarchivio=https://web.archive.org/web/20160304221700/http://simone.cabrino.it/blog/modelli_ciclo_vita/ |urlmorto=sì }}</ref> nel 1988, scompone il processo di sviluppo in quattro fasi multiple, ciascuna ripetuta più volte.
Considerandolo come punto di riferimento, è possibile scegliere il modello di sviluppo più appropriato (evolutivo o a cascata) in funzione del livello di rischio.
 
==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 vi sono 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.
 
===Verifica===
Nella fase di verifica 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 in tutto - i requisiti non realizzati e passare a un'ulteriore sessione di analisi dei rischi, di sviluppo e di verifica.
 
==Note==
<references />
 
== Altri progetti ==
{{interprogetto|commonspreposizione=Category:Spiral model of Boehmsul}}
 
{{portale|informatica}}
[[Categoria:Metodologie di sviluppo]]
 
[[Categoria:MetodologieMetodi di sviluppo software]]
[[ca:Model espiral]]
[[de:Spiralmodell]]
[[en:Spiral model]]
[[es:Desarrollo en espiral]]
[[fr:Modèle en spirale]]
[[ja:スパイラルモデル]]
[[nl:Spiraalmodel]]
[[pl:Model spiralny]]
[[pt:Modelo em espiral]]
[[ru:Спиральная модель]]
[[zh:螺旋模型]]