logo

SDLC V-Model – Inginerie software

Modelul V este un tip de Model SDLC unde procesul se execută secvenţial în formă de V. Este cunoscut și ca modelul de verificare și validare. Se bazează pe asocierea unei etape de testare pentru fiecare etapă de dezvoltare corespunzătoare. Dezvoltarea fiecărui pas este direct asociată cu faza de testare. Următoarea fază începe numai după finalizarea fazei anterioare, adică pentru fiecare activitate de dezvoltare, există o activitate de testare corespunzătoare acesteia.

Cuprins



V-Modelul este un model ciclului de viață al dezvoltării software (SDLC) care oferă o reprezentare sistematică și vizuală a procesului de dezvoltare a software-ului. Se bazează pe ideea unei forme în V, cele două picioare ale V-ului reprezentând progresia lui procesul de dezvoltare software din colectarea cerințelor și analiză până la proiectare, implementare, testare și întreținere.

Design V-Model

  1. Colectarea și analiza cerințelor : Prima fază a modelului V este faza de colectare și analiză a cerințelor, în care cerințele clientului pentru software sunt adunate și analizate pentru a determina domeniul de aplicare al proiectului.
  2. Proiecta: În faza de proiectare, sunt dezvoltate arhitectura și designul software, inclusiv designul la nivel înalt și designul detaliat.
  3. Implementare: În faza de implementare, software-ul este construit pe baza designului.
  4. Testare: În faza de testare, software-ul este testat pentru a se asigura că îndeplinește cerințele clientului și este de înaltă calitate.
  5. Implementare: În faza de implementare, software-ul este implementat și pus în funcțiune.
  6. Întreținere: În faza de întreținere, software-ul este întreținut pentru a se asigura că continuă să satisfacă nevoile și așteptările clientului.
  7. Modelul V este adesea folosit în siguranță: sisteme critice, cum ar fi sistemele aerospațiale și de apărare, datorită accentului pus pe testarea amănunțită și a capacității sale de a defini clar pașii implicați în procesul de dezvoltare a software-ului.

SDLC V-Model

Următoarea ilustrație ilustrează diferitele faze dintr-un model V al SDLC.



rețea și tipuri de rețea

Verificare faze :

Implică o tehnică de analiză statică (revizuire) făcută fără a executa cod. Este procesul de evaluare a fazei de dezvoltare a produsului pentru a afla dacă cerințele specificate sunt îndeplinite.

Există mai multe faze de verificare în V-Model:

Analiza cerințelor afacerii:



Acesta este primul pas al desemnării ciclului de dezvoltare în care cerințele de produs trebuie rezolvate din perspectiva clientului. în aceste faze includ comunicarea adecvată cu clientul pentru a înțelege cerințele clienților. acestea sunt activitățile foarte importante care trebuie gestionate corect, deoarece de cele mai multe ori clienții nu știu exact ce vor și nu sunt siguri de asta în acel moment, atunci folosim un proiectarea testului de acceptare planificare care se face la momentul cerinței de afaceri va fi folosit ca un intrare pentru testarea de acceptare.

Design sistem:

Proiectarea sistemului va începe atunci când în general suntem clari cu cerințele produsului și apoi trebuie să proiectăm complet sistemul. Această înțelegere va fi la începutul completă în cadrul procesului de dezvoltare a produsului. acestea vor fi benefice pentru viitoarea execuție a cazurilor de testare.

Design arhitectural:

În această etapă, specificațiile arhitecturale sunt înțelese și proiectate. De obicei, sunt puse mai multe abordări tehnice, iar alegerea finală se face după luarea în considerare atât a viabilității tehnice, cât și a celor financiare. Arhitectura sistemului este împărțită în continuare în module care gestionează fiecare o funcție distinctă. Un alt nume pentru acest lucru este High-Level Design (HLD).

În acest moment, schimbul de date și comunicarea dintre modulele interne și sistemele externe sunt bine înțelese și definite. În această fază, testele de integrare pot fi create și documentate folosind informațiile furnizate.

Design modul:

Această fază, cunoscută sub numele de Low-Level Design (LLD), specifică designul intern cuprinzător pentru fiecare modul de sistem. Compatibilitatea între design și alte sisteme externe, precum și alte module din arhitectura sistemului este crucială. Testele unitare sunt o componentă crucială a oricărui proces de dezvoltare, deoarece ajută la identificarea și eradicarea majorității greșelilor și defectelor într-un stadiu incipient. Pe baza designului modulelor interne, aceste teste unitare pot fi acum create.

Faza de codare:

Etapa de codare implică scrierea codului pentru modulele de sistem care au fost create în faza de proiectare. Cerințele de sistem și arhitecturale sunt utilizate pentru a determina care limbaj de programare este cel mai potrivit.

Standardele și principiile de codare sunt respectate atunci când se realizează codificarea. Înainte ca versiunea finală să fie verificată în depozit, codul este supus multor revizuiri de cod și este optimizat pentru performanță optimă.

Validare faze :

Acesta implică tehnici de analiză dinamică (funcționale și nefuncționale) și testarea efectuată prin executarea codului. Validarea este procesul de evaluare a software-ului după finalizarea fazei de dezvoltare pentru a determina dacă software-ul îndeplinește așteptările și cerințele clientului.

Deci, V-Model conține faze de verificare pe o parte a fazelor de validare pe cealaltă parte. Fazele de verificare și validare sunt unite de faza de codare în formă de V. Astfel, se numește V-Model.
Sunt câteva Validare fazele din modelul V:

Testarea unitară:

Planurile de testare unitară sunt dezvoltate în timpul fazei de proiectare a modulului. Aceste planuri de testare unitară sunt executate pentru a elimina erorile la nivel de cod sau unitate.

Testare de integrare:

După finalizarea testării unitare, se efectuează testarea de integrare. În testarea integrării, modulele sunt integrate și sistemul este testat. Testarea de integrare se realizează în faza de proiectare a Arhitecturii. Acest test verifică comunicarea modulelor între ele.

Testarea sistemului:

Testarea sistemului testează aplicația completă cu funcționalitatea, interdependența și comunicarea acesteia. Testează cerințele funcționale și nefuncționale ale aplicației dezvoltate.

Testarea de acceptare a utilizatorului (UAT):

UAT este realizat într-un mediu de utilizator care seamănă cu mediul de producție. UAT verifică dacă sistemul livrat îndeplinește cerințele utilizatorului și că sistemul este gata de utilizare în lumea reală.

Fază de proiectare:

  • Analiza cerințelor: Această fază conține o comunicare detaliată cu clientul pentru a înțelege cerințele și așteptările acestuia. Această etapă este cunoscută sub denumirea de colectare a cerințelor.
  • Design sistem: Această fază conține proiectarea sistemului și configurația completă a hardware-ului și a comunicațiilor pentru dezvoltarea produsului.
  • Design arhitectural: Designul sistemului este împărțit în continuare în module care preiau diferite funcționalități. Transferul de date și comunicarea dintre modulele interne și cu lumea exterioară (alte sisteme) este clar înțeles.
  • Design modul: În această fază, sistemul se descompune în module mici. Este specificat proiectarea detaliată a modulelor, cunoscută și sub numele de Low-Level Design (LLD).

Faze de testare:

  • Testarea unitară: Planurile de testare unitară sunt dezvoltate în timpul fazei de proiectare a modulului. Aceste planuri de testare unitară sunt executate pentru a elimina erorile la nivel de cod sau unitate.
  • Testare de integrare: După finalizarea testării unitare, se efectuează testarea de integrare. În testarea integrării, modulele sunt integrate, iar sistemul este testat. Testarea de integrare se realizează în faza de proiectare a Arhitecturii. Acest test verifică comunicarea modulelor între ele.
  • Testarea sistemului: Testarea sistemului testează aplicația completă cu funcționalitatea, interdependența și comunicarea acesteia. Testează cerințele funcționale și nefuncționale ale aplicației dezvoltate.
  • Testarea de acceptare a utilizatorului (UAT): UAT este realizat într-un mediu de utilizator care seamănă cu mediul de producție. UAT verifică dacă sistemul livrat îndeplinește cerințele utilizatorului și că sistemul este gata de utilizare în lumea reală.

Provocare industrială:

Pe măsură ce industria a evoluat, tehnologiile au devenit mai complexe, din ce în ce mai rapide și în continuă schimbare, totuși, rămâne un set de principii și concepte de bază care sunt la fel de aplicabile astăzi ca atunci când IT-ul era la început.

  • Definiți și rafinați cu precizie cerințele utilizatorului.
  • Proiectați și construiți o aplicație conform cerințelor utilizatorilor autorizați.
  • Validați că aplicația pe care au creat-o a respectat cerințele comerciale autorizate.

Importanța modelului V

1. Identificarea timpurie a defectelor

Prin încorporarea sarcinilor de verificare și validare în fiecare etapă a procesului de dezvoltare, V-Model încurajează testarea timpurie. Acest lucru reduce costurile și efortul necesar pentru a remedia problemele mai târziu în timpul ciclului de viață de dezvoltare, asistând la detectarea timpurie și rezolvarea defecțiunilor.

2. determinarea Fazelor de Dezvoltare si Testare

V-Modelul conține o fază de testare care corespunde fiecărei etape a procesului de dezvoltare. Asigurându-se că procesele de testare și dezvoltare sunt clar reprezentate, această mapare clară promovează o abordare metodică și ordonată a ingineriei software.

3. Previne testarea Big Bang

Testarea se face frecvent la sfârșitul ciclului de viață al dezvoltării în modelele tradiționale de dezvoltare, ceea ce are ca rezultat o abordare Big Bang în care toate operațiunile de testare sunt concentrate simultan. Prin integrarea activităților de testare în procesul de dezvoltare și încurajând o abordare de testare mai progresivă și mai reglementată, V-Model previne acest lucru.

4. Îmbunătățește cooperarea

La fiecare nivel, V-Model promovează cooperarea între echipele de testare și dezvoltare. Prin această colaborare, cerințele proiectului, alegerile de proiectare și metodologiile de testare sunt mai bine înțelese, ceea ce îmbunătățește eficacitatea și eficiența procesului de dezvoltare.

5. Asigurare îmbunătățită a calității

Asigurarea generală a calității este îmbunătățită de V-Model, care încorporează operațiuni de testare la fiecare nivel. Înainte ca programul să ajungă la etapa finală de implementare, se asigură că îndeplinește cerințele și trece printr-un proces strict de validare și verificare.

Principiile modelului V

  • Mare spre mic: În V-Model, testarea se face într-o perspectivă ierarhică, de exemplu, cerințele identificate de echipa de proiect, creând fazele de proiectare la nivel înalt și proiectare detaliată ale proiectului. Pe măsură ce fiecare dintre aceste faze este finalizată, cerințele, ele definitorii devin din ce în ce mai rafinate și detaliate.
  • Integritatea datelor/procesului: Acest principiu afirmă că proiectarea cu succes a oricărui proiect necesită încorporarea și coeziunea atât a datelor, cât și a proceselor. Elementele procesului trebuie identificate la fiecare cerință.
  • Scalabilitate: Acest principiu afirmă că conceptul V-Model are flexibilitatea de a găzdui orice proiect IT, indiferent de dimensiunea, complexitatea sau durata acestuia.
  • Referințe încrucișate: O corelație directă între cerințe și activitatea de testare corespunzătoare este cunoscută sub numele de referințe încrucișate.

Documentație tangibilă:

Acest principiu prevede că fiecare proiect trebuie să creeze un document. Această documentație este solicitată și aplicată atât de echipa de dezvoltare a proiectului, cât și de echipa de suport. Documentația este utilizată pentru a menține aplicația odată ce aceasta este disponibilă într-un mediu de producție.

De ce preferat?

  • Este usor de gestionat datorita rigiditatii modelului. Fiecare fază a V-Model are livrabile specifice și un proces de revizuire.
  • Urmărirea proactivă a defectelor – adică defectele sunt găsite într-un stadiu incipient.

Când să utilizați de V-Model ?

  • Trasabilitatea cerințelor: Modelul V se dovedește benefic în situațiile în care este imperativ să se creeze o trasabilitate precisă între cerințe și cazurile de testare aferente acestora.
  • Proiecte complexe: V-Model oferă o modalitate metodică de a gestiona activitățile de testare și de a reduce riscurile legate de problemele de integrare și interfață pentru proiecte cu un nivel ridicat de complexitate și interdependență între componentele sistemului.
  • Proiecte asemănătoare cascadei : Deoarece V-Model oferă o structură accesibilă pentru organizarea, desfășurarea și monitorizarea activităților de testare la fiecare nivel de dezvoltare, este potrivit pentru proiectele care utilizează o abordare secvențială a dezvoltării, la fel ca modelul cascadă.
  • Sisteme critice pentru siguranță: Aceste sisteme sunt utilizate în industria aerospațială, auto și în domeniul sănătății. Aceștia pun un accent puternic pe proceduri rigide de verificare și validare, care ajută la garantarea faptului că cerințele esențiale ale sistemului sunt îndeplinite și că posibilele riscuri sunt găsite și eliminate la începutul procesului de dezvoltare.

Avantaje de V-Model

  • Acesta este un model extrem de disciplinat, iar fazele sunt finalizate una câte una.
  • V-Model este utilizat pentru proiecte mici în care cerințele proiectului sunt clare.
  • Simplu și ușor de înțeles și de utilizat.
  • Acest model se concentrează pe activități de verificare și validare la începutul ciclului de viață, sporind astfel probabilitatea de a construi un produs fără erori și de bună calitate.
  • Acesta permite managementului de proiect să urmărească progresul cu acuratețe.
  • Proces clar și structurat: V-Model oferă un proces clar și structurat pentru dezvoltare de software , făcându-l mai ușor de înțeles și urmat.
  • Accent pe testare: V-Model pune un accent puternic pe testare, ceea ce ajută la asigurarea calității și fiabilității software-ului.
  • Trasabilitate îmbunătățită: V-Model oferă o legătură clară între cerințe și produsul final, facilitând urmărirea și gestionarea modificărilor software-ului.
  • Comunicare mai bună: Structura clară a modelului V ajută la îmbunătățirea comunicării dintre client și echipa de dezvoltare.

Dezavantajele modelului V

  • Risc ridicat și incertitudine.
  • Nu este bun pentru proiecte complexe și orientate pe obiecte.
  • Nu este potrivit pentru proiecte în care cerințele nu sunt clare și conțin un risc ridicat de schimbare.
  • Acest model nu acceptă iterația fazelor.
  • Nu se ocupă cu ușurință de evenimente concurente.
  • Inflexibilitate: Modelul V este un model liniar și secvenţial, care poate face dificilă adaptarea la cerințele în schimbare sau la evenimente neașteptate.
  • Consumatoare de timp: Modelul V poate consuma mult timp, deoarece necesită multă documentare și testare.
  • Încredere excesivă pe documentație: V-Model pune un accent puternic pe documentație, ceea ce poate duce la o dependență excesivă pe documentație în detrimentul muncii de dezvoltare efectivă.

Concluzie

O abordare științifică și organizată a ciclului de viață al dezvoltării software (SDLC) este oferită de Software Engineering V-Model. Expertiza echipei cu metodologia selectată, caracteristicile unice ale proiectului și natura cerințelor ar trebui luate în considerare atunci când selectați orice model SDLC, inclusiv modelul V.

Carte de referinta:

Software Engineering: A Practitioner’s Approach de Roger S. Pressman, publicat de McGraw-Hill Education, 2017.