Documente Academic
Documente Profesional
Documente Cultură
aplicate n economie
n
Ctlin Boja
Asistent universitar
Abstract. The paper describes the main characteristics of the software optimization process. The
quality characteristics of software applications are presented. Based on them, there are defined optimum
criteria regarding minimization of processing volume and maximization of generality, problem to be
solved and precision. There are described methods and techniques used to reach objectives that correspond with minimization of memory space and with minimization of processing volume through modifications of source code. There are taken into consideration the number of optimum criteria analyzed
simultaneous and the characteristics of bicriteria optimization are defined. In order to analyze the effects
of optimization process and to decide on optimal solution, a method for empirical analysis of results is
defined.
Key words: optimization; software; criteria; optimum; quality.
1. Optimizarea software
Optimizarea software este un domeniu foarte larg al
ingineriei software i o etap important n dezvoltarea
produselor software.
Se consider un numr dat de programe care rezolv
aceeai problem. Dintre ele programul optim este acela
care d cea mai bun valoarea pentru un indicator numit
criteriu de performan.
A optimiza un program nseamn a mbunti
performanele acestuia, cu pretenia c s-a obinut pentru
moment o valoare mai bun a criteriului de performan.
Soluia nu este unic ntruct de la o optimizare la alta se
amelioreaz performana. n plus optimizarea software are
caracter local, referindu-se la un program care se modific
sau la rezultatul comparrii unui numr foarte mic de
programe ntre ele, programe care reprezint versiuni de
rezolvare a unei probleme.
Optimizarea programelor nseamn mbuntirea
programului. Toate referirile se fac la o mulime int de
43
44
Mentenan
Realizare aplicaie
ANALIZ
PROIECTARE
IMPLEMENTARE
MANAGEMENTUL
CALITII
TESTARE
EVALUARE
OPTIMIZARE
UTILIZARE
2. Criterii de optim
nsuirile economice ale produselor software sunt legate
n principal de capacitatea acestuia de a genera efecte
directe asupra reducerii costurilor de producie n
ntreprinderi, n gestiunea resurselor, la reducerea ponderii
forei de munc umane n etapele de prelucrare i
interpretare a datelor, respectiv a rezultatelor.
Latura economica vizeaz i modul de fundamentare a
deciziilor, atunci cnd sunt luate n considerare soluii
oferite prin implementarea de algoritmi determiniti sau
euristici. Acetia au capacitatea de selectare a variaiilor
eficiente dintr-un numr extrem de mare de soluii considerate realizabile.
nsuirile tehnice privesc produsul software ca entitate
cu comportament specific bazat pe consumuri de resurse.
Produsul este caracterizat prin prisma structurii,
funcionalitii i a instrumentelor cu care este nzestrat.
Din aceste puncte de vedere produsul program este uor de
utilizat, uor de ntreinut, mentenabil, tolerant la erori i
elimin ntr-o proporie ridicat ansele apariiei situaiilor
care blocheaz execuia aplicaiei cu sau fr pierderea
datelor, cu consum mic de resurse i nu n ultimul rnd cu
interfa user friendly.
Caracteristicile sociale se manifest prin efectele determinate de program n colectiviti largi sau n grupuri
restrnse de utilizatori, sau prin rolul avut n procesul de
instruire sau de rezolvarea de cerine ale utilizatorilor.
nsuirile sociale vizeaz efortul utilizatorilor pentru a se
familiariza cu un program, dar i msura n care programul
rspunde ateptrilor.
Din punct de vedere al productorului calitatea software este un obiectiv. Din punct de vedere al utilizatorului
calitatea este forma concreta de manifestare a produsului
software. Productorul stabilete i ierarhizeaz
caracteristicile de calitate ce definesc programele ca
produse software:
45
46
LTS =
LZS
i =1
{LDIM i }
LTD = 1max
i oprd
Structura programului asociat unei aplicaii informatice
este o arborescen, iar lansarea n execuie cu succes
presupune traversarea tuturor nodurilor de la rdcin pn
la frunz.
Frunzei i corespunde finalitatea execuiei, concretizat
prin afiarea unor rezultate finale.
Drumurile de la rdcina RAD la frunzele FRZ1, FRZ2,
, FRZnrfz au lungimile, respectiv, LDRUM1, LDRUM2,
, LDRUMnrfrz. Memoria ocupat depinde de modulele
din program care se ncarc, fiecrui drum fiindu-i asociat
un necesar de memorie LDRM1, LDRM2, , LDRMnrfrz.
Ca i n cazul memorie alocate dinamic, i aici necesarul
de memorie este dat de lungimea cea mai mare a drumului
de la rdcin la frunz, adic:
{LDRUM i }
LTDRUM = 1max
i nrfrz
Rezult c necesarul de memorie pentru a executa un
program este:
LPRG = LTS + LTD + LTDRUM
{LDIM i } +
LAPR = LDate + LFDI + LTS + 1max
i oprd
max {LDRUM i } + LREZ
1 i nrfrz
47
Dac se noteaz:
LDate lungimea bazei de date, exprimat n KB;
LFDI lungimea fiierului cu date de intrare, exprimat
n KB;
LPRG lungimea programului, exprimat n KB;
LREZ lungimea fiierului cu rezultate finale, exprimat
n KB;
rezult c lungimea aplicaiei informatice LAPL este dat
de relaia
48
exp
atunci
exp + d d 1
49
50
5. Optimizare bicriterial
Luarea n considerare a dou criterii reprezint o etap
important pentru optimizarea multicriterial a software.
Cele dou criterii alese permit msurarea riguroas a
efectelor ca modificri ale lungimii zonelor de memorie,
respectiv reducerea numrului de cicluri main.
Dac se consider metodele de reducere a volumului
de date MD1, MD2, , MDn i metode de reducere a
volumului de prelucrri MP1, MP2, , MPm rezult mn
variante de combinare a efectelor, pentru fiecare pereche
(MDi, MPj) msurndu-se costul total CTij, respectiv costul
total corectat, CTij.
Dac pentru aceeai pereche (MDi, MPj) se obine relaia
CTij = CTij rezult situaia stabil n care costul economic
coincide cu costul perceput de utilizatori.
Trebuie realizate msurri sistematice pentru a
identifica situaiile n care metodele nu conduc spre
optimizare, rezultnd eliminri de linii i de coloane din
matricea format din elementele (MDi, MPj). Astfel se
mbuntete procesul de optimizare a produsului software prin reducerea la minimum a numrului de perechi,
(MDi, MPj), pentru care se impune realizarea practic a
soluiei i evaluarea acesteia.
n vederea evalurii efectelor optimizrii bicriteriale
se analizeaz corelaia dintre volumul de date i volumul
de prelucrri.
Crearea bazei de date n form natural presupune
introducerea de la tastatur a datelor. Volumul de prelucrri,
efortul, depind de operatori i se mparte durata n:
n
durata specific operatorilor, n care se analizeaz
timpul necesar executrii rutinelor de prelucrare a
datelor i aducerea lor n formatul specificat; de
asemenea, se cuantific durata necesar obinerii
rezultatelor intermediare i finale;
n
durata de scriere pe suport, care are o pondere
nsemnat din timpul total de execuie al aplicaiei
i este influenat de caracteristicile componentelor
hardware; dac se analizeaz o aplicaie distribuit
atunci se iau n calcul i parametrii transmiterii
datelor n reea.
n continuare, problematica optimizrii este legat strict
de ceea ce se prelucreaz prin program i fr a lua n
considerare ceea ce consum operatorul. Apar i probleme
de optimizare, care fac obiectul altei abordri. Se presupune
c operatorii care introduc date au randament constante,
iar datele introduse sunt complete i corecte. Se construiete
programul PP. Datele se introduce o singur dat n baza
de date natural BDN i se utilizeaz de N ori ntr-un interval de timp dat, T.
Varianta 0: se creeaz BDN i se efectueaz prelucrrile
pentru a obine rezultatele. Programul analizat are cinci
secvene asociate operaiilor:
Secv1 introducerea date operator, V1;
Secv2 validare i scriere date pe suport, V2;
51
52
VCimax VCi j
VCimax VCimin
(1)
VNCi j =
VCi j VCimin
VCimax VCimin
(2)
n care:
VNCij valoarea normalizat a criteriului Ci pentru
programul Progj;
VCimax valoarea maxim nregistrat de criteriul Ci
pentru variantele testate;
VCimin valoarea minim nregistrat de criteriul Ci
pentru variantele testate;
VCij valoarea nregistrat de criteriul Ci pentru
varianta curent de program Progj.
Valoare indicatorului agregat IA este determinat prin
ponderarea valorilor normalizate cu valoarea coeficientului
de importan asociat fiecrui criteriu prin relaia
IA j =
VNC
j
i
pi .
i =1
7. Concluzii
Rezultatele au fost publicate n volumul de lucrri al
unor conferine i comunicri tiinifice, precum i n
Bibliografie
Boja, C. Software Multicriterial Optimization, The Proceedings of
the Seventh International Conference of Informatics in
Economy, May 2005, Academy of Economic Studies,
Bucharest, Romania, Inforec Printing House, ISBN 973-836004-8, pp. 1068-1074
Fog, A. (1999). How to optimize for the Pentium family of microprocessors, Copyright by Agner Fog
ISO/IEC 9126 International Standard - Information Technology Software product evaluation - Quality characteristics and guidelines for their use, 1991, Geneve, Switzerland
Ivan, I., Boja, C. (2004). Metode Statistice n Analiza Software,
Editura ASE, Bucureti, ISBN 973-594-498-7
Ivan, I., Boja, C. (2006). Practica optimizrii aplicaiilor
informatice, Editura ASE, n curs de apariie
Ivan, I., Boja, C. (2005a). Collaborative systems components empirical software optimization effect assessment, The proceedings of The International Workshop on COLLABORATIVE
SUPPORT SYSTEMS IN BUSINESS AND EDUCATION,
October 28 29, 2005, Cluj-Napoca, Romania, Risoprint Printing House, Cluj-Napoca, pp 152 189, ISBN 973-651-008-9,
Romania
Ivan, I., Boja, C. (2005b). Empirical Software Optimization,
Revista Informatic Economic, ISSN 1453 1305, vol. IX,
nr. 2/2005, Editura Inforec, Bucureti, 2005, pp. 43-50
Ivan, I., Verni, D. (1998). Compresia de date, Editura CISON,
Bucureti
Ivan, I., Boja, C., Felician, A., Web Applications Optimization,
Proceedings of the InfoBUSINESS2005, Innovative
53
54