Curs 4 Curs 6

[Curs nr.5]

Agenti: proiectarea este realizata cel mai bine de catre o echipa formata din membrii cei mai buni, incluzand arhitectul sistemului si 1-2 proiectanti. Daca sistemul este foarte complex, la acestia se pot adauga cativa proiectanti care se vor concentra pe anumite aspecte tehnologice, un responsabil cu mediul de dezvoltare utilizat de echipa, un membru al echipei de testare/control calitate si, posibil, un redactor de documentatie.
 

Jaloane si masuratori: exista 2 jaloane de baza:

Evolutia

Scop: Realizarea implementarii prin detaliere succesiva a arhitecturii sistemului.
La terminarea acestei faze sistemul trebuie sa fie gata de livrare, adica sa existe: setul de executabile, procedura de instalare, documentatia si eventualele utilitare anexe.
Orientativ, durata fazei de evolutie este aprox. 9 luni pentru proiecte al caror ciclu de viata este de 1 an.
Faza de evolutie este o continua integrare. Pe durata ei managerul trebuie sa aiba grija ca activitatile sa se desfasoare sub semnul pragmatismului, in sensul ca echipa nu trebuie sa piarda din vedere nici un moment setul minimal de caracteristici stabilit initial.
Pe parcursul fazei de evolutie managerul are rolul de a evalua si a "sorta" riscurile proiectului, astfel incat echipa de dezvoltare sa nu intre in panica din cauza unor evenimente ca: esecul instrumentelor software folosite, aparitia unor modificari radicale in setul cerintelor.

Faza de evolutie trebuie sa permita managerului sa raspunda la urmatoarele intrebari:

Primele 2 intrebari ataca insasi ratiunea pentru care sistemul este construit. Ele nu sunt o scuza pentru o analiza fusarita, ci o recunoastere a faptului ca existenta unui sistem nou duce la modificari in mentalitatea si obiceiurile utilizatorului.
A 3-a intrebare se refera la problema corespondentei cerinta-cod, care se poate formula astfel: dat fiind enuntul care descrie comportamentul dorit, este fiecare functiune indeplinita corect si in modul cel mai simplu?
Ultima intrebare se refera la calitatea produsului si priveste urmatoarele aspecte: este arhitectura aleasa functionala, iar sistemul aflat in constructie este lipsit de erori in functionare?
Produse: Sunt:

O versiune este o forma stabila, executabila a sistemului, impreuna cu setul de elemente anexe necesare utilizarii aplicatiei respective.
Procedeul de realizare a unui sistem sub forma unui sir de versiuni executabile este important deoarece:

Fiecare versiune se caracterizeaza prin 3 elemente: Ca principiu orientativ:

Prototipurile sunt destinate experimentarii. Ele trebuie sa contina urmatoarele elemente:

Prototipurile sunt destinate studiului rapid al acelor aspecte ale sistemului care comporta riscuri. In final prototipurile vor fi aruncate; doar ideile desprinse din experimentarea lor vor fi puse in practica la implementarea sistemului.

Evaluarea calitatii: practic, echipa de dezvoltare elaboreaza planuri de testare in stransa legatura cu scenariile si va utiliza testele respective la evaluarea calitatii si a completitudinii sistemului.
Politica de dezvoltare iterativa si incrementala are avantajul ca permite echipei de testare sa-si inceapa activitatea relativ devreme in cadrul ciclului de viata.

Asa cum implementarea urmareste evolutia arhitecturii, si documentatia trebuie sa urmareasca fiecare noua versiune. Ea nu va fi tratata ca un produs izolat de versiunile executabile ale sistemului, ci mai degraba ca un rezultat al acestora.

Activitati:

Microprocesul este in esenta ansamblul de activitati pe care fiecare membru al echipei le desfasoara individual pe durata ciclului de viata al unui proiect.
Aplicarea microprocesului presupune urmatorii pasi:

Evaluarea versiunii curnte presupune analiza ei in contextul setului minimal de caracteristici.

Agenti: In faza de evolutie alocarea resurselor umane este o preocupare majora. In principiu, 80% din echipa trebuie implicata la realizarea versiunii curente, iar restul de 20% va fi ocupata cu activitati secundare, de anliza si atacare a riscurilor.
La evolutie participa in general ingineri de aplicatii, care pot avea urmatoarele sarcini: Aceste sarcini necesita cunostinte solide de programare.
Jaloane:

Curs 4 Curs 6