Acum mulţi ani am condus o teză de doctorat cu tema reutilizabilitatea software, în care ideea era că prin reutilizare:
- se face economie de muncă vie,
- are loc creşterea calităţii produselor software,
- lumea are de unde învăţa programare,
- creşte preocuparea de a realiza componente performante,
- creşte complexitatea produselor, energiile se direcţionează spre elemente de creaţie.
Nu orice componentă software face obiectul reutilizării, ci vor fi reutilizate doar componente:
- cât mai complet testate,
- cu nivel de generalitate ridicat,
- care încorporează performanţă,
- a căror optimalitate este evidenţiată,
- acceptate ca fiind foarte bune de către programatori,
- stocate în biblioteci garantate calitativ,
- în care elementele de standardizare le fac uşor de folosit,
- pentru care programatorii manifestă încredere totală.
Se ştie că programarea orientată obiect are una dintre virtuţi legată de reutilizare, din moment ce variabilele şi secvenţele de prelucrat formează un tot unitar, inseparabil.
Observăm ca o stare de normalitate faptul că limbajele de programare au foarte multe biblioteci şi au fost dezvoltate construcţii complexe doar prin definiri de expresii de referire folosind operatorul punct, astfel permiţându-se reutilizări dintre cele mai spectaculoase.
Mi se pare extrem de interesant să se facă analize pe texte sursă pentru a vedea cât este text reutilizat şi cât ar fi fost necesar să fie reutilizabil, dar limitările impuse de necunoaştere au făcut ca multe componente excelente deja existente în biblioteci, să rămână acolo.
Dacă se consideră un produs software PS având N linii sursă, din care K linii sursă provin din reutilizare de componente din biblioteci, gradul de reutilizare efectiv, GRE este dat de formula:
GR=K/N
Dacă însă, punem o echipă de experţi care cunosc cât mai multe biblioteci de componente şi identifică un număr de L linii sursă din program care ar fi trebuit să fie rezultatul unui proces de reutilizare, gradul maxim de reutilizare GRmax, este dat de relaţia:
GRmax = L/max(L,N)
Ceea ce arată că în cazul în care deja există un produs software şi nu mai trebuie scris unul, GRmax=1. Totuşi trebuie mare atenţie atunci când se vorbeşte despre reutilizare, pentru că ideea de bază nu este de a reutiliza mici componente, ci de a reutiliza structuri de articole, subsisteme chiar, căci de acolo vin marile şi spectaculoasele economii de muncă vie, simultan cu creşterea calităţii, căci a scrie texte surse destinate reutilizării presupune mult mai multă atenţie şi mult mai multă implicare, mai ales că atunci când textele sursă care se pun în biblioteci, nu se pun cu furca, ci fac obiectul unei analize, nimeni nedorind să fie arătat cu degetul că din cauza carenţelor, textul sursă hărăzit să fie pus într-o bibliotecă, este aruncat la coşul lucrurilor banale, inutilizabile.
|