Faze și modele ale ciclului de viață al dezvoltării software (SDLC).
Ce este SDLC?
SDLC este un proces sistematic de construire a software-ului care asigură calitatea și corectitudinea software-ului construit. Procesul SDLC își propune să producă software de înaltă calitate, care să răspundă așteptărilor clienților. Dezvoltarea sistemului ar trebui să fie completă în intervalul de timp și costuri predefinite. SDLC constă într-un plan detaliat care explică cum să planificați, să construiți și să întrețineți un software specific. Fiecare fază a ciclului de viață SDLC are propriul proces și livrabile care se alimentează în următoarea fază. SDLC înseamnă Ciclul de viață al dezvoltării software-ului și este denumit și ciclul de viață al dezvoltării aplicațiilor.
De ce SDLC?
Iată principalele motive pentru care SDLC este important pentru dezvoltarea unui sistem software.
- Oferă o bază pentru planificarea, programarea și estimarea proiectelor
- Oferă un cadru pentru un set standard de activități și rezultate
- Este un mecanism de urmărire și control al proiectelor
- Crește vizibilitatea planificării proiectului pentru toți părțile interesate implicate în procesul de dezvoltare
- Creșterea și creșterea vitezei de dezvoltare
- Relații îmbunătățite cu clienții
- Vă ajută să reduceți riscul proiectului și cheltuielile generale ale planului de management al proiectului
Fazele SDLC
Întregul proces SDLC este împărțit în următorii pași SDLC:
- Faza 1: Colectarea și analiza cerințelor
- Faza 2: Studiu de fezabilitate
- Faza 3: Proiectare
- Faza 4: Codificare
- Faza 5: Testare
- Faza 6: Instalare/Implementare
- Faza 7: Întreținere
În acest tutorial, am explicat toate aceste faze ale ciclului de viață al dezvoltării software
Faza 1: Colectarea și analiza cerințelor
Cerința este prima etapă a procesului SDLC. Este condus de membrii seniori ai echipei cu contribuții din partea tuturor părților interesate și a experților în domeniu din industrie. Planificarea pentru de asigurare a calității cerințelor și recunoașterea riscurilor implicate se face și în această etapă.
Această etapă oferă o imagine mai clară a domeniului de aplicare a întregului proiect și a problemelor anticipate, oportunităților și directivelor care au declanșat proiectul.
Cerințe Etapa de adunare are nevoie de echipe pentru a obține cerințe detaliate și precise. Acest lucru ajută companiile să finalizeze calendarul necesar pentru a finaliza activitatea sistemului respectiv.
Faza 2: Studiu de fezabilitate
Odată ce faza de analiză a cerințelor este finalizată, următorul pas sdlc este definirea și documentarea nevoilor software. Acest proces s-a desfășurat cu ajutorul documentului „Software Requirement Specification”, cunoscut și sub denumirea de document „SRS”. Include tot ceea ce ar trebui proiectat și dezvoltat pe parcursul ciclului de viață al proiectului.
Există în principal cinci tipuri de verificări de fezabilitate:
- Economie: Putem finaliza sau nu proiectul în limita bugetului?
- juridic: Putem gestiona acest proiect ca lege cibernetică și alte cadru de reglementare/conformități.
- Operafezabilitate: Putem crea operațiuni care sunt așteptate de client?
- Tehnic: Trebuie să verificați dacă sistemul computerizat actual poate suporta software-ul
- Program: Decideți dacă proiectul poate fi finalizat în cadrul programului dat sau nu.
Faza 3: Proiectare
În această a treia fază, documentele de proiectare a sistemului și a software-ului sunt pregătite conform documentului de specificație a cerințelor. Acest lucru ajută la definirea arhitecturii generale a sistemului.
Această fază de proiectare servește ca intrare pentru următoarea fază a modelului.
Există două tipuri de documente de proiectare dezvoltate în această fază:
Design la nivel înalt (HLD)
- Scurtă descriere și denumirea fiecărui modul
- O schiță despre funcționalitatea fiecărui modul
- Relația de interfață și dependențele dintre module
- Tabele de baze de date identificate împreună cu elementele lor cheie
- Diagrame complete de arhitectură împreună cu detaliile tehnologiei
Proiectare la nivel scăzut (LLD)
- Logica funcţională a modulelor
- Tabele de baze de date, care includ tipul și dimensiunea
- Detaliu complet al interfeței
- Abordează toate tipurile de probleme de dependență
- Lista mesajelor de eroare
- Intrări și ieșiri complete pentru fiecare modul
Faza 4: Codificare
Odată ce faza de proiectare a sistemului s-a încheiat, următoarea fază este codificarea. În această fază, dezvoltatorii încep să construiască întregul sistem prin scrierea codului folosind limbajul de programare ales. În faza de codificare, sarcinile sunt împărțite în unități sau module și atribuite diverșilor dezvoltatori. Este cea mai lungă fază a procesului ciclului de viață al dezvoltării software.
În această fază, Dezvoltatorul trebuie să urmeze anumite linii directoare de codare predefinite. De asemenea, trebuie să le folosească instrumente de programare cum ar fi compilator, interpreți, depanator pentru a genera și implementa codul.
Faza 5: Testare
Odată ce software-ul este complet și este implementat în mediul de testare. Echipa de testare începe să testeze funcționalitatea întregului sistem. Acest lucru se face pentru a verifica dacă întreaga aplicație funcționează conform cerințelor clientului.
În această fază, QA și echipa de testare pot găsi unele erori/defecte pe care le comunică dezvoltatorilor. Echipa de dezvoltare remediază eroarea și trimite înapoi la QA pentru o re-testare. Acest proces continuă până când software-ul este fără erori, stabil și funcționează în conformitate cu nevoile de afaceri ale sistemului respectiv.
Faza 6: Instalare/Implementare
Odată ce faza de testare a software-ului s-a încheiat și nu au rămas erori sau erori în sistem, începe procesul final de implementare. Pe baza feedback-ului dat de managerul de proiect, software-ul final este lansat și verificat dacă există probleme de implementare.
Faza 7: Întreținere
Odată ce sistemul este implementat, iar clienții încep să folosească sistemul dezvoltat, au loc următoarele 3 activități
- Remedierea erorilor – erorile sunt raportate din cauza unor scenarii care nu sunt testate deloc
- Upgrade – Actualizarea aplicației la versiunile mai noi ale Software-ului
- Îmbunătățire – Adăugarea unor funcții noi în software-ul existent
Obiectivul principal al acestei faze SDLC este să se asigure că nevoile continuă să fie satisfăcute și că sistemul continuă să funcționeze conform specificațiilor menționate în prima fază.
Modele populare SDLC
Iată câteva dintre cele mai importante modele ale ciclului de viață al dezvoltării software (SDLC):
Model de cascadă în SDLC
Cascada este un model SDLC larg acceptat. În această abordare, întregul proces de dezvoltare a software-ului este împărțit în diferite faze ale SDLC. În acest model SDLC, rezultatul unei faze acționează ca intrare pentru următoarea fază.
Acest model SDLC necesită documentare intensivă, cu fazele anterioare documentând ceea ce trebuie efectuat în fazele ulterioare.
Model incremental în SDLC
Modelul incremental nu este un model separat. Este în esență o serie de cicluri de cascadă. Cerințele sunt împărțite în grupuri la începutul proiectului. Pentru fiecare grup, se urmărește modelul SDLC pentru dezvoltarea software-ului. Procesul ciclului de viață SDLC se repetă, fiecare lansare adăugând mai multe funcționalități până când toate cerințele sunt îndeplinite. În această metodă, fiecare ciclu acționează ca fază de întreținere pentru versiunea anterioară a software-ului. Modificarea modelului incremental permite suprapunerea ciclurilor de dezvoltare. După acel ciclu ulterior, poate începe înainte ca ciclul anterior să fie complet.
V-Model în SDLC
În acest tip de testare și dezvoltare a modelului SDLC, faza este planificată în paralel. Deci, există faze de verificare ale SDLC pe partea și faza de validare pe cealaltă parte. V-Model se alătură prin faza de codificare.
Model Agile în SDLC
Metodologia Agile este o practică care promovează interacțiunea continuă a dezvoltării și testării în timpul procesului SDLC al oricărui proiect. În metoda Agile, întregul proiect este împărțit în mici versiuni incrementale. Toate aceste versiuni sunt furnizate în iterații, iar fiecare iterație durează de la una până la trei săptămâni.
Model în spirală
Modelul în spirală este un model de proces bazat pe risc. Acest model de testare SDLC ajută echipa să adopte elemente ale unuia sau mai multor modele de proces precum o cascadă, incrementală, cascadă etc.
Acest model adoptă cele mai bune caracteristici ale modelului de prototip și ale modelului de cascadă. Metodologia spirală este o combinație de prototipare rapidă și concurență în activitățile de proiectare și dezvoltare.
Model Big Bang
Modelul Big Bang se concentrează pe toate tipurile de resurse în dezvoltarea și codificarea software-ului, cu nicio planificare sau foarte puțină. Cerințele sunt înțelese și implementate atunci când apar.
Acest model funcționează cel mai bine pentru proiecte mici cu echipe de dezvoltare de dimensiuni mai mici care lucrează împreună. Este, de asemenea, util pentru proiecte de dezvoltare software academică. Este un model ideal în care cerințele sunt fie necunoscute, fie data finală de lansare nu este dată.
Rezumat
- Ciclul de viață al dezvoltării software (SDLC) este un proces sistematic de construire a software-ului care asigură calitatea și corectitudinea software-ului construit.
- Forma completă SDLC este Ciclul de viață al dezvoltării software sau Ciclul de viață al dezvoltării sistemelor.
- SDLC în ingineria software oferă un cadru pentru un set standard de activități și rezultate
- Șapte etape diferite SDLC sunt 1) Colectarea și analiza cerințelor 2) Studiul de fezabilitate: 3) Proiectare 4) Codare 5) Testare: 6) Instalare/Implementare și 7) Întreținere
- Membrii echipei seniori conduc analiza cerințelor fază
- Etapa studiului de fezabilitate include tot ceea ce ar trebui proiectat și dezvoltat pe parcursul ciclului de viață al proiectului
- În faza de proiectare, documentele de proiectare a sistemului și a software-ului sunt pregătite conform documentului de specificație a cerințelor
- În faza de codare, dezvoltatorii încep să construiască întregul sistem scriind cod folosind limbajul de programare ales
- Testarea este următoarea fază care este efectuată pentru a verifica dacă întreaga aplicație funcționează conform cerințelor clientului.
- Fața de instalare și implementare începe atunci când testare software faza s-a încheiat și nu au rămas erori sau erori în sistem
- Remedierea erorilor, upgrade și acțiuni de implicare acoperite în fața de întreținere
- Waterfall, Incremental, Agile, V model, Spiral, Big Bang sunt câteva dintre modelele SDLC populare în inginerie software
- SDLC în testarea software-ului constă într-un plan detaliat care explică cum să planificați, să construiți și să întrețineți un software specific