Presentation is loading. Please wait.

Presentation is loading. Please wait.

Principalele capitole ale cursului

Similar presentations


Presentation on theme: "Principalele capitole ale cursului"— Presentation transcript:

1 Principalele capitole ale cursului
1. Introducere: activitati in procesul de dezvoltare software. 2. Modele ale procesului de dezvoltare software. 3. Definirea cerintelor utilizatorilor si a cerintelor software. 4. Proiectarea arhitecturala. 5. Sabloane de proiectare. 6. Modelarea sistemelor informatice: U(nified) M(odeling) L(anguage). 7. Verificarea si validarea programelor. 8. Calitatile produselor software. 9. Specificarea formala a programelor. 10.Metrici software. 11.Conducerea proiectelor software.

2 Software Engineering?? Anii 1970 – “Criza software” Metodele de dezvoltare existente – inadecvate dezv. de programe mari. Efortul creste mai mult decat liniar in comparatie cu dimensiunea programului. Componentele hardware nu mai reprezinta factorul cel mai important. Un program nu este o entitate statica, ci el evolueaza in timp datorita schimbarii cerintelor si a mediului de utilizare. Trebuie sa poata fi usor de inteles si de adaptat de persoane diferite de cele care l-au dezvoltat. Dezvoltarea de software devine o industrie de sine statatoare

3 A devenit necesara o disciplina care sa furnizeze cadrul pentru construirea de software: Software Engineering Scopul: definirea de tehnici de “fabricatie” justificate de teorie sau de practica. Software-ul se deosebeste de alte produse fabricate: - nu este un produs fizic este dezvoltat, nu fabricat; nu exista un proces de fabricatie software programele nu pot fi “asamblate” din componente nu “imbatraneste”

4

5 Software = cod sursa, cod executabil, biblioteci + documentatii (de realizare, de instalare, de utilizare) Standardul IEEE 1993: Software Engineering este: “Aplicarea unei abordari sistematice, disciplinate si masurabile in dezvoltarea, operarea si intretinerea software-ului, adica aplicarea ingineriei pentru software. De asemenea, studiul unor asemenea abordari.”

6 Definirea Cerintelor Utilizator Definirea Cerintelor Software
Principalele activitati ale unui proiect software Activitati tehnice: Definirea Cerintelor Utilizator Definirea Cerintelor Software Proiectarea arhitecturala Proiectarea detaliata Implementarea unitatilor program ( modulelor) Integrarea Testarea de sistem Testarea de acceptare Intretinerea si operarea Activitati de asigurare a calitatii Activitati de management al proiectului

7 Definirea cerintelor utilizator
Aceste cerinte descriu punctul de vedere al utilizatorului: CE doreste viitorul utilizator de la viitorul produs. Sunt cerinte de: functionare a sistemului, de performanta, de securitate, de interfata utilizator, de interfata, s.a. Cerintele sunt definite cat mai clar intr-un document: Documentul Cerintelor Utilizator (User Requirements Document - URD) sau Documentul Cerintelor de Sistem Activitatea de definire a cerintelor utilizator poate include si specificarea testelor de acceptare. Definirea cerintelor software Analiza cerintelor utilizator si definirea unui set de cerinte pe care viitorul produs software trebuie sa le indeplineasca astfel incat sa fie satisfacute cerintele utilizatorilor. Cerintele sunt descrise in cadrul unui document numit “Documentul de Cerinte Software” (SRD) sau “Specificatia de sistem”. Specificatia cerintelor software este independenta de implementare SRD sta la baza contractului dintre client si producator/ echipa de dezvoltare Furnizeaza o baza pentru estimarea costurilor si a planificarii

8 Proiectarea arhitecturala
Se stabileste arhitectura sistemului software care va implementa Cerintele formulate in documentul de Cerinte Software Se alege solutia de proiectare optima dintre alternativele posibile. Toate Cerintele Software trebuie sa fie acoperite de sistemul descris in Documentul de Proiectare Arhitecturala (ADD). Activitatea de proiectare arhitecturala poate include si specificarea testelor de integrare Proiectarea de detaliu Subsistemele sunt descompuse succesiv pana se ajunge la nivel de componente direct implementabile prin unitati de program ( care nu mai sunt descompuse). Se specifica functia/ functiile pe care trebuie sa le realizeze fiecare componenta, in Documentul de Proiectare de Detaliu (DDD). De asemenea, se pot defini testele unitare

9 Implementarea modulelor
Implementarea cuprinde codificarea si testarea separata a modulelor definite in etapa de proiectare de detaliu. Cea mai bine stapanita si cea mai bine “utilata” dintre toate activitatile ciclului de viata. Reprezinta circa 15-20% din efortul total de dezvoltare a unui program. Specificarea si proiectarea reprezinta in jur de 40% Testarea circa 40% din efortul total de dezvoltare.

10 Integrarea Modulele care au fost testate independent sunt integrate treptat in subsisteme, pana la nivel de sistem. Se verifica comunicarea si interactiunea intre componentele integrate. Testarea de sistem Se verifica daca sistemul satisface cerintele specificate in documentul Cerintelor Software Testarea de acceptare Se verifica daca sistemul satisface cerintele specificate in documentul Cerintelor Utilizator Se efectueaza de o echipa de testare independenta care include si clientul/utilizatori Testare alfa/beta

11 Asigurarea calitatii Intretinerea si operarea
Este efectuata de un grup special Activitatile depind de tipul de software: corectarea defectelor, imbunatatirea unor caracteristici, adaptarea la cerinte noi Asigurarea calitatii Scop: asigurarea cerintelor tehnice si a standardelor de calitate in procesul de dezvoltare si de catre produsul final Alegerea metodelor si a standardelor de specificare, proiectare si implementare Revizii, pe tot parcursul procesului de dezvoltare Definirea strategiilor de testare Definirea metodelor de documentare Definirea metricilor de evaluare a produselor si a instrumentelor de masurare

12 Scrierea propunerii pentru obtinerea proiectului
Activitati de management Scrierea propunerii pentru obtinerea proiectului Etapizarea si planificarea in timp a activitatilor Revizii Selectia si evaluarea personalului Scrierea si prezentarea de rapoarte Riscurile unui proiect software factori de experienta: a managerului, a echipei, a organizatiei factori de planificare: estimarea resurselor umane, a perioadelor de timp pentru diferite activitati, definirea responsabilitatilor factori tehnologici: noutatea tehnologica, metodele de dezvoltare, instrumentele de dezvoltare factori externi: calitatea specificatiei cerintelor, stabilitata cerintelor, calitatea definirii , stabilitatea si disponibilitatea interfetelor externe

13 Ciclul de viata al unui program (Software life cycle)
O secventa de etape in existenta produsului software care include toate activitatile necesare pentru dezvoltarea produsului si relatiile temporale dintre ele. Fiecare etapa din ciclul de viata este caracterizata prin activitati specifice si produsele rezultate din activitatile respective. Include intretinerea  reluare activitati de dezvoltare Modele ale ciclului de viata software (Software development life cycle models / process models): Modelul cascada (Waterfall model) Modelul in V ( Vmodel) Modelul ESA ( European Space Agency) Modelul iterativ si incremental Dezvoltarea “agila”(Agile development) Dezvoltarea pe baza de prototip (Prototyping ) Modelul in spirala (Spiral model)

14

15

16 Experienta ultimelor decenii a demonstrat ca modelul este valoros.
Avantaje: Sistemul este bine documentat Permite un bun management al proiectului: planificarea resurselor umane pe etape estimari de cost mai exacte Dezavantaje: Un produs executabil, care sa demonstreze functionarea sistemului este disponibil destul de tarziu, dupa integrare. Pana atunci s-au produs numai documente. Deoarece modelul este secvential, exista numai uhn feedback local, la tranzitiile intre faze. Multe erori sunt descoperite tarziu  cost crescut Toate riscurile sunt incluse intr-un singur ciclu de dezvoltare Adecvat pentru proiectele in care cerintele sunt bine intelese de la inceput si nu se modifica pe parcursul procesului de dezvoltare. Experienta ultimelor decenii a demonstrat ca modelul este valoros. Este utilizat si in prezent de multe organizatii mari.

17

18

19 Definire Cerinte folosind Prototip


Download ppt "Principalele capitole ale cursului"

Similar presentations


Ads by Google