MODELE SDLC Flashcards

1
Q

Care sunt diferitele tipuri de modele SDLC?

A

Modelele SDLC includ:

  • Model de Waterfall/cascadă
  • Model iterativ
  • Model incremental
  • Model în formă de V
  • Model spirală
  • Model Agile
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Ce este modelul Waterfall/cascadă?

A

Un model de dezvoltare secvențială, cu etape predefinite, iar fiecare fază depinde de finalizarea completă a celei anterioare.

Este structurat în faze distincte tip cascadă:
* cerințe,
* design,
* dezvoltare soft ,
* testare,
* implementare și
* întreținere.

Se aplică în proiectele unde cerințele sunt bine definite de la început și nu se preconizează modificări frecvente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Care sunt avantajele modelului Waterfall?

A
  • proces simplu și clar,
  • ușurința în management,
  • practic în proiecte mici și mijlocii cu cerințe clar stabile
  • documentația detaliată.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Care sunt dezavantajele modelului Waterfall?

A
  • Rigiditatea procesului,
  • Livrarea software-ului doar la finalul ultimei etape
  • Nu este potrivit pentru proiecte complexe sau pe termen lung
  • Feedback-ul tardiv
  • Dificultatea de a implementa modificări pe parcurs,
  • Costurile ridicate pentru corectarea erorilor.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Ce este modelul iterativ?

A

Un proces de dezvoltare bazat pe îmbunătățire succesivă prin cicluri sau iterații de produs, cu feedback după fiecare iterație.

Fiecare iterație include activități de analiză cerințe, proiectare, dezvoltare, testare și feedback.

Modelul Iterativ este ideal pentru proiectele în care cerințele nu sunt complet clare de la început sau se pot schimba pe parcurs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ce este un “prototip” în contextul modelului Iterativ?

A

Un prototip este o versiune inițială, parțială a produsului care este creată rapid pentru a permite utilizatorilor să interacționeze cu funcționalitățile de bază.

Acesta este folosit pentru a obține feedbackde la utilizatori care să ajute la îmbunătățirile făcute pe parcursul iterațiilor ulterioare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Care sunt avantajele modelului iterativ?

A
  • Flexibilitate crescută datorată posibilității de modificare a cerințelor pe parcurs..
  • Oferă lansare rapidă de versiuni funcționale, produsul putînd fi testat continuu de utilizatori.
  • Identificarea timpurie a problemelor datorită testării frecvente, reducând riscurile și costurile corectării lor.
  • Eficient în proiecte unde cerințele sunt incerte sau evoluează pe parcurs.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Care sunt dezavantajele modelului iterativ?

A
  1. Creștere în complexitate și dificultate în gestionare, deoarece sunt necesare ajustări constante ale planificării și implementării.
  2. Necesită implicare continuă din partea echipei de dezvoltare, ceea ce poate pune presiune pe resursele echipei.
  3. Pot apărea probleme cu arhitectura sau proiectarea, deoarece nu toate cerințele sunt prevăzute în timpul etapei scurte de planificare
  4. Posibilitate de a devia de la scopul inițial: fără o viziune clară și o documentație solidă.
  5. Alegere proastă pentru proiectele mici
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ce este modelul incremental?

A

Un proces în care cerințele funcționale sunt împărțite în module independente. Fiecare modul parcurge etapele de cerințe, proiectare, dezvoltare, testare și adaugă o parte funcțională la produsul final.

Această abordare permite livrarea timpurie a funcționalităților esențiale și îmbunătățirea treptată pe baza feedback-ului.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Care sunt avantajele modelului Incremental?

A
  • Flexibilitate ridicată – Cerințele pot fi ajustate și extinse pe măsură ce produsul evoluează.
  • Feedback timpuriu
  • Reducerea riscurilor – Posibilele probleme sunt identificate mai devreme datorită testării și feedback-ului iterativ.
  • Livrare mai rapidă a produsului
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Care sunt dezavantajele modelului Incremental?

A
  • Complexitate crescută – din cauza Planificării și integrării fiecărui increment
  • Costuri potențial mai mari, datorită Testării repetate și integrării treptate
  • Posibile probleme de compatibilitate – Diferitele module dezvoltate incremental pot necesita ajustări suplimentare pentru a funcționa corect împreună.
  • Dependență de primele livrări – Dacă primele incrementuri au probleme de proiectare, acestea pot afecta dezvoltarea ulterioară.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Când este recomandat modelul Incremental?

A
  • Modelul Incremental este potrivit pentru proiectele mari și complexe, unde livrarea treptată a funcționalităților este esențială.
  • Este util în situațiile în care produsul trebuie să fie utilizabil înainte de finalizarea completă (ex.: aplicații software mari, sisteme bancare, produse SaaS).
  • Se aplică și în proiectele unde cerințele sunt clare, dar unele funcționalități pot fi dezvoltate ulterior.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cum influențează modelul Incremental procesul de testare?

A

În modelul Incremental, testarea se face după fiecare increment, ceea ce ajută la detectarea erorilor mai devreme.

Există două tipuri principale de testare:
* Testare incrementală – Se verifică fiecare modul separat, asigurându-se că funcționează corect individual.
* Testare de integrare – Se testează compatibilitatea și funcționalitatea întregului sistem pe măsură ce noi incrementuri sunt adăugate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Ce este modelul în formă de V?

A

O extensie a modelului cascadă, care pune accent pe testarea riguroasă în fiecare etapă a dezvoltării. Structura sa are forma literei „V”, unde fiecare etapă de dezvoltare are o fază de testare direct asociată.

Acest model este utilizat pentru a asigura calitate ridicată și detectarea timpurie a erorilor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Care sunt avantajele modelului în formă de V?

A
  • Claritate și disciplină – Procesul este bine structurat, fiecare etapă având obiective clar definite.
  • Corelație directă între cerințe și testare – Fiecare cerință are o strategie de testare bine definită.
  • Detecția timpurie a defectelor – Erorile sunt identificate încă din fazele inițiale datorită testării corespunzătoare fiecărei etape de dezvoltare.
  • Ideal pentru proiecte critice unde defectele trebuie minimizate (ex.: aplicații medicale, aeronautice).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Care sunt dezavantajele modelului în formă de V?

A
  • Rigiditate – Odată ce o etapă este finalizată, este dificil să se facă modificări în cerințe.
  • Costuri ridicate – Procesul extins de testare necesită resurse considerabile, ceea ce crește costurile proiectului.
  • Timp mare de dezvoltare – Este mai lent decât modelele iterative, deoarece testarea este strict definită încă din fazele inițiale.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Care sunt etapele în Modelul V?

A

📌 Faza de dezvoltare (partea stângă a V-ului)
1️⃣ Definirea cerințelor – Se stabilesc cerințele sistemului împreună cu clientul.
2️⃣ Proiectarea arhitecturală – Se definește structura software-ului și interacțiunile între module.
3️⃣ Proiectarea detaliată – Se stabilesc detaliile fiecărui modul.
4️⃣ Implementarea (codarea) – Se scrie efectiv codul fiecărui modul.

📌 Faza de testare (partea dreaptă a V-ului)
5️⃣ Testarea unității – Se verifică fiecare modul individual.
6️⃣ Testarea integrării – Se testează comunicarea dintre module.
7️⃣ Testarea sistemului – Se verifică întregul sistem pentru a vedea dacă funcționează conform specificațiilor.
8️⃣ Testarea de acceptanță – Se validează că produsul final îndeplinește cerințele clientului și este gata de utilizare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Când este recomandat modelul în formă V?

A
  • Este ideal pentru proiecte critice unde defectele pot avea un impact major (ex.: software pentru dispozitive medicale, sisteme aeronautice, automotive).
  • Se utilizează în medii unde cerințele sunt bine definite și nu se așteaptă modificări semnificative pe parcursul dezvoltării.
  • Este preferat în proiecte cu reglementări stricte, unde fiecare etapă trebuie verificată riguros înainte de a trece la următoarea.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Ce este modelul spirală?

A

O abordare iterativă, desfășurată în cicluri repetitive, numite spirale, care pune un accent pe gestionarea riscurilor și planificarea progresivă.

Fiecare spirală are patru etape:
1. Planificare: Definire cerințe și stabilirea obiectivelor pt fiecare iterație**
1. Evaluarea riscurilor
1. Dezvoltare și testare
1. Evaluarea rezultatelor și Feedback-ul clientului

20
Q

Care sunt avantajele modelului Spiral?

A
  • Accentul pe identificarea și gestionarea riscurilor, ceea ce ajută la evitarea problemelor majore în etapele ulterioare ale proiectului.
  • Flexibilitate: Permite revizuirea continuă a planurilor și cerințelor pe măsură ce proiectul progresează.
  • Documentație continuă și precisă: Asigură o documentație detaliată a fiecărei etape
  • Feedback constant: Permite feedback-ul continuu
21
Q

Care sunt dezavantajele modelului Spiral?

A
  • Costuri ridicate: Datorită cercetărilor și evaluărilor continue ale riscurilor, modelul Spiral poate implica costuri suplimentare semnificative.
  • Necesitatea de specialiști pentru controlul riscurilor
  • Nu este ideal pentru proiectele mici
  • Posibilă întârziere: Fiecare ciclu de planificare și evaluare poate duce la întârzieri în dezvoltarea efectivă a produsului.
22
Q

În ce tip de proiecte este recomandat să folosești modelul Spiral?

A

Modelul Spiral este ideal pentru proiecte mari și complexe, care necesită o gestionare atentă a riscurilor și o planificare detaliată pe parcurs.
Acesta este adesea utilizat în dezvoltarea de software pentru sisteme critice, unde orice eroare poate avea consecințe majore, sau în proiecte unde cerințele nu sunt complet clare de la început și se pot modifica în timpul procesului.

23
Q

Ce este modelul Agile?

A

Agile este un model iterativ și incremental, care pune accent pe flexibilitate, livrări rapide și colaborare continuă cu clienții.

Permite adaptarea constantă la schimbările de cerințe și îmbunătățiri continue prin sprinturi sau iterații scurte.

24
Q

Care sunt principiile fundamentale ale Agile?

A

Agile se bazează pe Manifestul Agile, care conține 4 valori și 12 principii. Cele mai importante valori sunt:

  1. Indivizii și interacțiunile mai importante decât procesele și uneltele.
  2. Software-ul funcțional mai important decât documentația extinsă.
  3. Colaborarea cu clientul mai importantă decât negocierile contractuale.
  4. Răspunsul la schimbare mai important decât respectarea unui plan rigid.
25
Q

Care sunt avantajele modelului Agile?

A
  • Corecții rapide ale cerințelor
  • Iterații scurte și eficiente
  • Minimizarea riscurilor
  • Lansare rapidă a primei versiuni
26
Q

Care sunt dezavantajele modelului Agile?

A
  • Dificultăți în măsurarea costului final
  • Necesită echipă profesionistă
  • Conflicte între cerințe noi și arhitectura existentă
  • Depășirea timpului estimat
27
Q

Care sunt principalele metodologii Agile?

A
  • Scrum – bazat pe sprinturi de 1-4 săptămâni, cu roluri bine definite (Scrum Master, Product Owner, Development Team).
  • Kanban – metodologie vizuală care optimizează fluxul de lucru folosind un panou Kanban.
  • Extreme Programming (XP) – pune accent pe practici tehnice precum TDD (Test-Driven Development) și pair programming.
  • SAFe (Scaled Agile Framework) – folosit pentru Agile la scară largă în organizații mari.
28
Q

Care sunt fazele modelului Agile?

A
  • Colectarea cerințelor
  • Proiectarea cerințelor
  • Construcția / Iterația
  • Testarea / Asigurarea calității
  • Implementarea
  • Feedback-ul
29
Q

Care este diferența dintre modelele Agile și Iterative?

A

Agile: Iterativ și limitat în timp, cu accent pe colaborare și flexibilitate.
Iterativ: Îmbunătățire continuă a cerințelor până la livrarea finală.

Agile se concentrează pe livrări rapide, Iterativ pe îmbunătățirea continuă.

30
Q

Ce este Scrum?

A

Un proces Agile pentru gestionarea sarcinilor în echipă.

31
Q

Ce este un Sprint în Scrum?

A

Un Sprint este o perioadă fixă (1-4 săptămâni) în care echipa dezvoltă și livrează un increment de software funcțional. Sprintul include:

  • Planificare (Sprint Planning)
  • Execuție și dezvoltare
  • Revizuire (Sprint Review)
  • Retrospectivă (Sprint Retrospective)
32
Q

Care sunt cele trei roluri din Scrum?

A
  1. Product Owner – definește și prioritizează cerințele în Product Backlog.
  2. Scrum Master – facilitează procesul Agile și elimină obstacolele echipei.
  3. Development Team – echipa tehnică care implementează și livrează funcționalitățile.
33
Q

Ce este un User Story și cum este structurat?

A

Un User Story descrie o funcționalitate din perspectiva utilizatorului și urmează formatul:
“Ca un [tip de utilizator], vreau să [acțiune] astfel încât să [beneficiu].”

Exemplu: „Ca utilizator, vreau să pot reseta parola astfel încât să îmi pot accesa contul dacă uit parola.”

34
Q

Ce este Product Backlog?

A
  • Listă prioritizată de cerințe și funcționalități.
  • Gestionată de Proprietarul Produsului (PO).
  • Definiește și comunică cerințele produsului echipei.
35
Q

Ce este Planificarea Sprint?

A
  • Întâlnirea unde echipa selectează elementele sprintului din Product Backlog.
  • Definirea clară a obiectivelor sprintului.
  • Angajamentul echipei pentru livrarea incrementului.
36
Q

Ce este Sprint Backlog?

A
  • Lista de elemente selectate din Product Backlog pentru un sprint.
  • Include cerințe prioritare și remedieri de erori.
  • Definit și gestionat de echipa de dezvoltare.
37
Q

Ce este Increment (sau Sprint Goal)?

A
  • Produsul final utilizabil obținut la sfârșitul sprintului.
  • Prezentat în demonstrația de final de sprint.
  • Reprezintă progresul real al dezvoltării.
38
Q

Comparație: Waterfall vs. Iterativ

A

🔹 Waterfall: Secvențial, rigid, fiecare etapă trebuie finalizată înainte de a trece la următoarea.
🔹 Iterativ: Dezvoltare în cicluri, feedback constant, îmbunătățiri succesive.

Waterfall este bun pentru proiecte cu cerințe bine definite, iar Iterativ este mai flexibil pentru proiecte unde cerințele pot evolua.

39
Q

Comparație: Iterativ vs. Incremental

A

🔹 Iterativ: Se construiește un produs de bază și se îmbunătățește prin iterații.
🔹 Incremental: Produsul este dezvoltat în module independente, fiecare fiind testat și livrat pe rând.

Iterativ îmbunătățește continuu același produs, iar Incremental livrează componente separate ale produsului.

40
Q

Comparație: Waterfall vs. Model în formă de V

A

🔹 Waterfall: Testarea are loc după finalizarea dezvoltării.
🔹 V-Model: Fiecare fază de dezvoltare are o fază de testare asociată.

V-Model reduce riscurile prin testare timpurie, dar este la fel de rigid ca Waterfall.

41
Q

Comparație: Agile vs. Waterfall

A

🔹 Waterfall: Planificare rigidă, livrare la final.
🔹 Agile: Dezvoltare iterativă, feedback continuu, livrări frecvente.

Agile este ideal pentru proiecte dinamice, iar Waterfall pentru proiecte stabile cu cerințe fixe.

42
Q

Comparație: Model Spiral vs. Iterativ

A

🔹 Spiral: Se concentrează pe analiza și reducerea riscurilor la fiecare iterație.
🔹 Iterativ: Se axează pe îmbunătățiri succesive, dar fără un accent puternic pe riscuri.

Spiral este mai potrivit pentru proiecte complexe cu riscuri mari, iar Iterativ este mai rapid pentru proiecte cu feedback continuu.

43
Q

Comparație: Agile vs. Incremental

A

🔹 Agile: Necesită colaborare constantă cu clientul, dezvoltare bazată pe prioritizarea cerințelor și schimbări rapide.
🔹 Incremental: Se livrează componente ale produsului treptat, dar fără adaptări frecvente.

Agile este mai potrivit pentru proiecte cu schimbări frecvente, iar Incremental pentru livrare progresivă controlată.

44
Q

Comparație: Model Spiral vs. Agile

A

🔹 Spiral: Se concentrează pe analiza și reducerea riscurilor la fiecare iterație. Folosește o documentație detaliată.
🔹 Agile: Se bazează pe livrări rapide și feedback continuu, dar cu mai puțină documentație.

Spiral este mai potrivit pentru proiecte cu riscuri mari, iar Agile pentru proiecte dinamice cu cerințe în schimbare rapidă.

45
Q

Comparație: Agile vs. Iterativ

A

🔹 Agile: Proces organizat în sprinturi scurte, livrări rapide, colaborare constantă.
🔹 Iterativ: Dezvoltare progresivă, cu îmbunătățiri succesive, dar fără sprinturi rigide.

Agile impune termene clare și colaborare intensă, Iterativ permite mai multă flexibilitate în evoluția produsului.