Friday, December 22, 2017

Compararea programelor

De-a lungul anilor s-a scris foarte mult software, drept care la un moment dat s-a impus aproape de la sine ierarhizarea programelor destinate soluționării aceleiași probleme. În acest scop s-a trecut la compararea programelor. Astfel au apărut articole destinate comparării diferitelor programe, din care amintesc aici:

  • Kenneth E. FITZGERALD  - Comparison of Some FORTRAN Programs for Matrix Inversion, JOURNAL OF RESEARCH of the Notional Bureau of Stondards - B. Mathematical Sciences,
  • Vol. 78B, No. 1, January-March 1974, pp.15 - 33Comparison of several sorting algorithms în http://warp.povusers.org/SortComparison/ 
  • Keshav BISWA, Bishal JAMATIA, Deepjyoti CHOUDHURY, Pallabi BORAH  - Comparative Analysis of C, FORTRAN, C# and Java Programming Languages, Keshav Biswa et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 7 (2) , 2016, pp. 1004 -1007
Oricare dintre noi care dorește să facă același lucru, trebuie:
  • să aibă câteva programe destinate soluționării aceleiași probleme, fie folosind același algoritm, fie cu algoritmi diferiți, fie toate scrise în același limbaj de programare, fie scrise în diferite limbaje de programare, dar de fiecare dată trebuie precizate toate elementele care definesc contextul analizei, ca să se știe exact despre ce este vorba;
  • să dispună de textele sursă corecte și complete care să fie lansate în execuție fără dificultăți și care prin mici ajustări să permită rularea  a nenumărate seturi de date de test și înregistrarea automată a numărului de iterații și a duratelor de execuție;
  • să existe suficiente seturi de date de test  ca diversitate și ca diimensiune a problemelor de rezolvat care să permită evidențierea atât a virtuților, cât și a carențelor programelor care fac onbiectul analizei; seturile de date de test se constituie într-un lanț care se rulează continuu pentru fiecare program sau dacă este posibil, se rulează o singură dată pentru toate programele care fac obiectul analizei;
  • să existe o prezentare de detaliu a fiecărui set de date de test, cu caracteristicile sale de bază precum număr de articole, ordine de mărime, mod de dispunere, tipuri de date, valori caracteristice, frecvnețe de apariție a unor valori, astfel încât să se vadă dacă performanțele programelor depind de structurile interne ale seturilor de date, de diferențele dintre ele;
  • ca tabelele care rezultă după execuție trebuie să fie sistematizate cu date despre programe și caracteristicile măsurate, astfel încât în continuare să fie aplicate metode statistice care să permită concluzionări semnificative, credibile și mai ales utile pentru soluționarea altor probleme concrete în viitor.
În vremurile de demult am avut și eu oarece preocupări pe probleme de analiză comparată a unor programe, pe care am continuat-o și mai recent, după cum se va vedea:
  • Ion IVAN - Analiza statistica a programelor - 1, Revista de statistica, vol. 29, nr.4, 1980, pg.11-16
  • Ion IVAN - Analiza statistica a programelor - 2, Revista de statistica, vol. 29, nr.5, 1980, pg.22-34
  • Ion IVAN, Romulus ARHIRE- Analiza statistica pentru performantele sistemelor de progame (I), Revista Romana de Statistica, vol. 30, nr. 4 1981, pg. 21 - 28
  • Ion IVAN, Romulus ARHIRE - Analiza statistica pentru performantele sistemelor de progame (II), Revista Romana de Statistica, vol. 30, nr. 6, 1981, pg. 43 - 52.
  • Ion IVAN , Alexandru BALOG, Tudor BARON - Analiza comparata a modelelor de fiabilitate software , Lucrarile Simpozionului International de Informatica Economica, Bucuresti, mai 1993, Editura Centrul Editorial Tipografic ASE, pg. 131 - 134
  • Ion IVAN, Iulian RADULESCU - Analiza comparata a complexitatii entitatilor text generate prin tehnici de programare, Editura ASE, Bucuresti 2006, 164 pg, ISBN 973-594-754-4
La un moment dat chiar am propus la un curs un șablon după care să se facă analiza comparativă a calității:
ANALIZA COMPARATA A CALITATII APLICATIILOR DE.....(rezervare bilete, instruire on-line, comert electronic, e-banking, e-educatie, ERP, management resurse umane, evidente contabile...) 
(abstract)
Se selecteaza aplicatiile de .... realizate de firmele.....
Se stabilesc caracteristicile de calitate a aplicatiilor de....
Se construiesc indicatori pentru evaluarea calitatii.
Se masoara nivelurile caracteristicilor de calitate pentru aplicatiile de ....
Se ierarhizeaza aplicatiile de..... dupa un indicator agregat.
1. Aplicatii de ...... 
Se descriu cerintele de prelucrare ale aplicatiilor de ....
O aplicatie de .... are ca obiectiv.....
Se adreseaza unui grup tinta format din ....
Datele de intrare sunt....
Rezultatele furnizate de aplicatia de... sunt....
Prelucrarile se refera la:
- introducerea de optiuni...
- selectarea prelucrarilor
- selectarea modalitatilor de plata
- selectarea structurii rezultatelor
- ..............
- definirea modalitatilor de acces
Pentru fiecare aplicatie se precizeaza:
- adresa web
- cine a realizat-o
- cum se acceseaza, restrictii de autentificare
- ce probleme rezolva.
Se construieste un tabel asemeni celor in care se prezinta detalii comparative pentru telefoanele mobile realizate de diferiti producatori.
Se prezinta criterii de alegere a aplicatiei pentru..... in raport cu cerintele utilizatorilor.
Cu tehnologiile din ziua de azi, nu există nicio problemă de a face analize foarte complexe, inclusiv folosind criterii agregate de ierarhizare, astfel încât să se știe cu exactitate care este produsul software cel mai convenabil a fi utilizat. Totul este să fie definit cu claritate maximă un obiectiv și atât.  Compararea programelor este o problemă care permite obținerea de avantaje multiplicate, mai ales la aplicațiile web accesate de milioane de clienți, așa cum sunt cele de magazine electronice sau de rezervări online dar și în cazul tranzacțiilor bancare.


(22 decembrie 2017)

No comments:

Post a Comment