Storia del modello a spirale, caratteristiche, fasi, esempio

Storia del modello a spirale, caratteristiche, fasi, esempio

Lui Modello a spirale È un archetipo del processo di sviluppo dell'applicazione. Si basa sull'ipotesi che lo sviluppo del software sia un ciclo iterativo che viene ripetuto fino a raggiungere gli obiettivi stabiliti. Ha la capacità di gestire la grande quantità di rischi che potrebbero verificarsi durante lo sviluppo di qualsiasi software.

È uno dei modelli più importanti per supportare la gestione del rischio. Come suggerisce il nome, questo modello è mostrato come forma a spirale, in cui le diverse fasi del modello sono distribuite in diversi cicli. Il numero di cicli nel modello non è fisso e può variare da un progetto all'altro.

Analisi, valutazione, pianificazione e sviluppo. Fonte del software di sviluppo sippirale: Beao [Public Domain] Commons.Wikimedia.Org [TOC]

Storia

Creazione

Il modello a spirale è stato definito dal matematico e professore di ingegneria del software americano Barry Boehm. Dopo aver presentato il suo concetto nel 1986 per lo sviluppo di applicazioni complesse, ha pubblicato il suo modello nel 1988 in un quadro più completo nel suo articolo "Un modello a spirale di sviluppo e miglioramento del software".

Parte di questa pubblicazione del 1988 rappresentava graficamente il modello a spirale, mostrando per intero come il processo di sviluppo del software sia visto sotto forma di una spirale e sostenuta da cicli.

Boehm è noto per i suoi numerosi contributi all'ingegneria del software, come il modello di costo costruttivo (COCOMO), il modello a spirale del processo software, l'approccio alla teoria G (win-win) per la determinazione dei requisiti e la gestione del software.

Alternativa al modello a cascata

Nella sua pubblicazione, Boehm ha descritto il modello a spirale come una possibile alternativa al modello a cascata precedentemente stabilito, che è servito anche da base per la sua pratica.

Il modello a spirale non è stato il primo ad aumentare lo sviluppo ciclico, ma è stato il primo modello a spiegare perché l'iterazione è importante. Come era stato originariamente previsto, è stato assegnato a progetti grandi e complessi le cui iterazioni sono in genere da 6 mesi a 2 anni.

Questo modello non presuppone che le attività di sviluppo del software siano progettate linearmente, a differenza del modello a cascata, ma che li veda come attività iterative.

Questo modello ciclico ha influenzato l'architettura di ingegneria del software basata su modelli (MBASE) e la programmazione estrema.

Caratteristiche del modello a spirale

Controllo del rischio

Ciò che differenzia notevolmente questo modello dagli altri modelli di processo software è che riconosce esplicitamente i rischi. Pertanto, riduce considerevolmente che i grandi progetti software falliscono, poiché valuta ripetutamente i rischi e verifica ogni volta il prodotto di sviluppo.

Questo modello di computer contiene componenti di quasi tutti gli altri modelli di ciclo di vita del software, come il modello a cascata, il modello di creazione del prototipo, il modello iterativo, il modello evolutivo, ecc.

Può servirti: ICT (tecnologie di informazione e comunicazione)

Per questo motivo, è in grado di gestire quasi ogni tipo di rischio che gli altri modelli di solito non gestiscono. Tuttavia, a causa di così tanti componenti, questo modello è molto più complesso rispetto agli altri modelli di sviluppo del software.

Descrizione della spirale

Ogni curva a spirale rappresenta un ciclo completo, in cui passano sempre i quattro quadranti, che rappresentano le quattro fasi del modello.

All'aumentare della dimensione della spirale, aumenta anche il progresso. Pertanto, le fasi non vengono eseguite solo una volta, ma più volte, a spirale.

Sebbene questa ripetizione ciclica induce il progetto ad affrontare lentamente gli obiettivi stabiliti, il rischio di fallimento del processo di sviluppo è fortemente ridotto al minimo.

Generico

Le quattro fasi impiantano solo gli obiettivi di base di un ciclo, ma non devono manifestarsi in ogni ciclo.

Anche l'ordine di ciascun ciclo non è rigorosamente determinato. Pertanto, il modello può essere combinato in qualsiasi momento con altri modelli.

Flessibile

È abbastanza flessibile, quando si esegue separatamente per ogni fase del progetto i processi di definizione di obiettivi, analisi del rischio, sviluppo e pianificazione.

Metamodella

Il metamodel è considerato per includere altri modelli. Ad esempio, se la spirale al di fuori di un singolo ciclo rappresenterebbe il modello a cascata, poiché incorpora l'approccio graduale di questo modello classico.

Utilizza anche l'approccio del modello di creazione del prototipo, poiché all'inizio di ogni ciclo un prototipo per gestire i rischi.

Inoltre, è compatibile con il modello evolutivo, perché le iterazioni a spirale possono essere considerate livelli evolutivi, attraverso i quali è costruito il sistema finale.

Fasi

Determina obiettivi, alternative e restrizioni

I requisiti di sistema sono definiti con il massimo dettaglio possibile, tra cui prestazioni, interfacce hardware/software, indicatori di successo chiave, ecc. e sono considerati quali obiettivi devono essere associati all'attuale ciclo di sviluppo.

Inoltre, vengono esaminate diverse alternative per la sua attuazione, come la costruzione vs. Acquista, riutilizzi componenti esistenti o subappalti, ecc.

Allo stesso modo, restrizioni come costo, programma e interfacce, consumo di tempo, ecc.

valutazione del rischio

Vengono valutate tutte le alternative proposte. Gli obiettivi e le restrizioni servono a determinare i riferimenti per selezionare la soluzione migliore.

Inoltre, i rischi che possono ostacolare il successo del progetto, come mancanza di esperienza, nuove tecnologie, programmi stretti, processi carenti, ecc., implementazione delle strategie di rischio più redditizie e più basse.

Può servirti: qual è il periscope e a cosa serve?

Infine, vengono utilizzati metodi come la creazione di prototipi, simulazioni, modelli analitici e sondaggi utente.

Sviluppo e test

Tutto lo sviluppo necessario viene eseguito, utilizzando la tecnologia e la soluzione selezionate. Con ogni iterazione viene creata una versione migliore dell'applicazione.

Il codice reale viene scritto e testato più volte fino al raggiungimento del risultato desiderato, che servirà da base per le misure di sviluppo future.

Pianificazione del prossimo ciclo

Quando si completa un ciclo, inizia la seguente pianificazione. Questa pianificazione potrebbe essere normalmente con il progetto se l'obiettivo del ciclo fosse raggiunto, aumentando la definizione del prossimo obiettivo.

Potrebbe anche essere trovare altre soluzioni, se la fase di sviluppo precedente fosse difettosa. La strategia esistente potrebbe essere sostituita da una delle alternative precedentemente definite o una nuova. Con questo, un nuovo tentativo inizierebbe a raggiungere l'obiettivo.

Esempio

L'esercito degli Stati Uniti ha adottato il modello a spirale per lo sviluppo e l'aggiornamento del programma di modernizzazione per i futuri sistemi di combattimento (SCF).

Rilasciato ufficialmente nel 2003, si prevedeva che l'SCF equivalesse alle truppe con veicoli connessi in tempo reale a una rete di campi di battaglia straordinariamente rapidi e flessibili.

Il progetto è stato diviso in quattro spirali di sviluppo di circa due anni ciascuno. Spiral 1 doveva iniziare per il 2008 e consegnare prototipi per l'uso e la valutazione.

Dopo aver finito Spiral 1, era previsto per iniziare Spiral 2 per il 2010. Lo sviluppo finale del prodotto è stato pianificato per la consegna per il 2015.

Nell'agosto 2005, Boeing ha annunciato il completamento della prima importante pietra miliare del progetto, che è stata la revisione funzionale dei sistemi. Boeing and Science Applications International Corporation erano le collegazioni del progetto.

Tuttavia, nell'ottobre 2005 il Pentagono ha raccomandato di ritardare il progetto a causa dell'elevato impatto sui costi per la guerra in Iraq e l'uragano Katrina Aid.

Il progetto è stato cancellato nel 2009 dopo che si sono verificati tagli al bilancio, senza essere in grado di dimostrare i benefici del modello a spirale in questa missione

Vantaggi

Struttura ciclica

A causa di questo tipo di struttura, i problemi tra la progettazione e i requisiti tecnici del software sono tacitamente eliminati, grazie ai controlli periodici.

Gestione del rischio

I rischi vengono analizzati in ciascuna delle fasi del prodotto prima di andare avanti. Questo aiuta a superare o mitigare i possibili rischi.

Tutti i collaboratori beneficiano della grande importanza dell'analisi del rischio in questo modello, probabilmente rappresentando il loro massimo vantaggio rispetto ad altri modelli di processo.

Può servirti: porta parallela: caratteristiche, tipi e funzioni

La valutazione periodica dei rischi diventa valore quando gli ambienti tecnici innovativi, che sono generalmente associati a un particolare potenziale di rischio a causa dell'assenza di valori empirici.

Partecipazione e feedback del cliente

In ogni fase del progetto, i clienti sono coinvolti, fino al completamento del progetto. Pertanto, possono essere raccolti diversi feedback per migliorare la prossima versione del progetto.

Inoltre, il feedback può essere ottenuto in qualsiasi momento a causa della forma a spirale. Pertanto, i clienti e gli utenti possono essere integrati dall'inizio nel processo di sviluppo.

Ideale per progetti di grandi dimensioni

È particolarmente popolare e importante per progetti grandi e complessi, in cui il controllo del budget è una priorità per clienti e sviluppatori. C'è un controllo massimo sui costi, sulle risorse e sulla qualità del progetto software.

Svantaggi

Costoso

Può essere piuttosto costoso, poiché richiede un alto livello di esperienza per l'analisi del rischio. Inoltre, i progetti richiedono molto tempo per lo sviluppo, il che può aumentare le spese generali.

Abbastanza complesso

È richiesta una gestione preventiva molto attiva e complessa del progetto, in cui ogni ciclo è controllato e attentamente.

È relativamente più complesso rispetto ad altri modelli, perché ci sono molti cicli, ciascuno che attraversa le diverse fasi, aumentando così lo sforzo del processo di documentazione.

È essenziale avere conoscenza nell'analisi e nella gestione del rischio, che spesso non sono disponibili.

Gestione del tempo

È difficile gestire il tempo, poiché il numero di cicli è sconosciuto. Inoltre, in qualsiasi momento il processo di sviluppo può essere ritardato se all'interno di un ciclo decisioni importanti o azioni aggiuntive devono essere prese quando si pianifica il seguente ciclo.

Molti passaggi

Non è sempre favorevole fare molti passi nello sviluppo del software a causa del fatto che, nonostante la versatilità dei test, possono raggiungere il sistema infinito senza finire il programma.

Di conseguenza, c'è sempre il pericolo che qualsiasi concetto o incoerenza concettuale influisca sul prodotto finale.

Riferimenti

  1. Victor Font Jr (2019). Il modello a spirale. La guida definitiva all'SDLC. Tratto da: UltimateSDLC.com.
  2. Ionos (2019). Modello a spirale: il modello di processo di sviluppo del software basato sul rischio. Preso da: Ionos.com.
  3. Techuz (2018). Cos'è il modello a spirale? Alla semplice spiegazione del ciclo di vita dello sviluppo del software a spirale (SDLC). Preso da: Techuz.com.
  4. One Stop Test (2020). Modello a spirale. Tratto da: oonetoptesting.com.
  5. Geeks for Geeks (2020). Software di ingegneria - Modello a spirale. Tratto da: geeksforgeeks.org.
  6. Chandu (2019). Modello a spirale nell'ingegneria del software. Preso da: medio.com.