Fasi e modelli del ciclo di vita dello sviluppo software (SDLC).
Cos'è SDLC?
SDLC è un processo sistematico per la creazione di software che garantisce la qualità e la correttezza del software creato. Il processo SDLC mira a produrre software di alta qualità che soddisfi le aspettative dei clienti. Lo sviluppo del sistema dovrebbe essere completato nei tempi e nei costi predefiniti. SDLC consiste in un piano dettagliato che spiega come pianificare, costruire e mantenere un software specifico. Ogni fase del ciclo di vita dell'SDLC ha il proprio processo e risultati finali che alimentano la fase successiva. SDLC sta per Ciclo di vita dello sviluppo del software ed è indicato anche come ciclo di vita dello sviluppo dell'applicazione.
Perché SDLC?
Ecco i motivi principali per cui SDLC è importante per lo sviluppo di un sistema software.
- Offre una base per la pianificazione, la programmazione e la stima del progetto
- Fornisce un quadro per un insieme standard di attività e risultati finali
- È un meccanismo per il monitoraggio e il controllo del progetto
- Aumenta la visibilità della pianificazione del progetto per tutte le parti interessate coinvolte nel processo di sviluppo
- Aumentata e migliorata la velocità di sviluppo
- Miglioramento delle relazioni con i clienti
- Ti aiuta a ridurre il rischio del progetto e i costi generali del piano di gestione del progetto
Fasi SDLC
L'intero processo SDLC è suddiviso nei seguenti passaggi SDLC:
- Fase 1: Raccolta e analisi dei requisiti
- Fase 2: Studio di fattibilità
- Fase 3: progettazione
- Fase 4: codifica
- Fase 5: test
- Fase 6: installazione/distribuzione
- Fase 7: Manutenzione
In questo tutorial, ho spiegato tutte queste fasi del ciclo di vita dello sviluppo software
Fase 1: Raccolta e analisi dei requisiti
Il requisito è la prima fase del processo SDLC. È condotto dai membri senior del team con il contributo di tutte le parti interessate e di esperti di dominio del settore. Pianificazione per il garanzia della qualità in questa fase vengono effettuati anche i requisiti e il riconoscimento dei rischi connessi.
Questa fase fornisce un quadro più chiaro dell’ambito dell’intero progetto e delle questioni, opportunità e direttive previste che hanno innescato il progetto.
La fase di raccolta dei requisiti richiede che i team ottengano requisiti dettagliati e precisi. Ciò aiuta le aziende a finalizzare la tempistica necessaria per completare il lavoro di quel sistema.
Fase 2: Studio di fattibilità
Una volta completata la fase di analisi dei requisiti, il passaggio successivo di sdlc consiste nel definire e documentare le esigenze del software. Questo processo è stato condotto con l'aiuto del documento "Specifica dei requisiti software" noto anche come documento "SRS". Comprende tutto ciò che dovrebbe essere progettato e sviluppato durante il ciclo di vita del progetto.
Esistono principalmente cinque tipologie di verifiche di fattibilità:
- Economico: Possiamo completare il progetto rispettando il budget oppure no?
- Note legali: Possiamo gestire questo progetto come legge informatica e altri quadri normativi/conformità.
- Operafattibilità della soluzione: Possiamo creare le operazioni previste dal cliente?
- Tecnica: È necessario verificare se l'attuale sistema informatico può supportare il software
- Orario: Decidere se il progetto può essere completato entro il programma indicato oppure no.
Fase 3: progettazione
In questa terza fase, i documenti di progettazione del sistema e del software vengono preparati in base al documento di specifica dei requisiti. Ciò aiuta a definire l'architettura complessiva del sistema.
Questa fase di progettazione funge da input per la fase successiva del modello.
In questa fase vengono sviluppati due tipi di documenti di progettazione:
Progettazione di alto livello (HLD)
- Breve descrizione e nome di ciascun modulo
- Uno schema sulla funzionalità di ogni modulo
- Relazioni di interfaccia e dipendenze tra moduli
- Tabelle del database identificate insieme ai loro elementi chiave
- Diagrammi di architettura completi insieme ai dettagli tecnologici
Progettazione di basso livello (LLD)
- Logica funzionale dei moduli
- Tabelle del database, che includono tipo e dimensione
- Dettaglio completo dell'interfaccia
- Risolve tutti i tipi di problemi di dipendenza
- Elenco dei messaggi di errore
- Ingressi e uscite completi per ogni modulo
Fase 4: codifica
Una volta terminata la fase di progettazione del sistema, la fase successiva è la codifica. In questa fase, gli sviluppatori iniziano a costruire l'intero sistema scrivendo il codice utilizzando il linguaggio di programmazione scelto. Nella fase di codifica i compiti vengono suddivisi in unità o moduli e assegnati ai vari sviluppatori. È la fase più lunga del processo del ciclo di vita dello sviluppo del software.
In questa fase, lo sviluppatore deve seguire alcune linee guida di codifica predefinite. Devono anche essere utilizzati strumenti di programmazione come compilatore, interpreti, debugger per generare e implementare il codice.
Fase 5: test
Una volta che il software è completo e viene distribuito nell'ambiente di test. Il team di test inizia a testare la funzionalità dell'intero sistema. Questo viene fatto per verificare che l'intera applicazione funzioni secondo le esigenze del cliente.
Durante questa fase, il QA e il team di testing potrebbero riscontrare alcuni bug/difetti che comunicano agli sviluppatori. Il team di sviluppo corregge il bug e lo rimanda al QA per un nuovo test. Questo processo continua finché il software non è privo di bug, stabile e funziona in base alle esigenze aziendali di quel sistema.
Fase 6: installazione/distribuzione
Una volta che la fase di test del software è terminata e non sono rimasti bug o errori nel sistema, inizia il processo di distribuzione finale. Sulla base del feedback fornito dal project manager, il software finale viene rilasciato e controllato per eventuali problemi di implementazione.
Fase 7: Manutenzione
Una volta che il sistema è distribuito e i clienti iniziano a utilizzare il sistema sviluppato, si verificano le seguenti 3 attività
- Correzione dei bug: i bug vengono segnalati a causa di alcuni scenari che non sono stati testati affatto
- Upgrade – Aggiornamento dell'applicazione alle versioni più recenti del software
- Miglioramento: aggiunta di alcune nuove funzionalità al software esistente
L'obiettivo principale di questa fase SDLC è garantire che le esigenze continuino a essere soddisfatte e che il sistema continui a funzionare secondo le specifiche menzionate nella prima fase.
Modelli SDLC popolari
Ecco alcuni dei modelli più importanti del ciclo di vita dello sviluppo software (SDLC):
Modello a cascata in SDLC
Il modello a cascata è un modello SDLC ampiamente accettato. In questo approccio, l'intero processo di sviluppo del software è suddiviso in varie fasi di SDLC. In questo modello SDLC, il risultato di una fase funge da input per la fase successiva.
Questo modello SDLC è ad alta intensità di documentazione, con le fasi precedenti che documentano ciò che deve essere eseguito nelle fasi successive.
Modello incrementale in SDLC
Il modello incrementale non è un modello separato. Si tratta essenzialmente di una serie di cicli a cascata. I requisiti sono divisi in gruppi all'inizio del progetto. Per ciascun gruppo, viene seguito il modello SDLC per sviluppare il software. Il processo del ciclo di vita SDLC viene ripetuto, con ogni versione che aggiunge ulteriori funzionalità fino a quando tutti i requisiti non vengono soddisfatti. In questo metodo, ogni ciclo funge da fase di manutenzione per la versione precedente del software. La modifica al modello incrementale consente la sovrapposizione dei cicli di sviluppo. Dopodiché il ciclo successivo può iniziare prima che il ciclo precedente sia completato.
Modello V in SDLC
In questo tipo di test e sviluppo del modello SDLC, la fase è pianificata in parallelo. Quindi, ci sono fasi di verifica dell'SDLC da un lato e la fase di convalida dall'altro. Il modello V si unisce tramite la fase di codifica.
Modello Agile in SDLC
La metodologia Agile è una pratica che promuove l'interazione continua di sviluppo e test durante il processo SDLC di qualsiasi progetto. Nel metodo Agile, l'intero progetto è suddiviso in piccole build incrementali. Tutte queste build sono fornite in iterazioni e ogni iterazione dura da una a tre settimane.
Modello a spirale
Il modello a spirale è un modello di processo basato sul rischio. Questo modello di test SDLC aiuta il team ad adottare elementi di uno o più modelli di processo come cascata, incrementale, cascata, ecc.
Questo modello adotta le migliori caratteristiche del modello di prototipazione e del modello a cascata. La metodologia a spirale è una combinazione di prototipazione rapida e concorrenza nelle attività di progettazione e sviluppo.
Modello Big Bang
Il modello del Big Bang si concentra su tutti i tipi di risorse nello sviluppo e nella codifica del software, con una pianificazione minima o nulla. I requisiti vengono compresi e implementati quando arrivano.
Questo modello funziona meglio per piccoli progetti con team di sviluppo di dimensioni ridotte che lavorano insieme. È utile anche per progetti di sviluppo di software accademici. È un modello ideale in cui i requisiti non sono noti o non viene fornita la data di rilascio finale.
Sommario
- Il Software Development Life Cycle (SDLC) è un processo sistematico per la creazione di software che garantisce la qualità e la correttezza del software creato
- La forma completa SDLC è Ciclo di vita dello sviluppo del software o Ciclo di vita dello sviluppo dei sistemi.
- L'SDLC nell'ingegneria del software fornisce un quadro per una serie standard di attività e risultati finali
- Sette diverse fasi dell'SDLC sono 1) Raccolta e analisi dei requisiti 2) Studio di fattibilità: 3) Progettazione 4) Codifica 5) Test: 6) Installazione/distribuzione e 7) Manutenzione
- I membri senior della squadra dirigono il analisi dei requisiti fase
- La fase di Studio di Fattibilità comprende tutto ciò che dovrebbe essere progettato e sviluppato durante il ciclo di vita del progetto
- Nella fase di progettazione, i documenti di progettazione del sistema e del software vengono preparati secondo il documento di specifica dei requisiti
- Nella fase di codifica, gli sviluppatori iniziano a costruire l'intero sistema scrivendo il codice utilizzando il linguaggio di programmazione scelto
- Il test è la fase successiva che viene condotta per verificare che l'intera applicazione funzioni secondo le esigenze del cliente.
- Il fronte di installazione e distribuzione inizia quando il test del software la fase è terminata e nel sistema non sono rimasti bug o errori
- Azioni di risoluzione dei bug, aggiornamento e coinvolgimento trattate nella parte di manutenzione
- Cascata, Incrementale, Agile, Modello V, Spirale, Big Bang sono alcuni dei modelli SDLC più diffusi nell'ingegneria del software
- L'SDLC nei test del software consiste in un piano dettagliato che spiega come pianificare, costruire e mantenere un software specifico