La procedura di sviluppo (o ciclo di vita del software), che a priori può sembrare un compito semplice, Consiste in una serie di passaggi obbligatori che cercano di rendere efficienti i programmi creati, affidabile, sicuro e rispondente alle esigenze dell'utente finale.
Qual è il ciclo di vita del software?
Il ciclo di vita dello sviluppo del software (noto anche come SDLC o Ciclo di vita dello sviluppo dei sistemi) considera le fasi essenziali per validare lo sviluppo del software e quindi garantirne la rispondenza ai requisiti per l'applicazione e la verifica delle procedure di sviluppo, garantire che i metodi utilizzati siano adeguati.
La sua origine risiede nel fatto che è molto costoso correggere eventuali errori che vengono rilevati in ritardo nella fase di attuazione. Utilizzando metodologie appropriate, potrebbe essere scoperto in anticipo in modo che i programmatori possano concentrarsi sulla qualità del software, rispettare le scadenze e i costi associati.
Anche se ci sono diversi cicli di sviluppo del software, la normativa ISO / IEC / IEEE 12207: 2017 stabilisce:
“Un framework comune per i processi del ciclo di vita del software, con una terminologia consolidata, a cui l'industria del software può fare riferimento. Contiene processi, attività e compiti applicabili durante l'acquisizione, fornitura, sviluppando, operazione, manutenzione o sistemazione dei sistemi, Prodotti e servizi IT. Questi processi del ciclo di vita sono realizzati attraverso la partecipazione delle parti interessate, al fine di raggiungere la soddisfazione del cliente".
Fasi di sviluppo del software
La metodologia per lo sviluppo del software è un modo sistematico di eseguire, gestire e gestire un progetto per realizzarlo con grandi possibilità di successo. Questa sistematizzazione indica come un progetto è suddiviso in moduli più piccoli per standardizzare come viene gestito.
A) Sì, una metodologia per lo sviluppo del software sono i processi da seguire sistematicamente per progettare, implementare e mantenere un prodotto software da quando si verifica la necessità del prodotto fino a quando lo scopo per il quale è stato creato è soddisfatto.
A) Sì, le fasi di sviluppo del software sono le seguenti:
Pianificazione
Prima di iniziare un progetto di sviluppo del sistema informativo, è necessario svolgere alcuni compiti che influenzeranno in modo decisivo il suo successo. Questi compiti sono conosciuti come inizio diffuso del progetto, poiché non sono soggetti a scadenze.
Alcuni dei compiti in questa fase includono attività come la determinazione della portata del progetto, condurre uno studio di fattibilità, analizzare i rischi associati, stimare il costo del progetto, la pianificazione del tempo e l'allocazione delle risorse alle diverse fasi del progetto. brutta copia.
Analisi
Certo, devi scoprire cosa dovrebbe fare esattamente il software. Perciò, la fase di analisi nel ciclo di vita del software corrisponde alla procedura attraverso la quale si cerca di scoprire cosa è realmente necessario e si realizza un'adeguata comprensione dei requisiti di sistema (le caratteristiche che il sistema deve avere).
Design
In questa fase vengono studiate le possibili opzioni di implementazione del software da realizzare., così come la sua struttura generale è decisa. La progettazione è una fase complessa e la sua procedura deve essere eseguita in modo iterativo.
La risposta iniziale potrebbe non essere la più appropriata, quindi in questa circostanza deve essere perfezionato. Nonostante questo, Esistono cataloghi di modelli di progettazione molto utili che raccolgono errori che altri hanno commesso per evitare di cadere nella stessa trappola..
Implementazione
In questa fase devi selezionare gli strumenti giusti, un ambiente di sviluppo che faciliti il lavoro e un linguaggio di programmazione adeguato al tipo di software da realizzare. Questa scelta dipenderà sia dalle decisioni progettuali prese sia dall'ambiente in cui il software opererà..
Quando si pianifica, cerca di assicurarti che il codice non sia indecifrabile seguendo linee guida diverse come le seguenti:
- Evita blocchi di controllo non strutturati.
- Identificare correttamente le variabili e il loro ambito.
- Scegli algoritmi e strutture dati adatte al problema.
- Mantieni la logica dell'applicazione il più semplice possibile.
- Documentare e commentare opportunamente il codice dei programmi.
- Facilitare l'interpretazione visiva del codice utilizzando regole di formattazione del codice precedentemente concordate dal team di sviluppo.
Inoltre, è necessario prestare attenzione all'acquisizione delle risorse necessarie per il funzionamento del software, durante lo sviluppo di casi di test per verificarne il funzionamento come programmato.
Prova
Com'è umano sbagliare?, la fase di test del ciclo di vita del software cerca di rilevare gli errori commessi nelle fasi precedenti al fine di correggerli. Certo, Idealmente, fallo prima che l'utente finale li trovi. Un test si dice che abbia successo se viene rilevato un errore.
Installazione o distribuzione
La fase successiva è l'implementazione del software, quindi devi pianificare l'ambiente tenendo conto delle dipendenze tra i diversi componenti di esso.
È possibile che ci siano componenti che funzionano correttamente separatamente, ma se combinati creano problemi. Perché, è necessario utilizzare combinazioni riconosciute che non causano problemi di compatibilità.
Uso e manutenzione
Questa è una delle fasi più importanti del ciclo di vita dello sviluppo del software.. Poiché il software non si rompe o si consuma con l'uso, la sua manutenzione prevede tre punti differenziati:
- Eliminare i difetti rilevati durante la loro vita utile (Manutenzione correttiva).
- Adattalo alle nuove esigenze (manutenzione adattativa).
- Incorporazione di nuove funzionalità (manutenzione perfetta).
Anche se suona contraddittorio, migliore è il software, più tempo dovrai investire nella sua manutenzione. Il motivo principale è che più (anche in modi imprevisti) e, perciò, ci saranno più proposte di miglioramento.
Modelli del ciclo di vita del software
Al fine di facilitare una metodologia comune tra il cliente e l'azienda di software, i modelli del ciclo di vita sono stati aggiornati (o paradigmi di sviluppo software) per catturare le fasi di sviluppo coinvolte e la documentazione necessaria, in modo che ogni fase sia convalidata prima di passare alla successiva. uno.
Modello a cascata
Nel modello del ciclo di vita a cascata, le fasi di cui sopra funzioneranno una dopo l'altra in modo lineare. così, solo quando finisce una fase possiamo passare alla successiva, e così progressivamente.
Motivo ripetuto
Questo modello guida la procedura di sviluppo del software nelle ripetizioni. A) Sì, proietta la procedura di sviluppo ripetendo ciclicamente ogni passaggio dopo ogni ciclo nella procedura del ciclo di vita del software.
Motivo a spirale
Il modello a spirale è una combinazione dei modelli precedenti in cui si tiene conto del rischio. così, inizi determinando obiettivi e limiti all'inizio di ogni ripetizione. Nella fase successiva, vengono creati modelli software prototipali, compresa l'analisi dei rischi. Successivamente, viene utilizzato un modello standard per costruire il software e infine viene preparato il piano per la prossima iterazione.
modello v
Uno dei grossi problemi con il modello a cascata è che si passa alla fase successiva solo se quella precedente è completata e non si può tornare indietro se ci sono errori nelle fasi successive. Perché, Il modello V offre più opzioni per esaminare il software in ogni fase.
In ogni fase, vengono creati piani di test e casi di test per verificare e convalidare il prodotto in base ai suoi requisiti.. così, verifica e validazione vanno di pari passo.
Modello Big Bang
Questo è probabilmente il modello più semplice, visto che ha bisogno di poca pianificazione, tanta programmazione e tanti finanziamenti. Questo modello ha come concetto principale la creazione dell'universo; Quindi, se raccogli fondi e programmi, ottenere il miglior prodotto software.