Pagina documente » Informatica, Matematica » Metrici soft pentru evaluarea termenului necesar realizarii unui proiect

Despre lucrare

lucrare-licenta-metrici-soft-pentru-evaluarea-termenului-necesar-realizarii-unui-proiect
Aceasta lucrare poate fi descarcata doar daca ai statut PREMIUM si are scop consultativ. Pentru a descarca aceasta lucrare trebuie sa fii utilizator inregistrat.
lucrare-licenta-metrici-soft-pentru-evaluarea-termenului-necesar-realizarii-unui-proiect


Cuprins

Cuprins
1. Introducere
1.1 Ce sunt metricile soft?
1.2 Importanta metricilor soft
1.3 Exista limite pentru modelele de estimare a softului?
2. Metode de estimare traditionale
2.1 Relatia dintre metodele de estimare si metricile soft
2.2 Modelul COCOMO
2.3 Modelul FP
2.4 Modelul Price S
2.5 Modelul SLIM
2.6 Modelul COCOMOII
3. Metode de estimare recente
3.1 Solutia expertilor
3.2 Abordarea Delphi
3.3 Retele neurale
3.4 Sisteme logice fuzzy
3.5 Rationamentul orientat pe caz
3.6 Modelul analogic
3.7 Sisteme bazate pe regula
3.8 Arbori regresivi
3.9 Sistemele neurale fuzzy hibride
3.10 Retelele bayesiene
4. Estimarea efortului pentru diferite aplicatii utilizind modelul lui Albrecht (Puncte Functionale)
4.1 Evidenta notelor de la o facultate
4.2 Evidenta colectiei personale de CD-uri
4.3 Evidenta cheltuielilor casnice
4.4 Gestiune conturi intr-o banca comerciala
4.5 Agenda personala
5. Test On-Line
6. Concluzii
7. Bibliografie
8. Anexa

EXTRAS DIN DOCUMENT

?

Metrici soft pentru evaluarea termenului necesar realizarii unui proiect

1. Introducere

1.1 Ce sunt metricile soft?

În anii ’40 cand a inceput era calculatorului, erau doar cateva calculatoare in functiune si cele mai multe aplicatii erau mici, fiind proiecte de o singura persoana. O data cu trecerea timpului, calculatoarele au devenit foarte raspandite, aplicatiile au crescut in numar, marime si importanta, costul dezvoltarii programelor a crescut si el. Ca rezultat al acestei cresteri consecintele estimarilor produselor soft gresite au devenit si ele mult mai grave.

Astazi, calculatoarele joaca un rol important in aproape fiecare sector din viata noastra. Cresterea importantei softului duce la cresterea necesitatii de a avea un control precis, predictibil si repetabil asupra procesului de dezvoltare si producere a softului.

Domeniul masuratorilor soft este unul din sectoarele ingineriei programarii unde cercetarile sunt active de mai bine de 30 de ani. Domeniul masuratorilor soft este cunoscut si sub numele de metrici soft. Poate fi creata o situatie confuza prin folosirea atat a termenului de masuratori soft cat si a celui de metrici soft. Daca folosim terminologia teoriei masuratorilor folosim termenul de masurare. În literatura termenii de metric si masurare sunt sinonimi. Metric aici nu este considerat in sensul de spatiu metric, ci este considerat in sensul ca masurarea este o reprezentare a obiectelor empirice cu obiecte numerice printr-un homomorfism. Un homomorfism este o reprezentare care pastreaza toate relatiile si structurile unei stari. Cu alte cuvinte, calitatea trebuie relationata liniar la o masura soft. Acesta este un concept de baza al tuturor masurarilor. 1

1.2 Importanta masuratorilor soft

Din punct de vedere al unui client, investitia in soft are sens doar daca costul achizitiei este mai mic decat valoarea castigata. Desi valoarea castigata este greu de cuantificat, costurile sunt usor de evaluat ca fiind suma platilor catre dezvoltatorul de programe. “Costurile” pentru client sunt “valoare castigata” pentru producatorul soft. Costurile acestuia pe de alta parte sunt in principal costurile cu forta de munca necesara dezvoltarii si intretinerii softului. Un alt parametru care trebuie luat in considerare este timpul, durata necesara lansarii pe piata este un factor foarte important, hotarator pentru succes sau esec. În contextul ingineriei programelor avem trei parametri: cost/efort, durata, produs. Observatia pe care o putem sa o facem instantaneu este ca fiecare parametru este puternic dependent de ceilalti. De aceea nu putem dezvolta acelasi produs in jumatate de timp si cu jumatate de efort . Afirmatii analoage pot fi facute si pentru ceilalti doi parametri.

Controlul procesului soft atinge doua zone fundamentale (care tin cont de cei trei parametri ) : • expectativa, speranta rezultatului viitor ;

• cunoasterea a ceea ce a fost deja obtinut.

Prima zona este punctul de plecare pentru tehnicile de estimare. Este de asemenea un domeniu de negocieri si compromisuri in care sunt implicati de obicei toti cei trei parametri. Arta controlarii expectativei este de a avea valorile estimative pentru cei trei parametri intr-o balanta rezonabila, in ciuda tuturor presiunilor facute de clienti, departamentul vanzari si manageri.

Al doilea domeniu conduce la masuratori. Desi efortul masurarii si scurgerea timpului nu ridica dificultati teoretice deosebite masurarea produselor soft este inca la inceput. În afara livrarii datelor indispensabile administrarii proiectului, ea imbunatateste si calitatea estimarii, pentru ca vom fi estimatori mai buni atunci cand vom sti ce am efectuat in trecut. Numai prin masurarea a numeroase procese trecute suntem capabili sa concluzionam statistic cum sunt cei trei parametri relationati si care este balanta rezonabila a lor. Observatiile efectuate in anii ’80 au demonstrat ca, calitatea estimarii este unul din factorii corelati cel mai mult cu succesul proiectului, factor ce depaseste tehnologia folosita si experienta personalului. Acest lucru este ilustrat in exemplul urmator: sa presupunem ca organizatia A produce 10 unitati de produs pe zi PU/D si organizatia B produce 15 PU/D. Dar clientii organizatiei A sunt mult mai satisfacuti: de ce? Este pentru ca A isi face planurile pe baza productivitatii ei reale de 10 PU/D, in timp ce B se bazeaza pe 15 PU/D si prin urmare face grave erori de planificare. 2

1.3 Exista limite pentru modelele de estimare soft?

Desi au fost propuse mai mult de 1000 de etaloane soft de catre specialistii din acest domeniu, si s-au publicat mai mult de 5000 de lucrari despre acest subiect, cercetatorii in masuratorile soft sunt impartiti in doua tabere: cei care sustin ca softul poate fi masurat, si cei care afirma ca softul nu poate fi analizat cu ajutorul masuratorilor.

În Iulie 2001 J.P. Lewis3 publica un articol in care afirma ca sunt limite in privinta abilitatii noastre de a estima timpul necesar dezvoltarii unui produs soft. Datorita concluziei atat de incomode, articolul a generat discutii aprinse in comunitatea inginerilor soft. Lewis pretinde ca nu poate exista o metoda obiectiva care sa conduca la o estimare buna a complexitatii dezvoltarii de soft anterioara incheierii acestei sarcini. Pentru el

”obiectiv” inseamna o metoda mecanica, formala care nu se bazeaza pe intuitia umana. El isi sustine afirmatiile cu ajutorul unor dovezi matematice.

Argumentul lui Lewis se bazeaza pe notiunea de “complexitate algoritmica”, care este o masura a celui mai scurt program care va produce un sir dat. Complexitatea algoritmica, cunoscuta si sub numele de complexitatea Kolmogorov este un domeniu bine stabilit din teoria informatiei si stiinta calculatoarelor. Lewis observa ca fiecare program soft poate fi gandit ca o tabela care traseaza intrarile programului cu iesirile corecte corespunzatoare. Aceasta caracterizare a programarii presupune un numar finit de intrari finite, care este corect pentru rezultate practice. Lewis subliniaza ca o tabela poate fi reprezentata ca si un sir care consta din liniile tabelei. De aceea fiecare sarcina de programare are asociata complexitatea algoritmica — lungimea celui mai scurt program care va produce tabela care traseaza datele de intrare ale proiectului si datele de iesire. Lewis declara un rezultat standard din teoria complexitatii: nu exista nici un algoritm pentru a calcula complexitatea algoritmica a unui sir arbitrar. Cu alte cuvinte nu poate exista nici un program care sa ne spuna lungimea celui mai scurt program care rezolva o problema arbitrara de dezvoltare soft. Lewis afirma ca efortul si timpul necesar dezvoltarii programelor sunt strans legate de complexitatea algoritmica a proiectului. Punand toate impreuna rezulta ca nu exista nici o metoda riguroasa pentru calcularea timpului necesar dezvoltarii unui proiect soft anterior executiei efective a acestuia. 4

Are Lewis dreptate? Lewis are dreptate din punct de vedere matematic, dar doar in cadrul definitiei inguste a problemei de estimare soft. Definitia folosita in acest articol este prea restransa. Programatorii reali, si cercetatorii din campul proceselor soft nu incearca sa rezolve problema pe care Lewis o expune.

În ciuda celor enuntate de Lewis, nici un cercetator serios din ingineria soft nu incearca sa gaseasca o metoda garantata care sa estimeze timpul si efortul intr-un mod corect. Nici macar, nimeni nu se straduie sa gaseasca metode care sa produca estimari garantate a fi corecte, decat doar in cadrul unei marje de eroare cunoscuta. Problema reala a estimarii soft este mult mai putin stricta decat afirma Lewis. Noi doar incercam sa ajungem cumva la o estimare rezonabila.

Presupunem ca cineva descopera o metoda fomala, mecanica de a estima efortul realizarii unui program cu o corectitudine de 80% in 80% din cazuri. Pentru restul de 20% din cazuri metoda produce rezultate foarte gresite. Comunitatea soft ar fi in extaz daca o astfel de metoda ar exista. Probabil ca am fi incantati chiar daca am gasi o metoda care sa fie corecta 50% in 50% din cazuri. Lewis afirma ca timpul si efortul sunt strans legate de complexitatea algoritmica a sarcinii de programat. Aceasta poate fi adevarat, apeland fie si numai la intuitie, dar Lewis nu stabileste o relatie directa intre ele. Este posibil sa existe un proiect soft asociat cu un program scurt care sa creeze tabela potrivita de intrari/iesiri, dar care sa fie greu pentru un om sa-l descopere. Un asemenea proiect ar fi de o slaba complexitate algoritmica dar de o inalta complexitate umana (timp si efort). Sau poate exista un proiect soft asociat cu un program mare dar pe care un programator sa-l vada de la inceput cum trebuie dezvoltat.

Lewis spune ca, avand in vedere rezultatele ar trebui sa avem mai mare incredere in oameni atunci cand estimam timpul necesar proiectelor. “O buna estimare..necesita experienta si judecata. Industria programarii trebuie sa pretuiasca experienta umana, intuitia si intelepciunea.5