Extras din curs
SISTEMELE SOFTWARE : PROBLEME SI PERSPECTIVE
1.1 Introducere
Dezvoltarea sistemelor software, indiferent de amploarea produsului final, implica pâna la urma rezolvarea unor probleme cum ar fi:
- satisfacerea cât mai completa a cerintelor utilizatorului;
- cost de productie cât mai scazut;
- performanta ridicata;
- portabilitate;
- cost de întretinere scazut (mentenanta buna);
- fiabilitate ridicata;
- livrare la timp.
Oricare dintre acestea, daca este ocolita sau rezolvata necorespunzator, conduce în final la esecul sistemului software proiectat.
Vom încerca în cele ce urmeaza sa lamurim, într-o abordare neexhaustiva, fiecare dintre directiile enuntate mai sus.
1.2 Satisfacerea cerintelor utilizatorilor si costul
software-ului
Nici un produs, deci nici produsele software, nu vor fi solicitate si utilizate daca ele nu raspund unor nevoi ale utilizatorilor. Cu cât sunt mai bine acoperite cerintele celor care beneficiaza de facilitatile produsului software respectiv si cu cât produsul va raspunde mai bine acestor solicitari, cu atât cererea pentru sistemul (produsul) respectiv va fi mai mare.
La nivelul anilor '85, în Statele Unite ale Americii se aprecia ca au fost cheltuite 70 miliarde dolari pentru productia interna de software, iar în lume s-au cheltuit în jur de 140 miliarde dolari pentru acelasi scop.
Pentru anul 1995 s-a constatat ca aceste costuri s-au ridicat la aproximativ 225 miliarde dolari pentru Statele Unite si la 540 miliarde dolari pentru întreaga lume. Ca exemplu, numai pentru sistemul de operare OS 360 pe care IBM-ul l-a dezvoltat, pentru o categorie larga de calculatoare, s-au cheltuit 200 milioane dolari.
Statisticile arata ca în tarile puternic industrializate, ponderea ocupata de costul software-ului în produsul national brut este în continua crestere. Acest cost este influentat, si determinat totodata, de o serie de factori cum ar fi: productivitatea de programare, predictia timpului în care se va realiza produsul final, costul hardware-ului în raport cu cel al software-ului, utilizarea generatoarelor de programe, etc.
Costul software-ului este în mare parte determinat de nivelul salariilor celor implicati în productia de software. Productivitatea medie a programatorilor este de 10-20 instructiuni (într-un limbaj de programare) pe zi. Acestea includ clarificarea specificatiilor problemei, proiectarea programului, codificare, testare si documentare.
Surprinzator, aceasta productivitate nu depinde de limbajul utilizat. Productivitatea este influentata de lucrul individual sau în echipa al programatorului si de tipul aplicatiei proiectate (software de aplicatii sau software de baza). Se stie, de exemplu, ca sistemele de operare se realizeaza mai greu decât diversele aplicatii software.
Costul software-ului comparativ cu cel al hardware-ului a iscat controverse de-a lungul timpului. Faimoasa curba "S - shapped" a aratat schimbarile relative intervenite în cost de-a lungul anilor. De exemplu, în anii '55 software-ul reprezenta aproximativ 10% din costul proiectului (fig. 1.1).
Fig. 1.1 Schimbarile intervenite în costul relativ al hardware-ului si software-ului
Odata cu impactul social al microcalculatoarelor (al calculatoarelor personale), perceptia omului obisnuit în ceea ce priveste costul software-ului s-a modificat.
"Daca copilul meu poate sa scrie un program-joc în doua saptamâni, DE CE este software-ul asa de scump ?" , iata o întrebare la care nu se poate raspunde foarte usor, pe întelesul tuturor.
În alta ordine de idei, cheltuielile legate de productia de software sunt influentate de utilizarea "pachetelor de programe" specializate pentru diferite probleme (ex. grafica, interfete utilizator inteligente, etc.), precum si de folosirea generatoarelor de programe de aplicatii.
Rezumând, se poate spune ca software-ul este scump daca ne raportam la produsul national brut (este vorba de tarile puternic industrializate) în primul rând din cauza productivitatii scazute a programatorilor. Este ceea ce percepe omul obisnuit.
Astfel se naste, în mod natural, întrebarea : Cum poate fi scazut costul? Este interesant de vazut care parte din dezvoltarea unui produs software costa mai mult. Fig. 1.2 ilustreaza acest lucru.
Fig. 1.2 Costul relativ în diferite stadii de
dezvoltare ale software-ului
Daca totusi erorile sunt o problema majora, atunci, când apar ele? Fig.1.3 arata numarul relativ de erori comise în diferite stadii de evolutie a software-ului.
Preview document
Conținut arhivă zip
- Inginerie Software
- CAP1.DOC
- CAP2.DOC
- CAP3.DOC
- CAP4.DOC
- CAP5.DOC
- CAP6.DOC