fbpx

Care este ciclul de dezvoltare a unei aplicații?

În cazul în care ești atras de o carieră în programare și urmezi pașii necesari pentru a deveni Software Developer, hai să vedem împreună modul în care va fi structurat primul tău proiect și care sunt pașii unui ciclu de dezvoltare a unei aplicații.

Ciclul de dezvoltare al unei aplicații – Software Development Life Cycle (SDLC) – este un proces utilizat în industria de producție a software-ului pentru a proiecta, dezvolta și testa software de înaltă calitate.

 

Scopul ciclului de dezvoltare al unei aplicații este să construiască un produs, adica un software care să îndeplinească sau chiar să depășească așteptările clientului, încadrându-se în estimările de cost și timp.

În absența unui ciclu de dezvoltare, maniera in care s-ar lucra la un produs software ar fi ineficientă și ar putea apărea multe probleme pe parcurs.

SDLC conține șase faze pe care le vom detalia în cele ce urmează.

 

  1. Analiza cerințelor și planificarea dezvoltării aplicației

Această etapă presupune colectarea feedback-ului de la clienți, departamentul de vânzări, experți sau consultanți din industrie și programatori. Aceste informații vor fi utilizate pentru a realiza planificarea și pentru a studia fezabilitatea proiectului din punct de vedere economic, operațional și tehnic.

  1. Definirea cerințelor ce se vor respecta în dezvoltarea aplicației

În această etapă se definesc și se documentează cerințele proiectului, iar apoi se prezintă clienților sau echipei de marketing, care trebuie să le aprobe. Acest lucru se face prin intermediul unui document SRS (Software Requirement Specification) care va cuprinde toate cerințele produsului ce urmează a fi proiectate și implementate în cadrul ciclului de dezvoltare.

  1. Arhitectura Produsului

SRS va fi punctul de referința pentru arhitecții de produs care trebuie să livreze cea mai bună arhitectură pentru produsului ce urmează a fi dezvoltat. De obicei, sunt propuse mai multe arhitecturi de produs ce sunt documentate în documentul DDS – Design Document Specification.

DDS este revizuit pe baza mai multor parametri: risc, robustețe, modularitate, restricții de timp și buget, design.

Design-ul este cel care definește în mod clar modularitatea arhitecturată a produsului, alături de reprezentarea fluxului de date.

  1. Dezvoltarea Produsului

În această etapă de dezvoltare a unei aplicații, începe dezvoltarea propriu zisă a produsului. Dacă design-ul este realizat într-o manieră ordonată, scrierea codului se va face foarte ușor.

Software Developerii trebuie să urmeze guideline-urile de codare definite de organizația lor și toolurile de programare precum compilatori, interpretori, debuggeri utilizați pentru a genera codul. Limbajul de programare este ales în funcție de tipul de software ce se dezvoltă.

  1. Testarea Produsului

Această etapă se comportă de obicei ca un subset al tuturor etapelor din ciclul de dezvoltare a unei aplicații. Activitățile de testare incluse în toate etapele SDLC. Însă, la modul general, această etapă se referă la testare acolo unde sunt raportate defecte ale produselor, ce urmează să fie fixate și retestate, până când produsul atinge standardele de calitate definite în SRS.

  1. Deployment

Atunci când produsul este testat și pregătit, se lansează în mod oficial. Uneori, acest lucru se realizează pe etape în funcție de strategia de business a organizației. Produsul trebuie mai întâi lansat într-un segment limitat și testat în mediu de business real (UAT – User Acceptance Testing)

 

În industrie, există mai multe modele ale ciclului de dezvoltare a unei aplicații. Toate acestea pot avea o abordare diferită, însă fazele de bază și activitatea rămân la fel pentru toate modelele.

Cele mai utilizate modele sunt:

  1. Waterfall – este modelul cel mai vechi și mai direct, în care se trece la următoarea fază doar după finalizarea celei dinainte. Principalul dezavantaj al acestui model este că micile detalii nefinalizate pot decala întregul proces.
  2. Agile – acest model separă produsul în cicluri și livrează un produs foarte rapid. Această metodologie produce o sucessiune de lansări.
  3. Modelul Iterativ – dezvoltatorii creează o versiune foarte rapidă și pentru un cost relativ mic, apoi testează și îmbunătățesc rapid versiuni succesive. Principalul dezavantaj este că poate consuma foarte multe resursă dacă nu este supervizat
  4. V-Shaped – este o extensie a modelului Waterfall care testează la fiecare fază a dezvoltării.
  5. Spiral – este cel mai flexibil model, similar cu cel iterativ. Trece prin planificare, design și build și testează fazele de mai multe ori, aducând îmbunătățiri la fiecare pas.

Așadar, indiferent de limbajul de programare pe care îl înveți sau pe care îl vei folosi și indiferent de tipul de aplicație la care vei lucra și pe care o vei dezvolta, vei folosi etapele descrise de noi. După cum observi, vei lucra în echipe ce pot fi de diverse dimensiuni, așa că îți recomandăm să nu te concentrezi doar pe acumularea skill-urilor tehnice. Dezvoltă-ți și cultivă-ți în permanență o paletă puternică de soft skills.

 

    Sponsori și parteneri