Modello a spirale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(40 versioni intermedie di 29 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==
Considerandolo come punto di riferimento, è possibile scegliere il modello di sviluppo più appropriato (evolutivo o a cascata) in funzione del livello di rischio.
 
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.
Si basa, appunto, sul concetto di ''rischio'', ovvero un insieme di circostanze avverse che posso 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.
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.
 
==Definizione==
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.
I capisaldi sono:
*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.
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.
 
===Pianificazione===
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.
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===
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.
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===
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===
[[Categoria:Metodologie di sviluppo]]
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==
[[de:Spiralmodell]]
<references />
[[en:Spiral model]]
 
[[es:Espiral de Boehm]]
== Altri progetti ==
[[fr:Modèle en spirale]]
{{interprogetto|preposizione=sul}}
[[ja:スパイラルモデル]]
 
[[nl:Spiraal model]]
{{portale|informatica}}
[[pl:Model spiralny]]
 
[[pt:Modelo em espiral]]
[[Categoria:MetodologieMetodi di sviluppo software]]
[[ru:Спиральная модель]]