SDLC - Modello RAD
Il RAD (Rapid Application Development)il modello si basa sulla prototipazione e sullo sviluppo iterativo senza alcuna pianificazione specifica. Il processo di scrittura del software stesso implica la pianificazione necessaria per lo sviluppo del prodotto.
Lo sviluppo rapido delle applicazioni si concentra sulla raccolta dei requisiti del cliente attraverso workshop o focus group, test precoce dei prototipi da parte del cliente utilizzando un concetto iterativo, riutilizzo dei prototipi esistenti (componenti), integrazione continua e consegna rapida.
Cos'è RAD?
Lo sviluppo rapido di applicazioni è una metodologia di sviluppo software che utilizza una pianificazione minima a favore della prototipazione rapida. Un prototipo è un modello funzionante che è funzionalmente equivalente a un componente del prodotto.
Nel modello RAD, i moduli funzionali vengono sviluppati in parallelo come prototipi e vengono integrati per realizzare il prodotto completo per una consegna più rapida del prodotto. Poiché non esiste una pianificazione preliminare dettagliata, è più facile incorporare le modifiche all'interno del processo di sviluppo.
I progetti RAD seguono un modello iterativo e incrementale e dispongono di piccoli team composti da sviluppatori, esperti di dominio, rappresentanti dei clienti e altre risorse IT che lavorano progressivamente sul proprio componente o prototipo.
L'aspetto più importante affinché questo modello abbia successo è assicurarsi che i prototipi sviluppati siano riutilizzabili.
Progettazione del modello RAD
Il modello RAD distribuisce le fasi di analisi, progettazione, costruzione e test in una serie di cicli di sviluppo brevi e iterativi.
Di seguito sono riportate le varie fasi del Modello RAD:
Modellazione aziendale
Il modello di business del prodotto in fase di sviluppo è concepito in termini di flusso di informazioni e distribuzione delle informazioni tra i vari canali di business. Viene eseguita un'analisi aziendale completa per trovare le informazioni vitali per il business, come possono essere ottenute, come e quando vengono elaborate le informazioni e quali sono i fattori che guidano il flusso di informazioni di successo.
Modellazione dei dati
Le informazioni raccolte nella fase di Business Modeling vengono riviste e analizzate per formare insiemi di oggetti di dati vitali per l'azienda. Gli attributi di tutti i set di dati vengono identificati e definiti. La relazione tra questi oggetti di dati viene stabilita e definita in dettaglio in relazione al modello di business.
Modellazione dei processi
I set di oggetti dati definiti nella fase di modellazione dati vengono convertiti per stabilire il flusso di informazioni aziendali necessario per raggiungere obiettivi di business specifici secondo il modello di business. In questa fase viene definito il modello di processo per eventuali modifiche o miglioramenti ai set di oggetti dati. Vengono fornite le descrizioni del processo per l'aggiunta, l'eliminazione, il recupero o la modifica di un oggetto dati.
Generazione di applicazioni
Il sistema effettivo viene costruito e la codifica viene eseguita utilizzando strumenti di automazione per convertire i modelli di processo e di dati in prototipi reali.
Test e fatturato
Il tempo di test complessivo è ridotto nel modello RAD poiché i prototipi vengono testati indipendentemente durante ogni iterazione. Tuttavia, il flusso di dati e le interfacce tra tutti i componenti devono essere accuratamente testati con una copertura di prova completa. Poiché la maggior parte dei componenti di programmazione sono già stati testati, riduce il rischio di eventuali problemi importanti.
La figura seguente descrive in dettaglio il modello RAD.
Modello RAD vs SDLC tradizionale
L'SDLC tradizionale segue modelli di processo rigidi con un'enfasi elevata sull'analisi e la raccolta dei requisiti prima dell'inizio della codifica. Mette pressione sul cliente affinché approvi i requisiti prima dell'inizio del progetto e il cliente non ha la sensazione del prodotto poiché non è disponibile una build funzionante per molto tempo.
Il cliente potrebbe aver bisogno di alcune modifiche dopo aver visto il software. Tuttavia, il processo di modifica è piuttosto rigido e potrebbe non essere fattibile incorporare importanti cambiamenti nel prodotto nell'SDLC tradizionale.
Il modello RAD si concentra sulla consegna iterativa e incrementale di modelli di lavoro al cliente. Ciò si traduce in una rapida consegna al cliente e nel coinvolgimento del cliente durante l'intero ciclo di sviluppo del prodotto riducendo il rischio di non conformità con le effettive esigenze dell'utente.
Modello RAD - Applicazione
Il modello RAD può essere applicato con successo ai progetti in cui è possibile una chiara modularizzazione. Se il progetto non può essere suddiviso in moduli, RAD potrebbe non riuscire.
I seguenti puntatori descrivono gli scenari tipici in cui RAD può essere utilizzato:
RAD dovrebbe essere utilizzato solo quando un sistema può essere modularizzato per essere consegnato in modo incrementale.
Dovrebbe essere usato se c'è un'elevata disponibilità di designer per la modellazione.
Dovrebbe essere utilizzato solo se il budget consente l'uso di strumenti di generazione automatica del codice.
Il modello RAD SDLC deve essere scelto solo se sono disponibili esperti di dominio con conoscenze aziendali pertinenti.
Dovrebbe essere utilizzato laddove i requisiti cambiano durante il progetto e i prototipi funzionanti devono essere presentati al cliente in piccole iterazioni di 2-3 mesi.
Modello RAD - Pro e contro
Il modello RAD consente una consegna rapida in quanto riduce il tempo di sviluppo complessivo grazie alla riutilizzabilità dei componenti e allo sviluppo parallelo. RAD funziona bene solo se sono disponibili ingegneri altamente qualificati e il cliente si impegna anche a realizzare il prototipo mirato nel periodo di tempo stabilito. Se manca l'impegno da entrambe le parti, il modello potrebbe fallire.
I vantaggi del modello RAD sono i seguenti:
È possibile soddisfare le esigenze in evoluzione.
Il progresso può essere misurato.
Il tempo di iterazione può essere breve con l'uso di potenti strumenti RAD.
Produttività con meno persone in breve tempo.
Tempi di sviluppo ridotti.
Aumenta la riutilizzabilità dei componenti.
Si verificano rapide revisioni iniziali.
Incoraggia il feedback dei clienti.
L'integrazione sin dall'inizio risolve molti problemi di integrazione.
Gli svantaggi del modello RAD sono i seguenti:
Dipendenza da membri del team tecnicamente forti per l'identificazione dei requisiti aziendali.
Solo il sistema che può essere modulare può essere costruito utilizzando RAD.
Richiede sviluppatori / designer altamente qualificati.
Elevata dipendenza dalle capacità di modellazione.
Inapplicabile a progetti più economici poiché il costo della modellazione e della generazione di codice automatizzato è molto alto.
La complessità della gestione è più.
Adatto per sistemi basati su componenti e scalabili.
Richiede il coinvolgimento dell'utente durante tutto il ciclo di vita.
Adatto per progetti che richiedono tempi di sviluppo più brevi.