popescu razvan - erasmus is 2011_12/laza stefanescu...آ  web view pentru un proiect de succes ce...

Download Popescu Razvan - ERASMUS IS 2011_12/Laza Stefanescu...آ  Web view Pentru un proiect de succes ce duce

If you can't read please download the document

Post on 25-Dec-2019

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

UNIVERSITATEA POLITEHNICA BUCURESTI

Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei

PROIECT I.S.

CICLURI DE VIATA ALE PRODUSELOR SOFTWARE

Studenti: Profesor indrumator:

Laza Laura Prof. Dr. Ing. Ştefan Stăncescu

Stefanescu Yasmin

Guta Ovidiu

Popescu Razvan

Lungu Mihail

GRUPA 443A

UPB

2012

Sumar

1. Introducere – Laza Laura

1.1 Ciclul de viata ca intreg

1.2 Dezvoltarea clasica a programelor

2. Modelul cascada – Stefanescu Yasmin

2.1 Notiuni generale

2.2 Argumente

2.3 Modele modificate

2.4 Rezultatul proiectului în modelul cascadă

2.5 Avantajele modelului de ciclu de viaţă cascadă

2.6 Limitări ale modelului de ciclu de viaţă cascadă

2.7 Etape

2.8 Aplicaţii

3. Modelul in “V” – Laza Laura

3.1 Obiective

3.2 Schema modelului in “V”

3.3 Fazele modelului in ‘V’

3.4 Avantaje si dezavantaje

4. Modelul spirala – Laza Laura

4.1 Notiuni generale

4.2 Schema modelului spirala

4.3 Descrierea modelului spirala

4.4 Avantaje si dezavantaje

4.5 Aplicatii

5. Modelul incremental – Guta Ovidiu

5.1 Cum se aplica

5.2 Avantaje si dezavantaje

5.3 Planificarea

5.4 Rational Unified Process

6. Modelul code-and-fix – Stefanescu Yasmin

6.1 Notiuni generale

6.2 Avantaje si dezavantaje

6.3 Fazele modelului code-and-fix

6.4 Limitări ale modelului de ciclu de viaţă code and fix

6.5 Compararea metodelor de dezvoltare software

7. Modelul cu prototipuri – Popescu Razvan

7.1 Notiuni generale

7.2 Prototipuri cu aruncare

7.3 Prototipuri evolutive

8. Modelul cu subproiecte – Popescu Razvan

8.1 Notiuni generale

8.2 Avantaje si dezavantaje

8.3 Exemplu

9. Modelul in etape – Lungu Mihail

9.1 Introducere

9.2 Etapele distribuţiei în ciclul de viaţă

9.3 Produsele pentru dezvoltare software comercial

9.4 Etapele de dezvoltare

9.4.1 Pre-alfa

9.4.2 Alfa

9.4.3 Beta

9.4.4 Originile variantelor alfa şi beta

9.4.5 Seigo

9.5 Release Candidate şi Gold

9.6 RTM sau RTW

9.7 Versiuni stabile/nestabile

9.8 Concluzii

10. Modelul cu software commercial – Lungu Mihail

10.1 Notiuni introductive

10.2 Măsurarea mărimii proiectului şi a dificultăţii nivelului

10.3 Performanţele legate de software-ul commercial

10.4 Definirea problemei controlului ciclului de viaţă a software-ului commercial

10.5 Determinarea calităţii software-ului comercial

10.6 Măsurarea succesului într-un mediu commercial, competitive

11. Modelul cu medii de dezvoltare – Guta Ovidiu

11.1 Notiuni generale

11.2 Medii de dezvoltare in trei faze

11.3 Avantaje si dezavantaje

11.4 Sisteme Distribuite

11.5 Exemple de medii de dezvoltare

12. Concluzii – Laza Laura

13. Bibliografie

1. Introducere – Laza Laura

Conceptul fundamental al ingineriei software îl constituie ciclul de viata.

1.1 Ciclul de viata ca întreg

Ciclul de viata al unui produs software este reprezentat în figura de mai jos. Odata dezvoltat, produsul intra într-un ciclu de utilizare si modificare, care continua pe toata durata sa de viata. Tiparul nu este specific produselor software, el putând fi generalizat pentru majoritatea produselor industriale, cu diferenta ca în cazul acestora din urma etapa de modificare se numeste etapa de reparare sau de întretinere (ciclul este utilizare - modificare, pe masura ce componentele se uzeaza).

Produsele software nu se uzeaza, în schimb, ele trec prin faza de modificare din alte motive: corectarea erorilor care nu au fost detectate în faza de dezvoltare, schimbari în

contextul în care sunt utilizate, schimbari efectuate modificarea anterioara care au avut efecte nedorite în alte puncte ale programului. De exemplu, modificarea legii impozitului necesita corectarea programelor pentru salarii, iar adesea aceste modificari au efecte adverse în alte zone ale programului efecte care sunt observate ulterior.

Indiferent de motivul pentru care un produs informatic intra în faza de modificare, acest stadiu presupune ca o persoana (adesea alta decât autorul programului sa studieze programul si documentatia aferenta pâna când ajunge la un grad de întelegere care sa îi permita efectuarea modificarilor. În caz contrar, este posibil ca modificarile efectuate sa cauzeze mai multe probleme decât rezolva. Întelegerea unui program este adesea o sarcina foarte dificila, chiar în conditiile în care acesta a fost bine proiectat si documentat. Nu sunt deloc rare cazurile în care în aceasta faza renunta complet la un anumit program component, considerându-se (si nu fara temei) ca este mai usor sa se dezvolte de la zero un sistem nou, decât sa se modifice cu bune rezultate sistemul existent.

Experienta arata ca un minim de efort în timpul dezvoltarii unui produs informatic poate sa usureze mult sarcina modificarii produsului, atunci când acest lucru devine necesar. Majoritatea cercetarilor în domeniul ingineriei software se concentreaza pe faza de dezvoltare a produselor; eforturile investite în aceasta faza aduc cele mai înalte beneficii pentru toate fazele ulterioare de viata.

1.2 Dezvoltarea clasica a programelor

Vom analiza acum mai îndeaproape etapele care intra în componenta primei faze din ciclul de viata al produselor informatice: dezvoltarea. Aceste etape sunt analiza, proiectarea, implementarea si testarea.

Analiza

Aceasta este etapa în care se constata ca ar fi utila o aplicatie informatica si se ia decizia

dezvoltarii unui sistem software. Fie ca se constata existenta unei piete pentru un produs de uz general, fie ca o anumita organizatie are nevoie de o aplicatie specializata, în mare masura aceasta prima etapa presupune mai degraba luarea unor decizii de management si marketing decât abordarea unor problem legate de studiul algoritmilor. Dupa luarea deciziei de dezvoltare a unui sistem informatic începe adevarata analiza, al carei scop principal este identificarea necesitatilor utilizatorului potential al sistemului.

Proiectarea

În faza de proiectare sunt dezvoltate detaliile tehnice ale sistemului. În aceasta etapa,

sistemul este descompus în componente mai usor de controlat, numite module. Implementarea sistemelor complexe devine posibila tocmai prin aceasta descompunere modulara. Altfel, multimea detaliilor tehnice care trebuie luate în considerare ar fi imposibil de stapânit; prin

proiectarea modulara, este suficient sa avem în vedere pentru fiecare modul doar detaliile corespunzatoare acestuia. Pe de parte, proiectarea modulara ajuta si la întretinerea sistemului. O structura modulara bine proiectata este importanta atât pentru implementarea sistemului, cât si pentru modificarea sa ulterioara. Acesta este unul dintre principalele motive pentru care

paradigma orientata spre obiecte câstiga teren: un sistem proiectat orientat spre obiecte este prin definitie un sistem modular.

Implementarea

Aceasta faza se refera la scrierea efectiva a programelor, crearea fisierelor de date

si dezvoltarea bazelor de date.

Testarea

Aceasta faza este strâns legata de faza anterioara, deoarece în normal fiecare modul al

sistemului este testat în timpul implementarii, într-un sistem bine proiectat, fiecare modul poate fi testat în mod independent, utilizându-se versiuni simplificate ale celorlalte module pentru a se simula interactiunile dine modulul tinta si restul sistemului. Desigur, pe masura ce diferite module sunt analizate si combinate, testarea individuala trebuie continuata cu testarea generala a întregului sistem.[1]

2. Modelul cascada – Stefanescu Yasmin

Analiza ciclului de viaţă (LCA, Life Cycle Assessment) este o metodă de a evalua aspectele de mediu şi impacturile potenţiale asociate cu un produs sau sistem. Este utilizată din ce în ce mai mult în faza de creare a noului produs cu scopul de a reduce impactul total prin ciclul de viaţă (material brut, manufactură, distribuţie, utilizare şi menţinere, reutilizare, reciclare şi înlăturarea finală). Datele de ciclu de viaţă pot fi de asemenea foarte folositoare pentru informaţiile aduse utilizatorilor finali, astfel că impactul asupra mediului în faza de utilizare este redus, şi pentru gestionarea sfărşitului vieţii unui produs (de exemplu identificarea materialelor cu potenţial de hazard sau cele valoroase din produs).

Un model de ciclu de viaţă este o încercare de a analiza stadiile prin care trece un program din momentul în care a fost imaginat şi până la ultimele sale utilizări. Modelul tinde să fie mai complex pentru software decât pentru alte tipuri de produse şi are un număr de diferenţe majore – de exemplu, fazele de producţie ale majorităţii produselor presupun realizarea unui număr mare de copii ale produsului, şi astfel aceasta este partea cea mai consumatoare de timp şi bani din proces: pentru software, realizarea de copii este doar copierea de discuri sau casete – o parte foarte ieftină a întregului proces.

2.1 Modelul de viaţă cascadă. Notiuni generale

Modelul de viaţă cascadă este un proces secvenţial de creare, utilizat deseori în dezvoltarea proceselor software în care progresul este considerat ca o cădere continuă (ca o cascadă) prin fazele de Concepere, Iniţializare, Analiză, Creare, Constru