Sunteți pe pagina 1din 27

WATERFALL (CASCADA)

 Propus in 1970 de W.W. Royce


 “Bunicul” tuturor modelelor

 Secventa liniara – fazele nu se suprapun

 Toata planificarea de la inceput

Analiza
Arhitectura Implementare Testare
acerintelor

Nu trebuie omisa Mentenenta


MODEL WATERFALL (CASCADA)

Idee Produs
Cerinte
Validare

Analiza Arhitectura Implementare Testare

Validare Validare Validare


WATERFALL (CASCADA) -
REALITATE

Idee Produs
Cerinte $ $ $
Validare

Analiza Arhitectura Implementare Testare

Validare Validare Validare

$ $
WATERFALL (CASCADA)
Avantaje
 Insiruire logica a secventelor

 Scalabilitate

 Orientat pe documentare

 Puncte fixe de review / milestone


WATERFALL (CASCADA)
Dezavantaje
 Necesita specificatii / cerinte foarte bine definite
de la inceput
 Lipsa de flexibilitate (secventa rigida inceput ->
final)
 Rezultatele se vad la final

 Aparitia de “probleme” intre secvente


METODA PROTOTIPARII
 O metoda folosita atunci cand:
 cerintele generale sunt cunoscute dar cerintele
specifice sunt neclare sau dificil de identificat
 exista o incertitudine asupra cerintelor
sistemului
 sistemul este complex
 interfata cu utilizatorul este complexa
 Permite:

 experimentarea cu mai multe solutii


 interactiunea utilizatorului cu sistemul
PROCESUL DE PROTOTIPARE
 Metoda prototiparii:
 versiune initiala a sistemului este construita
repede si ieftin
 evaluare a sistemului din primele versiuni
 rezultatele evaluarii ajuta la rafinarea
cerintelor
 iteratii succesive
PROCESUL DE PROTOTIPARE
 Prototiparea evolutiva (Evolutionary prototyping)
 Obiectiv:
 sistem functional

 Se realizeaza un prototip si se rafineaza (evolueaza)


pana in la forma finala.
 Prototiparea exploratorie (Throw-away prototyping)

 Obiectiv:
 obtinerea sau validarea cerintelor

 testarea unei idei sau tehnologii

 Implementare practica a unui sistem cu scopul de a


ajuta la identificarea cerintelor sau a explora o
implementare. Prototipul astfel obtinut este “aruncat”.
REZUMAT

Rezultat

Prototip evolutiv Sistem

Cerinte
Specificatii
Prototip exploratoriu sau
Componenta
PROCESUL DE PROTOTIPARE

Arhitectura
Cerinte
finala

Arhitectura Implementare
Decizie

Implementare Testare

ANALIZA
Testare Mentenata
MODELUL V
 Model axat pe testare si validare

Varianta de Waterfall / Cascada

 Verificare:
 Rezultatele unei etape corespund cu specificatiile si cerintele
stabilite.
 “Build the thing right.”

 Validare
 Sistemul produs corespunde nevoilor si asteptarilor
utilizatorului.
 “Build the right thing.”
MODELUL V
Planificarea Productie,
proiectului operare si
(productiei) mentenata

Identificarea Testare a
cerintelor si sistemului si
specificatiilor acceptanta

Arhitectura Integrare si
globala testare

Arhitectura Testare a
detaliata modulelor

Codare
VERIFICARE
Needs Analysis &
Concept Definition User Interviews/
Requirements Tracing
Requirements
Specification
Design Reviews
Design
Code Inspections/
Static Analysis
Implementation
Structural &
Functional Testing
Integration & Test
Problem
Operation & Report Analysis
Maintenance

Retirement
VALIDARE

Needs Analysis &


Concept Definition

Requirements
Specification

Design

Implementation

Integration & Test

Operation &
Maintenance

Prototyping Simulation “Stress” Testing


Retirement
MODELUL V
 Avantaje:
 Incurajaza testarea si validarea pentru fiecare etapa -
> orice produs (deliverable) trebuie testat
 Alegerea optima pentru sisteme ce necesita un grad
mare de risc

 Dezavantaje:
 Nu avantajaza abordarea iterativa
 Schimbarile sunt greu de implementat
 Nu are implementat o analiza a riscului
 Rapid Application Development (RAD)
 Metoda de dezvoltare software dezvoltata de James
Martin la finalul anilor ’80.
 Reactie la metodele: Waterfall si Spirala
 Principii:
 Dezvoltare iterativa
 Prototip
 Utilizarea de aplicatii software support pentru procesele RAD:
“Computer-aided software engineering (CASE)”
 Metodologie – un set de metode, tehnici, aplicatii “la cheie”
 Roluri bine definite pentru echipa de proiect
 Metode de management de proiect incluse in metodologie
Etape ale RAD

1. Identificarea cerintelor
 Se utilizeaza tehnica Joint Requirements Planning (JRP)

2. Proiectarea aplicatiei impreuna cu utilizatorul


 se utilizeaza tehnica Joint Application Design (JAD)
 diferite definitii si denumiri pentru JAD,
 un lucru in comun ----sesiunea facilitate (workshop)

3. Dezvoltarea aplicatiei

4. Implementarea
 Denumita si “Cutover” sau “Deployment”
 Cuprinde testarea de catre utilizatori, training si instalare la client
Implementare
Constructie de
prototipuri
Prioritati dinamice
Evolutie catre Acceptare
Design Instalare
Cerinte produsul final
JAD Training
JRP
Methodologie
Echipa
Management
“Tools”
Prototip

Joint Joint Application Design


Requirements
Planning
Dezvoltare prototip
Versiunea i

Finalizare

Implementare
A fost propusa de Kent Beck in 1990
 Moto: “Embrace Change”
 Se bazeaza pe: Valori, Principii si Practici
 Caracteristici:
 Programare pe perechi
 Implementare bazata pe testare
 Planificare continua
 Fara ore suplimentare !!!
 Metoda “Lightweight”
 Politica pasilor marunti
 Realizarea testelor componentelor inainte de
programarea propriuzisa
 Testele se ruleaza la fiecare modificare relevanta
 Se realizeaza astfel o testare automata
 Se incepe cu o arhitectura simpla
 Programarea in perechi
 2 programatori la acelasi calculator
 Un programator tasteaza celalalt verifica codul introdus
 Rolurile se schimba regulat
 Integrarea si testarea regulata a sistemului
 Realizarea unui sistem functional din faza incipienta
 Implicarea clientului
 Verificarecontinua a codului
 Testare continua prin metode de testare automata
dezvoltate in paralel cu programarea
 Refactorizare zilnica
 Dezvoltarea aplicatiei prin iteratii dese si de
dimeniuni reduse
 Feedback
 Dezvoltare bazata pe teste: testele sunt dezvoltate
primele
 Implicarea clientului
 Programarea in perechi
 Proces de dezvoltare continuu
 Integrare continua
 Refactorizare
 Dezvoltarea bazata pe incremente
 Intelegere comuna
 Jocul de planificare, bazate pe descrierea facuta de
utilizatorilor
 Arhitectura simpla
 Metafora: analogie frecventa pentru sistem
 Drepturi de proprietate colective asupra codului
 Standarde de programare
 Dezvoltare
 Ritm sustinut: fara ore suplimentare
 Planning game.
 Clientul decide cuprinsul si calendarul versiunilor pe
baza estimarilor echipei.
 Echipa implememnteaza doar functionalitatile cuprinse
in povestile (“story”) din iteratia curenta
 Small releases.
 Sistemul intra in functiune inainte sa fie finalizat iar
actualizari apar oriunde in intervalul: o zi – o luna.
 Metafora
 Sistemul este definit de una sau mai multe metafore
intelese atat de echipa cat si de client.
GRILA

1. Care din urmatoarele trasaturi caracteristice ale informatiei conduc la


adoptarea unei decizii in timp real?
a) claritate;
+b) oportunitate;
c) comparabilitate;

2. Ponderea functiei de organizare este mai mare in faza de:


a) lansare;
+b) crestere;
c) declin;

3. Care din urmatoarele enunturi exprima mai bine continutul conceptului de


eficienta economica:
a) a produce si a vinde cat mai multe bunuri economice;
b) a reduce consumurile, a economisi resursele;
+c) a satisface un volum de bunuri cat mai diversificat cu resurse limitate;

4. Cand productia este 0 costul total (care este egal cu costul fix + costul
variabil) este:
a) mai mic decat CV;
b) egal cu CV;
+c) mai mare ca CV;

5. Decizia (alegerea) variantei optime reprezinta:


a) functie a managementului;
+b) functie a organizatiei economice;
c) etapa a procesului de management;

6. Pentru afaceri nerentabile sau situatii de criza


sunt recomandate strategii:
a) de competitie;
+b) de reorientare;
c) de penetrare;
7. Diferenta intre pretul cu amanuntul si pretul de
livrare reprezinta:
a) profitul organizatiei;
b) taxa pe valoarea adaugata;
+c) accize si adaosuri comerciale;

8. Pragul de rentabilitate e definit de nivelul


cifrei de afaceri la care:
a) pretul e sub valoarea cheltuielilor totale;
+b) pretul e egal cu valoarea cheltuilor totale;
c) pretul e peste valoarea cheluielilor totale;

9. Eficienta si eficacitatea sunt:


a) termeni echivalenti;
b) expresii ale rentabilitatii;
+c) concepte diferite;

10. Ansamblul de actiuni, resurse si moduri de


corelare si consum a acestor reprezinta:
a) un program de dezvoltare;
b) o strategie;
+c) un proiect;

11. Termenul maxim al unui eveniment reprezinta:


a) momentul cel mai curand posibil;
+b) momentul cel mai tarziu posibil;

S-ar putea să vă placă și