Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Idee: un sistem de succes de mare dimensiune incepe ca un sistem de succes de mica dimensiune care apoi creste putin cate putin (Gilb, 1988)
Modelul cascada are avantajul unui sistem de management simplu care produce sisteme robuste, dar este foarte rigid la schimbari de cerinte.
Pe de alta parte, dezvoltarea evolutiva (prototipizarea evolutiva) permite ca deciziile in ceea ce priveste cerintele si designul sa fie intarziate, dar acest lucru poate duce la dezvoltarea unui software prost structurat care este dificil de inteles si mentinut
Dezvoltarea incrementala este o cale de mijloc.
Sunt identificate, la nivel inalt, cerintele pe care trebuie sa le satisfaca sistemul, dar
In loc de a dezvolta si livra un sistem dintr-o data, dezvoltarea si livrarea este impartita in parti (incremente), fiecare increment incoroporand o parte de functionalitate
Cerintele sunt ordonate in ordinea prioritatilor, astfel incat cele cu prioritatea cea mai mare fac parte din primul increment, etc.
Odata ce dezvoltarea unui increment a inceput, cerintele pentru acel increment sunt inghetate, dar cerintele pentru noile incremente pot fi modificate
Avantaje:
Clientii nu trebuie sa astepte pana ce intreg sistemul a fost livrat pentru a beneficia de el. Primul increment include cele mai importante cerinte, deci sistemul poate fi folosit imediat
Primele incremente pot fi prototipuri din care se pot stabili cerintele pentru urmatoarele incremente.
Se micsoreaza riscul ca proiectul sa fie un esec deorece partile cele mai importante sunt livrate la inceput
Deoarece cerintele cele mai importante fac parte din primele incremente, acestea vor fi testate cel mai mult. Deci este mai putin probabil ca sa apara erori in partile cele mai importante.
Probleme:
Incrementele trebuie sa fie relativ mici (nu mai mult de 20.000 de linii de cod) si fiecare increment trebuie sa furnizeze o noua functionalitate a sistemului. Este dificil de transformat cerintele utilizatorului in incremente de marime potrivita.
O recenta evolutie a dezvoltarii incrementale este Programarea Extrema (XP). Aceasta se bazeaza pe dezvoltarea si livrarea de incremente foarte mici, implicarea clientului in dezvoltare, etc.
Copyright © 2024 - Toate drepturile rezervate