SDLC - Modello a spirale
Il modello a spirale combina l'idea di sviluppo iterativo con gli aspetti sistematici e controllati del modello a cascata. Questo modello a spirale è una combinazione del modello di processo di sviluppo iterativo e del modello di sviluppo lineare sequenziale, ovvero il modello a cascata con un'enfasi molto elevata sull'analisi del rischio. Consente rilasci incrementali del prodotto o un raffinamento incrementale attraverso ogni iterazione attorno alla spirale.
Modello a spirale - Design
Il modello a spirale ha quattro fasi. Un progetto software passa ripetutamente attraverso queste fasi in iterazioni chiamate Spirali.
Identificazione
Questa fase inizia con la raccolta dei requisiti aziendali nella spirale di base. Nelle successive spirali man mano che il prodotto matura, in questa fase viene effettuata l'identificazione dei requisiti di sistema, dei requisiti del sottosistema e dei requisiti dell'unità.
Questa fase include anche la comprensione dei requisiti di sistema attraverso la comunicazione continua tra il cliente e l'analista di sistema. Alla fine della spirale, il prodotto viene distribuito nel mercato identificato.
Design
La fase di progettazione inizia con la progettazione concettuale nella spirale della linea di base e coinvolge la progettazione architettonica, la progettazione logica dei moduli, la progettazione fisica del prodotto e il progetto finale nelle spirali successive.
Costruisci o costruisci
La fase di costruzione si riferisce alla produzione del prodotto software effettivo ad ogni spirale. Nella spirale di base, quando si pensa al prodotto e si sta sviluppando il design, in questa fase viene sviluppato un POC (Proof of Concept) per ottenere il feedback dei clienti.
Quindi nelle successive spirali con maggiore chiarezza sui requisiti e sui dettagli di progettazione viene prodotto un modello funzionante del software chiamato build con un numero di versione. Queste build vengono inviate al cliente per il feedback.
Valutazione e analisi dei rischi
L'analisi dei rischi include l'identificazione, la stima e il monitoraggio della fattibilità tecnica e dei rischi di gestione, come lo slittamento della pianificazione e il superamento dei costi. Dopo aver testato la build, alla fine della prima iterazione, il cliente valuta il software e fornisce feedback.
L'illustrazione seguente è una rappresentazione del modello a spirale, che elenca le attività in ciascuna fase.
Sulla base della valutazione del cliente, il processo di sviluppo del software entra nell'iterazione successiva e successivamente segue l'approccio lineare per implementare il feedback suggerito dal cliente. Il processo di iterazioni lungo la spirale continua per tutta la vita del software.
Applicazione del modello a spirale
Lo Spiral Model è ampiamente utilizzato nell'industria del software in quanto è in sincronia con il naturale processo di sviluppo di qualsiasi prodotto, ovvero l'apprendimento con maturità che comporta il minimo rischio per il cliente così come per le aziende di sviluppo.
I seguenti suggerimenti spiegano gli usi tipici di un modello a spirale:
Quando c'è un vincolo di bilancio e la valutazione del rischio è importante.
Per progetti a rischio medio-alto.
Impegno del progetto a lungo termine a causa di potenziali cambiamenti alle priorità economiche man mano che i requisiti cambiano nel tempo.
Il cliente non è sicuro delle proprie esigenze, come di solito accade.
I requisiti sono complessi e richiedono una valutazione per ottenere chiarezza.
Nuova linea di prodotti che dovrebbe essere rilasciata in fasi per ottenere un feedback sufficiente dai clienti.
Sono previsti cambiamenti significativi nel prodotto durante il ciclo di sviluppo.
Modello a spirale - Pro e contro
Il vantaggio del modello del ciclo di vita a spirale è che consente di aggiungere elementi del prodotto, quando diventano disponibili o conosciuti. Ciò garantisce che non vi siano conflitti con i requisiti e il design precedenti.
Questo metodo è coerente con gli approcci che hanno più build e rilasci software che consentono di effettuare una transizione ordinata a un'attività di manutenzione. Un altro aspetto positivo di questo metodo è che il modello a spirale impone un coinvolgimento precoce dell'utente nello sforzo di sviluppo del sistema.
D'altro canto, è necessaria una gestione molto rigida per completare tali prodotti e c'è il rischio di eseguire la spirale in un ciclo indefinito. Pertanto, la disciplina del cambiamento e l'entità dell'accettazione delle richieste di cambiamento sono molto importanti per sviluppare e distribuire il prodotto con successo.
I vantaggi del modello Spiral SDLC sono i seguenti:
È possibile soddisfare le esigenze in evoluzione.
Consente un ampio utilizzo di prototipi.
I requisiti possono essere acquisiti in modo più accurato.
Gli utenti vedono il sistema in anticipo.
Lo sviluppo può essere suddiviso in parti più piccole e le parti rischiose possono essere sviluppate prima, il che aiuta a una migliore gestione del rischio.
Gli svantaggi del modello Spiral SDLC sono i seguenti:
La gestione è più complessa.
La fine del progetto potrebbe non essere nota in anticipo.
Non adatto a progetti piccoli oa basso rischio e potrebbe essere costoso per piccoli progetti.
Il processo è complesso
La spirale può andare avanti all'infinito.
Un gran numero di fasi intermedie richiede una documentazione eccessiva.