Sunteți pe pagina 1din 48

2

LOTURI DE PROGRAME
2.1 Dimensiunea lotului
Odat ce colectivitatea de elemente supus analizei este stabilit ca
structur i dimensiune se procedeaz la determinarea dimensiunii eantionului i
la stabilirea modului n care se efectueaz selecia lotului.
Pentru asigurarea reprezentativitii rezultatelor la fiecare rulare a
produsului program analizat se utilizeaz seturi de date suficient de mari i variate.
Interpretarea erorii de reprezentativitate depinde de mrimea eantionului pentru
loturi cu un numr mic de elemente este utilizat distribuia Student;
eantioane mari se utilizeaz distribuia Laplace.
Dimensiunea eantionului reprezint o problem important n realizarea
de analize software. n cazul cel mai bun, este asigurat reprezentativitatea
rezultatului, dac lotul de analizat cuprinde toate elementele existente. Dar, aceast
situaie este imposibil pentru multe analize. De exemplu, dac se efectueaz
analiza comparat a tuturor programelor scrise n C n ultimii 5 ani de ctre
studenii din cadrul unei faculti de profil tehnic, trebuie cercetate mii de produse
program.

Metode statistice n analiza software

Prin determinarea dimensiunii eantionului se dorete obinerea unui numr


destul de mare de elemente, dar suficient, innd seama de criterii economice legate
de costul analizei. Se au n vedere:
satisfacerea cerinelor de precizie i siguran;
costul optim al analizei.
Deoarece, analiza software lucreaz cu entiti unice, reprezentate de
produse program finite sau seturi de date de intrare, selecia eantionului este
comparat cu metoda statistic a sondajului nerepetat.
Dimensiunea nlot a eantionului este determinat prin relaia:

n lot =

2
N colectivitate z 2 Caract
2
(N colectivitate 1) 2 + z 2 Caract

unde:
Ncolectivitate dimensiunea colectivitii totale;

Caract
z

abaterea medie ptratic a valorilor caracteristicii dup care se


face selecia;
probabilitatea de ncredere P = 1 , din tabelele funciei
Laplace;
eroarea limit admisibil, stabilit n funcie de
particularitile problemei practice de rezolvat, prin relaia:

eroare X Caract
100

n care:
eroare eroarea probabil din valoarea medie;

X Caract valoarea medie a caracteristicii de grupare.


Valoarea abaterii medii ptratice, , a caracteristicii de selecie este
determinat prin:
cunoaterea din cercetri anterioare a dispersiei colectivitii generale;
realizarea unei analize pe un eantion redus pentru a determina valoarea
dispersiei valorilor; pe baza rezultatului se efectueaz estimri;

Loturi de programe

utilizarea valorii maxime a dispersiei, prin considerarea cazului cel mai


nefavorabil:

2
max
=

(X

min
Caract

X Caract

) + (X
2

max
Caract

X Caract

unde:
2
max

valoarea maxim a dispersiei;

min
X Caract
valoarea minim a caracteristicii de selecie;
max
valoarea maxim a caracteristicii de selecie;
X Caract

X Caract valoarea medie a caracteristicii.


De exemplu, se realizeaz o analiz comparat a rezultatelor pe care le
genereaz produselor de arhivat fiiere. Pentru aceasta se determin dimensiunea
lotului de fiiere pe baza crora se msoar duratele proceselor i mrimea arhivei
obinute. Fiierele sunt caracterizate de lungimea lor n octei. Se are n vedere:
n fiecare zi se arhiveaz un volum de Ncolectivitate = 1000 de fiiere;
abaterea medie ptratic a lungimii fiierului este de Caract = 500 de
octei;
probabilitatea de decizie P = 1- = 99%, creia i corespunde valoarea
tabelar z = 2,33;
eroarea probabil de 5% din dimensiunea medie a unui fiier;
dimensiunea medie a unui fiier de X Caract =4500 de octei.
Rezult c dimensiunea lotului de teste este nlot = 26 de fiiere.

2.2 Neomogenitatea loturilor


Dezvoltarea programelor software i tendina tot mai accentuat de a
introduce aplicaii cu grad ridicat de generalitate impune analiza loturilor de
programe neomogene n vederea determinrii de metode care s aleag procesul de
prelucrare optim.

Metode statistice n analiza software

Se consider car1, car2, , carncar caracteristicile elementelor unei grupri.


Conceptele de colectivitate sau set sunt evitate, folosindu-se conceptul de grupare
pentru a defini elementele care sunt luate n considerare ntmpltor sau fr a se
utiliza n prealabil un algoritm de construirea a loturilor omogene.
Se construiete o matrice n care se consemneaz faptul c un element li din
grupul format din elementele l1, l2, , lnl este descris utiliznd caracteristica cj,
dac la intersecia liniei i cu coloana j apare simbolul *. n absen, situaia este
indicat prin -.
Dac se nregistreaz structura ca n tabelul 2.1 rezult c elementele
l1, l2, , li sunt total diferite de elementele li+1, li+2, , lnl, fiecare aparinnd unei
alte grupri.
Grupare neomogen
Tabel 2.1

Element car1 car2

Caracteristici
carj carj+1 carncar

l1
l2

li

*
*

*
*

*
*

li+1
li+2

lnl

*
*

*
*

Grupul iniial este descompus n dou colectiviti omogene n raport cu


modul de descriere.
Pentru a analiza oferta de periferice se construiete un grup de elemente pe
baza ofertei de pe pia. Situaia exemplific descompunerea n loturi omogene,
tabelul 2.2, constituite din grupul l1, l2, ,l5 reprezentnd modele de imprimante i
grupul l6, l7, , l10 ce descrie monitoare.

Loturi de programe
Exemplu de grupare neomogen descompus n grupe omogene
Tabel 2.2
Caracteristici
Element Volum cartu Vitez Rezoluie Rat refresh Diagonal
l1
l2
l3
l4
l5

*
*
*
*
*

*
*
*
*
*

l6
l7
l8
l9
l10

*
*
*
*
*

*
*
*
*
*

*
*
*
*
*

n cazul n care apare problema dispersrii elementelor * n matrice,


asemenea situaiei din tabelul 2.2 se procedeaz la efectuarea unor regrupri
de caracteristici i de elemente, obinndu-se colectiviti ct mai omogene,
tabelul 2.3, prin interschimburi de linii i coloane.
Grupare neomogen
Tabel 2.3
Element
l1
l2
l3
l4
l5
l6
l7
l8
l9
l10
l11
l12
l13
l14
l15

car1
*
*
*
*
*

car2
*
*
*
*
*

car3
*
*
*
*
*

Caracteristici
car4 car5 car6
*
*
*
*
*
*
*
*
*
*
-

car7
*
*
*
*
-

car8
*
*
*
*
-

car9
*
*
*
*
-

Metode statistice n analiza software


Descompunerea gruprii neomogene n subgrupuri omogene
Tabel 2.4

Element

car1 car2 car3

Caracteristici
car4 car5 car6 car7 car8 car9

l1
l6
l8
l12
l15

*
*
*
*
*

*
*
*
*
*

*
*
*
*
*

l4
l7
l11
l14

*
*
*
*

*
*
*
*

l2
l10

*
*

l3
l5
l9
l13

*
*
*
*

*
*
*
*

*
*
*
*

Pentru a determina gradul de omogenitate sau neomogenitate a unui grup


de elemente n funcie de posibilitatea descrierii elementului li prin intermediul
caracteristicii cj se definete indicatorul GO cu relaia:
n

GO =

xcar
i =1 j =1

ij

nl ncar

unde:
nl
ncar
xcarij

numrul de elemente al grupului;


numrul de caracteristici;
elementul matricei de coresponden; dac elementul li este
descris de caracteristica carj atunci xcarij ia valoarea 1, altfel 0.

Loturi de programe

Dac valoarea indicatorului, GO, este egal cu 1, este evideniat


omogenitatea grupului, toate elementele fiind caracterizate de setul de
caracteristici. Altfel, se impune utilizarea algoritmului de regrupare. Acesta const
n interschimburi repetate de linii i de coloane.
Printre rezultatele regruprii apar situaii n care apar caracteristici
comune., tabelul 2.5.
Descompunere de grupare neomogen n colectiviti cu caracteristici comune
Tabel 2.5

Element car1 car2


Colectivitate 1

Colectivitate 2

Colectivitate 3

Caracteristici
carj carj+1 carncar

l1
l2

*
*

*
*

*
*

*
*

li
li+1

*
*

*
*

*
*

*
*

*
*

li+2

lnl

n acest caz, grupul se descompune n 3 colectiviti:


Colectivitate 1 descris de caracteristicile car1 carj+1;
Colectivitate 2 descris de caracteristicile carj carj+1;
Colectivitate 3 descris de caracteristicile carj carncar.
Dac pentru fiecare colectivitate exist o prelucrare statistic specific, n
programe, se asociaz o structur alternativ multipl:
Colectivitate 1 Prelucrare Prel1;
Colectivitate 2 Prelucrare Prel2;
Colectivitate 3 Prelucrare Prel3;

Colectivitate t Prelucrare Prelt


Se consider variabilele de control u = 1, 2, , t. Structura care selecteaz
prelucrare de efectuat n funcie de colectivitate are forma din figura 2.1.

Metode statistice n analiza software

da
u = =1
u = =2

da

Prelucrare 1

Prelucrare 2

u==t

da
Prelucrare t

Figura 2.1 Structur pentru prelucrarea unei grupri neomogene

Un produs software care implementeaz un mod dinamic de prelucrare, n


funcie de tipul datelor de intrare, este descris n [IVAN98] i [VERN96].
Programul descrie modalitile de prelucrare, compresie, pentru fiiere neomogene.
De exemplu, tipurilor de fiiere din tabelul 2.6 le este asociat n mod unic un singur
algoritm de compresie, considerat optim.
Tipuri de fiiere de arhivat
Tabel 2.6

Fiier
Fs1
Fs2
Fs3
Fs4

Tip fiier
Date numerice
Text
Imagine
Sunet

Algoritm compresie
RLE
Huffman standard
Compresie aritmetic
LZW

Se iau algoritmi de compresie i folosind mulimi de fiiere din fiecare tip


rezult pentru fiecare tip numai c un anumit algoritm de compresie/decompresie
este eficient.

Loturi de programe

Programul de compresie fiiere neomogene presupune:


o bibliotec de algoritmi de compresie, complet independeni;
instrumente pentru analiza fiierelor pentru a determina clasa de
algoritmi;
calcul metrici pentru fiere;
asociere tip fiier cu algoritm specific;
selectare algoritm k dup tip fiier att la compresie ct i la
decompresie.
n cazul n care, gruparea este caracterizat de acelai set de caracteristici,
ns este neomogen datorit variaiilor mari ale valorilor numerice, se impune
eliminarea valorilor aberante sau crearea de intervale de valori omogene. Pentru
aceast situaie algoritmul de regrupare este diferit, deoarece este bazat pe valorile
caracteristicilor i nu pe existena posibilitii de descriere a elementului prin
intermediul caracteristicii respective.

2.3 Omogenitatea loturilor


Baza de date a analizei software este format din valorile caracteristicile
produselor software selectate n loturi de programe. Pentru ca rezultatele s fie
semnificative i reprezentative, trebuie ndeplinite cerine legate de:
omogenitatea datelor;
construirea unui eantion semnificativ pentru ntreaga colectivitate;
metodologii bine definite de culegere a datelor;
utilizarea corect a metodelor statistice pentru analiza datelor;
personal calificat.
Studiul omogenitii produselor software este esenial n ncercarea de a
construi eantioane de programe omogene, pentru c acestea trebuie s fac parte
n primul rnd dintr-o anumit clas de programe. ncadrarea unui program n lot
are loc numai dac procedurile sale sunt omogene dup criteriul stabilit.
Prelucrrile statistice privind produsele i procesele informatice au ca scop
cunoaterea fenomenelor pentru fundamentarea de decizii. Efectuarea de analize
complete i obiective impun un grad ridicat de reprezentativitate a rezultatelor
obinute prin utilizarea metodelor i tehnicilor de prelucrare a datelor statistice.
Reprezentativitatea este asigurat cnd:
sunt prelucrate date privind colectiviti omogene; elementele
colectivitii nu difer semnificativ unele de celelalte, sunt compatibile;

Metode statistice n analiza software

n acest scop se definesc criterii de apartenen, se stabilesc intervale


ntre care s varieze nivelelurile caracteristicilor
datele prelucrate sunt comparabile, se asigur acelai mod de culegere i
aceeai algoritmi de prelucrare
concluzia la care se ajunge nu este stabilit nainte de efectuarea
prelucrrilor; nu se efectueaz ajustri asupra volumului de date i nu se
aleg indicatori care s foreze obinerea de rezultate care s confirme
judeci prestabilite mai ales de natur subiectiv.
Deci, omogenitatea programelor reprezint o caracteristic a eantionului i
n acelai timp o cerin a analizei software. Aceast condiie este realizat numai
n msura n care elementele seleciei sunt descrise utiliznd aceleai metode, au
aceeai sfer de apartenen, au structuri comune i nivelurile asemntoare pentru
caracteristicile de calitate software. Pentru ca lotul de programe s fie omogen,
trebuie ca setul de caracteristici msurate s fie comun tuturor programelor.
Exist mai multe criterii de a descrie omogenitatea eantionului de produse
software.
Dup criteriul limbajului de programare, se definesc loturi cu grad de
omogenitate:
` maxim toate componentele sunt realizate ntr-un singur limbaj;
` predominant majoritatea programelor sunt scrise ntr-un limbaj de
programare comun;
` oarecare (neomogene) sunt folosite numeroase limbaje de programare.
Dup criteriul tehnicii de realizare, exist loturi de programe:
realizate cu o singur tehnic de exemplu tehnica Orientat Obiect;
construite utiliznd mai multe tehnici, dintre care una este
predominant;
neomogene din punctul de vedere al tehnicii de realizare, aparinnd
mai multor generaii: Orientat Obiect, pe componente, structurat.
Dup criteriul funciei, produsele software selectate sunt destinate:
unei anumite clase de probleme: de contabilitate, de statistic, de
gestiune;
mai multor clase de probleme, iar criteriul omogenitii nu este
ndeplinit;

Loturi de programe

operaiilor de baz: compilatoare, sisteme de operare; aceast categorie


de programe necesit analize cu un nivel ridicat al complexitii
operaiilor i factorilor studiai.
Dup criteriul complexitii, sunt construite loturi de produse software:
complexe ntregul software este definit de un ansamblu de
componente ce la rndul lor sunt descompuse n elemente primare,
asigurnd produsului final instrumente complexe cu putere de calcul
mare. De exemplu analiza programelor de simulare a fenomenelor
naturale;
cu complexitate redus produsul are i componente active, folosite de
utilizatori n mod curent, dar cu un grad sczut de interdependene.
simple.
Omogenitatea datelor iniiale se obine att prin criterii impuse ct i prin
procese ulterioare de eliminare a extremelor. Reprezentativitatea se obine cnd
datele de intrare sunt omogene, cnd volumul de date este suficient de mare i cnd
algoritmii de culegere sunt bine elaborai.
De exemplu, media notelor la matematic din semestrul al doilea pentru
elevii din clasa a VI-a este reprezentativ pentru colectivitate. Aceasta este descris
de criteriile: obiectul de studiu matematica, vrsta 13 ani, clasa a VI - a,
intervalul de timp cinci luni.
Salariul mediu de 5.500.000 lei dintr-o ntreprindere cu 200 de angajai nu
este reprezentativ dac au fost incluse salariile managerilor i indemnizaia
patronatului. Dac se calculeaz salariul mediu al celor 140 de muncitori din
ntreprindere, de 3.200.000, indicatorul statistic, media aritmetic, devine
reprezentativ.
Analizele statistice utilizeaz diveri indicatori i de fiecare dat sunt
fcute corelaii ntre nivelurile acestora. Media aritmetic este analizat mpreun
cu abaterea standard.. Indicatorii relativi sunt nsoii i de valori absolute.
Identificarea dependenei dintre factori reprezint analiza intensitii si
semnificaiei legturii dintre caracteristica factorial si cea rezultativ.
Consumurile de resurse sunt influenate de numeroi factori. Este important
s se cunoasc modul i intensitatea dependenei factorilor. n acest scop se
construiete un tabel n care se includ variabilele asociate factorilor X i Y.

Metode statistice n analiza software


Descrierea valorilor factorilor X i Y
Tabel 2.7

Variabila Variabila
X
Y
Moment
t1
x1
y1
t2
x2
y2

ti
xi
yi

tn
xn
yn

Variabila Variabila
X
Y
Element
a1
x1
y1
a2
x2
y2

ai
xi
yi

an
xn
yn

unde:
ti
ai
xi
yi

momentul de timp cnd se face nregistrarea datelor;


valoarea caracteristicii de grupare creia i corespund valorile
variabilelor X i Y;
valoarea nregistrat pentru caracteristica X la momentul ti sau pentru
elementul ai;
valoarea nregistrat pentru caracteristica Y la momentul ti sau pentru
elementul ai;.

Pentru studiul dependenei liniare se calculeaz coeficientul de corelaie


dat de relaia:
n

ry / x =

i =1

i =1

n x i yi x i yi
i =1

n 2 n n 2
x i x i n y i
n i
i =1 i =1
=1
2

2
n

y i
i1

unde:
n
xi
yi

numrul de nregistrri pentru seriile de date;


reprezint variabila independent;
reprezint variabila dependent, ale crei valori sunt influenate de X.

Loturi de programe

Acest indicator statistic msoar numai intensitatea legturii liniare dintre


cele dou variabile. Ia valori cuprinse ntre 1 i 1, iar semnul su semnific tipul
de legtur dintre caracteristica rezultativ i cea factorial:
ry/x>0 corespunde situaiei conform creia la o cretere a nivelului
variabilei x se obine o cretere a variabilei y;
ry/x<0 corespunde situaiei conform creia la o cretere a nivelului
variabilei x se obine o descretere a nivelului variabilei y.
Cu ct coeficientul are valori mai apropiate de 1 sau 1 cu att corelaia
dintre cele dou variabile este mai puternic. n cazul n care rx/y = 0, variabilele
sunt independente, iar pentru rx/y = 1, variabilele sunt dependente funcional.
Alte interpretri a rezultatului sunt:
0 rx/y < 0,2 nu exist legtur semnificativ ntre cele dou variabile;
0,2 rx/y < 0,5 exist o legtur slab;
0,5 rx/y < 0,75 exist o legtur medie;
0,75 rx/y < 0,95 exist o legtur puternic.
Pentru dimensionarea stocurilor de resurse hardware/software este
important s se cunoasc factorii care influeneaz duratele de execuie, necesarul
de memorie care se aloc dinamic, spaiul de memorie fizic necesar pstrrii
datelor de intrare i ieire.
Se consider doi algoritmi pentru soluionarea unei probleme pentru care se
determin coeficienii de corelaie liniar dintre valorile rezultate ale
caracteristicilor considerate i valorile factorilor de influen. Se are n vedere
faptul c valorile obinute ale coeficientul de corelaie pentru fiecare din cei doi
algoritmi sunt comparabile. Astfel se scoate n eviden dac programele sunt
omogene din punctul de vedere al dependenei factorilor. Dac pentru aceeai
factori cercetai se obin dependene diferite asociate fiecrui algoritm n parte, se
trage concluzia c cele dou aplicaii nu sunt omogene.
Se consider grupul de programe compus din patru algoritmi Sort1, Sort2,
Sort3 i Sort4, de sortare a fiierelor i nf seturi de date FS1, FS2, ..., FSnf tiind c
dac FS1 este un fiier cu kf nregistrri, FSn este un fiier cu nf*kf nregistrri. Se
construiete tabelul 2.9:

Metode statistice n analiza software


Duratele sortrii fiierelor
Tabel 2.8
Date de test
FS1
FS2
FS3
...
FSi
...
FSnf

Lungime fiier
kf
2*kf
3*kf

i*kf

nf*kf

Sort1
dsort11
dsort21
dsort31

dsorti1

dsortn1

Program
Sort 2 Sort 3
dsort12 dsort13
dsort22 dsort23
dsort32 dsort33

dsorti2 dsorti3

dsortn2 dsortn3

Sort 4
dsort14
dsort24
dsort34

dsorti4

dsortn4

n care dsortij reprezint durata sortrii fiierului FSi de lungime i*kf folosind
algoritmul Sortj.
Se calculeaz coeficienii de corelaie r(FS, Sort1), r(FS,Sort2), r(FS,Sort3),
r(FS,Sort4) i se analizeaz valorile acestora. Se consider setul de durate
nregistrate pentru sortarea fiierelor, din tabelul 2.9.
Comportamentul programelor
Tabel 2.9

Date de test Lungime fiier Sort1


FS1
kf
4
FS2
2*kf
5
FS3
3*kf
7
FS4
4*kf
8
FS5
5*kf
11
FS6
6*kf
13
FS7
7*kf
15
FS8
8*kf
15
FS9
9*kf
16
FS10
10*kf
18

Durat proces
Sort 2 Sort 3 Sort 4
4
3
10
4
3
12
5
3
18
6
3
27
6
3
36
6
3
43
8
3
58
9
3
75
10
4
85
10
4
112

unde:
nf numrul fiierelor, nf = 10;
dij timpul de execuie n zecimi de secunde;
kf lungime fiier, k = 100 octei.

Loturi de programe

Se obin valorile coeficienilor de corelaie din tabelul 2.10.


Valoarea coeficienilor de corelaie
Tabel 2.10

Lungime fiier Sort1 Sort 2 Sort 3 Sort 4


1
0,98 0,97 0,69 0,97
Lungime fiier

Cum valorile coeficienilor r(F, S1), r(F,S2), r(F,S4) sunt foarte apropiate de
1, n cazul algoritmilor S1, S2 i S4, cele dou variabile, lungime fiierului i timpul
de sortare, sunt dependente funcional.
Valoarea lui r(F,S3) este : 0,69. ntre cele dou variabile exist o legtur
medie.
Cum r(F,S3) difer ca intensitate fa de celelalte, rezult c grupul celor
patru programe este parial omogen din punctul de vedere al dependenei dintre
factori, pentru algoritmul S3 lungimea fiierului neinfluennd cu mult rezultatul.
Se impune efectuarea unui studiu distinct pentru luarea n considerare a
cazurilor particulare n care fiierele sunt deja sortate sau sunt sortate invers n
raport cu modul n care se efectueaz sortarea n program. Fiierul e sortat
cresctor i programul l sorteaz descresctor.
Evidenierea diferenelor dintre elementele a dou mulimi const n
determinarea indicatorilor ce msoar caracteristici de calitatea a mulimilor i
compararea lor. Reprezentativitatea i semnificaia fiecrui indicator n parte sunt
evideniate prin metode statistice.
De exemplu, se consider NPR produse software, PR1, PR2, , PRNPR,
realizate pentru a analiza i gestiona stocul farmaciilor. Fiecare funcie important
a aplicaiei este implementat de ctre productor ntr-un modul separat pentru a fi
reutilizat i n alte aplicaii. Pentru a se asigura comparabilitatea datelor se
selecteaz un set de tm module comune. Aplicaia PR1 conine modulele
1
MD11 , MD21 , ..., MDtm
2
1

2
2

iar

produsul

2
tm

program

PR2
1
i ,

MD , MD , ..., MD Pentru fiecare modul al softului PR1, MD


2
i

modulele
echivalentul

su din produsul PR2 este MD . n cazul fiecrei componente se nregistreaz

Metode statistice n analiza software

complexitatea relativ n sens Halstead, utiliznd relaia:


rel
=
C Halstead

n operanzi log 2 n operanzi + n operatori log 2 n operatori


Halstead
N Total

unde:
rel
C Halstead

complexitatea Halstead relativ la operatori;

Halstead
N Total

numrul total de operanzi i operatori din program;

numrul de operanzi distinci definii n program;


noperanzi
noperatori
numrul de operatori distinci referii n program.
De exemplu, secvena de program:

i=0;
S=0;
for(i=1;i<n;i++)
{
x[i]=(i*3)(i*3);
s+=x[i];
}

conine:
Halstead
NTotal
= 47 operatori i operanzi;

noperanzi = 7 operanzi distinci;


noperatori = 10 operatori distinci.
Rezult valoarea complexitii relative a programului:
rel
C Halstead
=

7 log2 7 + 10 log 2 10 52,87


=
= 1,12
47
47

Pentru cele NPR produse software se construiete tabelul 2.11 cu


complexiti relative.

Loturi de programe
Valoarea complexitii modulelor programelor
Tabel 2.11

Produs software

PR1

PR2

PRi

PRNPR

Componenta

Complexitate relativ

MD11

1
CMD
1

MD21

1
C MD
2

1
MDtm

1
C MD
tm

MD12

2
CMD
1

MD22

2
C MD
2

MDtm2

2
C MD
tm

MD1i

i
CMD
1

MD2i

i
C MD
2

MDj

i
CMD
j

MDtmi

i
C MD
tm

MD1NPR

NPR
CMD
1

MD2NPR

NPR
CMD
2

MDtmNPR

NPR
C MD
tm

Metode statistice n analiza software

unde:
NPR
tm
PRi
MDji

numrul de programe analizate;


numrul de module cercetate;
produsul program i;
modulul j al produsului program PRi;

i
CMD
complexitatea relativ a modulului MDj pentru programul PRi.
j

Pentru analiza omogenitii grupului de programe:


se calculeaz complexitatea relativ medie, cu relaia:
tm

Ci =

C
j =1

i
MD j

tm

unde Ci reprezint complexitatea relativ medie a programului PRi.


media valorilor este considerat valoarea cea mai reprezentativ pentru
eantionul studiat; este important de cunoscut ct este distana fa de
aceast medie a elementelor colectivitii; dac au valori mai apropiate
de valoarea mediei, deci prezint abateri mici, media este
reprezentativ;
se calculeaz abaterile medii ptratice pentru valorile complexitii
relative:

(C
tm

C =
i

j =1

i
MD j

Ci

tm

n care Ci reprezint abaterea medie ptratic pentru complexitatea relativ a


produsului Pi.

Loturi de programe

se calculeaz coeficienii de variaie, iC, ai complexitii, asociai


fiecrui produs software:

iC =

Ci

100

cu ct valoarea lui iC este mai apropiat de 0, cu att variaia valorilor


elementelor fa de medie este mai mic, colectivitatea este mai
omogen i media are un grad ridicat de reprezentativitate; dac
coeficientul este peste 35 40 %, media nu este reprezentativ i
trebuie aleas alt caracteristic de grupare;
n cazul n care toate valorile medii calculate sunt reprezentative pentru
fiecare produs software n parte, se compar cele NPR valori ntre ele;
pentru egalitate sau valori foarte apropiate, colectivitatea de aplicaii
este considerat omogen din punct de vedere al complexitii lor.
Studiul comportamentului unor produse program necesit studiul
abaterilor fata de un nivel considerat cu probabilitatea cea mai mare de producere.
Se consider programele Pr1, Pr2, , PrNS i o mulime de fiiere Fs1, Fs2,
, FsMS de lungimi diferite. Lungimea fiierului se exprim n numr de octei.
Se nregistreaz duratele de execuie necesare prelucrrii datelor din fiiere.
Datele obinute sunt prezentate n tabelul 2.12.
Rezultatele obinute n urma rulrilor programelor
Tabel 2.12

Fiier
Fs1
Fs2
Fs3
...
Fsi
...
FsMS

Program Pr1
dr11
dr21
dr31

dri1

drMS1

Program Pr2
dr12
dr22
dr32

dri2

drMS2

...
...
...
...
...
...
...
...

Program Prj
dr1j
dr2j
dr3j

drij

drMSj

...
...
...
...
...
...
...
...

Program PrNS
dr1NS
dr2NS
dr3NS

driNS

drMSNS

unde drij reprezint durata necesar prelucrrii fiierului Fsi cu programul Prj.

Metode statistice n analiza software

Omogenitatea de comportament este dat de faptul c dispersiile calculate


pentru cele NS programe nu difer semnificativ. Se procedeaz astfel:
` se calculeaz dispersia valorilor duratelor de prelucrare pentru
programul Prj cu relaia:
MS

Pr2 =

(dr

ij

i =1

d rj ) 2
, cu j = 1NS

MS

unde:
MS

numrul de fiiere;

d rj

durata medie de sortare a fiierelor cu produsul program Prj;

Pr2 dispersia valorilor duratelor de sortare pentru programul Prj;


j

` se compar valorile dispersiilor aplicndu-se testul de egalitate; dac


seria de dispersii este caracterizat de relaia:

Pr2 = Pr2 = ... = Pr2


1

NS

atunci produsele program Pr1, Pr2, , PrNS constituie elementele unui lot omogen
din punct de vedere al stabilitii comportamentului; se accept i o variaie a
valorilor dispersiilor ntr-un interval definit de:
NS

2
Pr

Pr , Pr + Pr , cu Pr =
2

Pri

i =1

NS

unde:

Pr reprezint o valoare stabilit anterior analizei;

Pr 2 valoarea medie a dispersiilor lotului de programe;

Dac valorile dispersiilor sunt apropiate de valoarea 0, atunci lotul de


programe este considerat omogen prin prisma stabilitii comportamentului.

Loturi de programe

` se verific intensitatea legturii dintre durata de prelucrare i mrimea


fiierului prin:
` se calculeaz valoarea coeficientului de corelaie liniar simpl, rdr j / Fs ,
dintre durata de timp i numrul de articole al fiierului:

rdr j / Fs =

MS

MS

MS

i =1

i =1

i =1

MS Fsi drij Fsi drij


2
2
MS
MS
MS
MS



2
2
MS Fsi Fsi MS drij drij
i =1
i =1
i =1

i =1

unde :
MS
Fsi
dij

numrul de fiiere te sortat;


mrimea fiierului i;
durata de prelucrare a fiierului i, cu programul Pj.

` se aplic testul t pentru a verifica semnificaia fiecrei relaii de


corelaie; se calculeaz tcalculat cu relaia:

t j calculat =

rdr j / Fs
1 r 2 dr j / Fs

* MS 2

` se compar tcalculat cu ttabelat pentru un nivel de semnificaie 1-/2 i cu n2 grade de libertate;


` dac tcalculat > ttabelat relaia de corelaie este semnificativ i se accept
ipoteza;
` dac tcalculat < ttabelat relaia de corelaie nu este semnificativ i se
respinge ipoteza.
Scopul ultimelor etape este de a descoperi argumente care s susin
omogenitatea colectivitii de programe din punctul de vedere al
comportamentului. De asemenea, n cazul n care lotul nu este omogen, sunt
evideniai factori ce influeneaz aceast caracteristic.
Se stabilete NS = 4. Se iau n considerare programele de sortare Sort1,
Sort2, Sort3, Sort4 i cele MS seturi de date F1, F2, ..., FMS ale cror durate de sortare
au fost nregistrate n tabelul 2.10. Pe baza acestor date este analizat omogenitatea

Metode statistice n analiza software

eantionului din punctul de vedere al comportamentului. Prin parcurgerea etapelor


se obin valorile din tabelul 2.13.
Analiza omogenitii comportamentului
Tabel 2.13

Sort1

Programe de sortat
Sort 2
Sort 3
4
3
4
3
5
3
6
3
6
3
6
3
8
3
9
3
10
4
10
4

Date de test Lungime fiier


Fs1
kf
Fs2
2kf
Fs3
3kf
Fs4
4kf
Fs5
5kf
Fs6
6kf
Fs7
7kf
Fs8
8kf
Fs9
9kf
Fs10
10kf

Sort 4
10
12
18
27
36
43
58
75
85
112

4
5
7
8
11
13
15
15
16
18

Dispersie
Coeficient de corelaie
tcalculat ( = 0,05; n = 10)
ttabelat

24,4
5,288889 0,177778 1171,378
0,988117 0,973418 0,696311 0,972547
18,18316 12,02101 2,74398 11,8208
2,306
2,306
2,306
2,306

unde:
nf
k

numrul fiierelor, nf = 10;


lungime fiier, k = 100 octei;

PR este stabilit anterior analizei la valoarea 25.


Deoarece valorile dispersiilor nu sunt egale cu valoarea zero i nici nu sunt
incluse n intervalul [300 25; 300 + 25] rezult c grupul celor patru programe nu
este omogen din punctul de vedere al comportamentului. Cum, coeficienii de
corelaie descriu legturi puternice ntre durata de sortare i dimensiunea fiierului,
iar tcalculat > ttabelat, este evideniat lungimea fiierului ca fiind motivul principal al
neomogenitii. Pentru a se construi un lot omogen de programe de sortare de acest

Loturi de programe

tip este indicat o analiz pe tipuri de fiiere de lungime egale dar cu structur
diferit.
Metodele statistice opereaz cu colectiviti omogene i reprezentative.
Reprezentativitatea este dat de:
numrul de elemente componente ale colectivitii;
respectarea structurii elementelor ce constituie populaia din care se
selecteaz eantionul de analizat.
Dac o colectivitate de 10.000 de persoane este format din 70% brbai i
30% femei cuprinse ntre 20-50 de ani, rezult c eantionul pentru a fi
reprezentativ trebuie s:
s fie format din n persoane; valoarea lui n este determinat utiliznd
metode statistice de estimare a eantionului;
elementele selectate s fie de asemenea 70% brbai i 30% femei
cuprinse ntre 20-50 de ani.
n cazul analizelor software, reprezentativitatea eantionului asigur
includerea influenelor date de structura:
productorilor de software;
tipologiilor utilizatorilor;
limbajelor de programare;
utilizrii instruciunilor;
tipurilor de date de intrare.
Asigurarea reprezentativitii este condiionat de analiza ntregii populaii
de elemente analizate. n situaia n care acest lucru nu este posibil, se realizeaz
estimri bazate pe experiena specialitilor sau pe rezultatele analizelor precedente.

2.4 Construirea eantioanelor de programe


Constituirea unei colectivitii omogene de produse software st la baza
oricrei analize complexe. Modelul general al algoritmului de stabilire a gradului
de omogenitate a unei selecii este bazat pe practica uzual, specific unei largi
categorii de persoane. Trecerea spre exemple n care sunt utilizate programe nu
este dificil. Pentru exemplificare se ia n considerare modul de abordare pur
experimental. Se consider o colectivitate de persoane suficient de filtrat n raport
cu seria de criterii:
vrsta;
gradul de calificare;

Metode statistice n analiza software

rezultate profesionale;
lipsa unor interese de grup;
experiena.

Grupul studenilor din anul al 3-lea al unei faculti reprezint persoane


care ndeplinesc aceste criterii pentru c:
au vrsta cuprins ntre 20 22 de ani;
sunt rezultatul seleciei de la admitere unde au obinut note ntre 7 i 10;
sunt rezultatul unei selecii pe secii i au trecut la specializarea
Informatic Economic numai cei care au medii ntre 7,20 i 10;
au efectuat opiunea spre o anumit specializare, ceea ce arat
preocupri spre un domeniu strict delimitat.
S-a definit problema omogenitii i s-a procedat astfel:
se consider mulimea elementelor unei colectiviti E format din
elementele e1, e2, , en;
se asociaz acestor elemente o serie de caracteristici c1, c2, ,cm i se
specific modul de msurare;
se efectueaz msurtorile i rezult un tablou cu n linii i m coloane,
avnd toate csuele ocupate, ceea ce nseamn c datele sunt complete;
corectitudinea datelor rezult din urmrirea modului n care au fost
aplicate procedurile de msurare a caracteristicilor;
pentru fiecare coloan din tabel se alege elementul minim i elementul
maxim;
se elimin elementul minim i elementul maxim gsite la pasul anterior
i se alege urmtorul element minim, respectiv, maxim cu care se
opereaz;
se calculeaz diferenele dintre minim i maxim, rezultnd intervalul de
variaie ale caracteristicilor;
se cere s se stabileasc ponderea intervalului de variaie n nivelul
minim pentru a demonstra c elementele formeaz o colectivitate
omogen;
se calculeaz media dintre minim i maxim;
se aplic procentul i rezult intervalul;
se prezint un exemplu uor de neles care trebuie s determine
coeficientul de omogenitate.

Loturi de programe

Se consider mulimea studenilor dat n tabelul 2.14:


Colectivitatea de studeni

Nume
Student 1
Student 2
Student 3
Student 4
Student 5
Student 6
Student 7
Student 8
Student 9
Student 10
Student 11
Student 12
Student 13
Student 14
Student 15
Student 16
Student 17
Student 18
Student 19
Student 20
Student 21
Student 22
Student 23
Student 24
Student 25
Student 26
Student 27
Student 28
Student 29
Student 30

Vrst
(ani)
21
21
21
20
21
20
20
20
21
21
20
20
21
21
21
20
21
23
21
22
20
21
24
22
21
20
21
21
21
21

nlime
(cm)
180
160
175
186
166
175
170
173
180
175
165
170
170
175
168
180
177
182
175
195
173
177
165
180
170
170
175
167
172
170

Min-1
Max-1
Min-2
Max-2
Diferena
Media

20
24
21
23
2
44/2

160
195
165
186
21
351/2

Tabel 2.14
Medie intrare
9,50
8,00
9,80
8,00
8,50
8,50
9,50
8,50
9,00
9,50
9,50
9,00
9,50
9,00
9,00
9,50
8,50
9,50
8,60
8,50
7,00
7,00
10,00
9,70
8,50
8,00
9,00
8,50
9,00
9,00
7,00
10,00
8,00
9,70
1,70
17,70/2

Metode statistice n analiza software

Se elimin componentele care au valoarea min-1 i max-1. n cazul acesta


pot pleca din colectivitate 2*m subieci.
n ipoteza comparrii diferenei de vrst cu vrsta minim i cu vrsta
maxim subiecii stabilesc c o colectivitate e omogen dac diferena reprezint
cel mult 25% din valoarea medie. Intervalul este cuprins ntre [44/2-0,25*2;
44/2+0,25*2]. Pentru a determina lotul studenilor omogeni din punctul de vedere
al tuturor caracteristicilor, se determin intervalele din tabelul 2.15
Intervalul valorilor omogene
Tabel 2.15

Caracteristic
Vrst
nlime
Medie intrare

Interval
[44/2-0,25*2 ; 44/2+0,25*2]
[351/2-0,25*21 ;351/2+0,25*21]
[17,70/2-0,25*1,70 ;17,70/2+0,25*1,70]

Se reanalizeaz tabelul 2.15 i rezult un nou tabel 2.16 cu elementele


omogene n raport cu toate caracteristicile msurate.
Lotul de studeni omogen

Tabel 2.16

Nume
Student 9
Student 14
Student 17
Student 19
Student 25
Student 27
Student 29
Student 30

Vrst nlime Medie intrare


(ani)
(cm)
21
180
9,00
21
175
9,00
21
177
8,50
21
175
8,60
21
170
8,50
21
175
9,00
21
172
9,00
21
170
9,00

Considernd caracteristicile din tabelul iniial 2.14, dac se lucreaz numai


cu cte o caracteristic rezult o alt structur omogen, dac se lucreaz cu
construcii de cte 2 caracteristici rezult alte loturi de studeni.
Un alt mod de generare a loturilor omogene de produse software const n
a aplica repetat metoda de identificare a elementelor neomogene i de a le elimina

Loturi de programe

din colectivitate. n final se obine un lot omogen. Diferena fa de metoda


anterioar const n faptul c nu se utilizeaz apartenena la intervale a valorilor
caracteristicilor programelor pentru a se realiza selecia. Lotul omogen este
construit n jurul aplicrii repetate a metodei de selecie.
Se consider programele P1,P2, , Pnc de compresie a datelor i o mulime
de fiiere F1, F2, , Fmc de lungimi diferite i de tipuri diferite. Lungimea fiierului
este exprimat n octei iar fiecare aplicaie Pi implementeaz un algoritm distinct
de arhivare.
Se nregistreaz mrimea fiierelor arhivate, timpul necesar acestei operaii
nefiind luat n consideraie. Datele obinute sunt prezentate n tabelul 2.17.
Rezultatele obinute n urma arhivrilor
Tabel 2.17

Program
P1
P2

Pi

Pnc

Fiier F1
d11
d21

di1

dnc1

Fiier Fj
d1j
d2j

dij

dncj

Fiier Fmc
d1mc
d2mc

dimc

dncmc

unde dij reprezint dimensiunea arhivei create din fiierul Fj aplicnd programul Pi.
n cazul general, dij reprezint seturi de date prin intermediul crora se
msoar timpi de execuie, numr de iteraii, dimensiunea unor fiiere, indicatori de
complexitate, etc.
Se calculeaz valoarea medie a dimensiunii arhivei pentru fiecare tip de
fiier i obinem o list de medii:

d 1 , d 2 , , d j , , d m
n cazul unei colectiviti omogene valoarea calculat a dispersiei fa de
valoarea medie asociat fiecrui tip de fiier este foarte mic, fapt datorat valorilor
apropiate de 0 a diferenelor dij d j . Dac valoarea dispersiilor este chiar 0 atunci
pentru tipul respectiv de fiier, colectivitatea este perfect omogen. Pentru a
verifica validitatea acestor ipoteze i semnificaia corelaiei tip fier/metod de

Metode statistice n analiza software

arhivare, se calculeaz coeficienii de corelaie pentru fiecare tip de fiier n parte i


se aplic testul t
Scopul analizei fiind acela de a obine o colectivitate de studiu omogen, se
elimin tipul de fiier pentru care se obine valoarea maxim asociat dispersiei.
Pentru a ajusta eantionul din punctul de vedere al tipurilor de algoritmi de
compresie, se calculeaz pentru fiecare program valoarea medie a mrimii arhivei
create. Se obine lista de medii: d 1 , d 2 , , d i , , d n .
Se aplic testul de egalitate a mediilor, eliminndu-se acele programe care
au media cu valoarea maxim sau cu valoarea minim.
Chiar dac exist o colectivitate ai crei membrii au valori medii egale,
sunt verificate i valorile dispersiilor. Sunt scoase din studiu, programele cu
dispersii prea mari.
Indiferent de ipotez se verific dac legtura dintre cei doi factori este sau
nu intens, aplicnd testul t.
O abordare distinct a problemei construirii de loturi omogene este cea a
utilizrii metodelor de clasificare pentru o colectivitate dat.
Metoda de clasificare sau de tipologie are drept scop gruparea indivizilor
ntr-un numr restrns de clase omogene. Clasele sunt obinute prin intermediul
unor algoritmi i nu prin metode subiective sau vizuale bazate pe experiena
practica.
Se disting dou tipuri de metode de clasificare:
metodele nonierarhice care produc direct o mprire ntr-un numr
satbilit de clase;
metode ierarhice care mpart colectivitatea ntr-un numr variabil de
clase din ce n ce mai neomogene.
Datele de start ale metodelor sunt reprezentate de tabelul distanelor sau a
diferenelor dintre membrii colectivitii. Tabelele se obin prin reprezentarea
caracteristicilor elementelor ntr-un spaiu cu p axe.
Algoritmii de clasificare nonierarhic grupeaz n elemente n k clase, astfel
nct o clas este caracterizat de ct mai multe similitudini ntre membrii ei i de o
diferen clar fa de alte clase. Situaia presupune definirea unui criteriu global
care s msoare asemnarea indivizilor dintr-o clasa, deci calitatea unei diviziuni.
Prin intermediul acestuia sunt examinate toate subgrupele posibile i se alege grupa
care se potrivete cel mai bine. n practic, gsirea criteriului constituie o operaie
costisitoare i n unele cazuri imposibil.

Loturi de programe

Din categoria clasificrii nonierarhice, fac parte metodele:


ineria interclase i intraclase;
regruparea n jurul centrelor mobile;
metoda norilor dinamici.
Acestea sunt amplu descrise n [VOIN02].
Ineria interclase i intraclase consider elementele grupului asemenea
punctelor unui spaiu euclidian. Problema clasificrii se descrie ca o cercetare a
mpririi norilor de puncte n k subnori. Dispersia unui nor de puncte reprezint
media ptratelor distanelor fa de centrul de greutate. O clasa de elemente este cu
att mai omogena. cu cat ineria sa este mai mica.
Fie 1 , 2 , ..., n ineria fiecrei clase, calculat n raport de centrele lor
de greutate g1, g2, ..., gn. Suma ineriilor , OW, se numete ineria intraclase i este
definit de relaia:
n

W = i
i =1

unde:
n

numrul de clase;

1 ineria clasei i.
Se urmrete obinerea unei valori ct mai mici pentru W , fapt care
garanteaz un ansamblu de clase ct mai omogene.
Se considera, centrele de greutate g1, g2, ...,gn. Dispersia lor n jurul
centrului de greutate al norului total, g, se numete energie interclase i se noteaz
cu B :

B = G j d 2 (g j ; g )
n

j =1

unde:
Gj
suma ponderilor din clasa j;
d2(gj; g) ptratul distanei dintre centrul de greutate gj al clasei j i
centrul de greutate al norului total, g.

Metode statistice n analiza software

O valoare mare a lui B indic o bun separare a claselor. Totodat B i

W sunt legate printr-o formula:


B + W =
unde reprezint ineria total a norului de n puncte.
Datorita faptului ca este constant, maximizarea lui B nseamn
minimizarea lui W . Din punct de vedere al ineriei, se fac cele mai bune mprii
n k clase care au W cel mai mic.
Acest criteriu un permite compararea a dou subgrupe aparinnd unor
clase diferite. De aceea cea mai bun mprire este cea n care fiecare individ
constituie o clasa, pentru c n acest caz W = 0. Fiecare punct se confund cu
centrul de greutate al clasei sale.
Regruparea n jurul unor centre mobile presupune parcurgerea etapelor:
` ntr-o prim faz se regrupeaz indivizii n jurul a k centre arbitrare c1,
c2, ..., ck, astfel nct clasa asociata lui cj este constituit din indivizii
cei mai apropiai de acest centru dect fa de altul; din punct de vedere
geometric nseamn c se mparte spaiul celor n indivizi n k zone
definite prin mediatoarele segmentelor (ci cj) asemenea figurii 2.2;
` se calculeaz valorile centrelor de greutate c1, c2, ..., ck, ale claselor
constituite n etapa anterioar; se mpart din nou clasele, regrupnd
indivizii n jurul lui gj, care ia locul centrelor cj din prima etapa;
` se determin valorile centrele de greutate c12 , c 22 , ..., c 2k asociate noilor
clase; se continu astfel pn cnd valoarea ineriei interclase nu se mai
amelioreaz;
` la finalul fiecrei etape se calculeaz n*k distane ntre indivizi i
centrele de greutate.

Loturi de programe

x
x

x
x

c1

x
c3

x
c2 x

x
x

Figura 2.2 Exemplu de mprire a indivizilor n 3 zone asociate centrelor c1, c2, c3.

Metoda norilor dinamici reprezint o metod dezvoltat de E.Diday,


considerat a fi o generalizare a metodelor centrelor mobile. Diferena
fundamental dintre cele doua metode este dat de: plecnd de la un sistem iniial
de k noduri se obine o mprire i o regrupare a indivizilor n jurul norilor. Se
calculeaz din nou noduri reprezentative ale claselor astfel formate i se repet
pasul pn cnd calitatea mpririlor nu a se mai mbuntete.
Funciile principale utilizate sunt:
determinarea distanei dintre un individ i un nod;
asocierea a k noduri la o mprire n k clase;
msurarea calitii mpririi.
Aplicnd aceste funcii unui numr cunoscut de clase i de noduri se obin
clasificrile. La fel ca i n cazul metodei centrelor mobile, mprirea final
depinde de alegerea iniial a nodurilor. Pentru a limita acest inconvenient, se
procedeaz la mai multe alegeri ale nodurilor de plecare i se compar rezultatele
finale obinute. Indivizii care au fost clasai ntotdeauna mpreuna definesc formele
tari care reprezint prile ntr-adevr omogene ale ansamblului de indivizi.
Numrul formelor puternice trebuie s fie diferite de k.
Metodele de mprire permit tratarea rapid a marilor ansambluri de
indivizi, dar se consider c numrul de clase k este fixat. Dac acest numr nu
corespunde configuraiei adevrate a norului de indivizi se obin mpriri de valori
ireale. n aceste cazuri se ncearc diferite valori ale lui k, ceea ce face s creasc

Metode statistice n analiza software

timpul de calcul. Cnd numrul elementelor colectivitii analizate nu este mare,


este avantajos s se utilizeze metode ierarhice de clasificare.
Principiul metodelor ierarhice sau ascendente, const n a constitui un ir
de mpriri n n clase, n-1 clase, n-2 clase, , 1 clas. Acestea sunt corelate ntre
ele prin faptul c mprirea n k clase este obinut regrupnd doua din clasele
mpririi n k+1 clase. n total vor exista n-2 mpriri de determinat, deoarece
mprirea n n clase este aceea n care fiecare individ este izolat i mprirea ntr-o
clas reprezint selectarea tuturor indivizilor.
Se numete clasificare ierarhica sau ierarhie, deoarece fiecare clasa. a unei
mpriri este inclusa ntr-o clas a unei mpriri ce o precede. Seria mpririlor
obinute este reprezentat n mod normal sub forma unui arbore de clasificare
numit dendogram.
Figura 2.3 descrie seria mpririi mulimii elementelor a, b, c, d, e, f,
considernd c la fiecare pas Pasi se obin gruprile:
Pas1 - a/b/c/d/e/f
Pas2 - ab/c/d/e/f
Pas3 = ab/cd/e/f
Pas4 = ab/cd/ef
Pas5 = ab/cdef
Pas6 = abcdef

val4

val3

val1 val2 val3 val4

val2
val1
a

Figura 2.3 Exemplu de clasificare ierarhic

Loturi de programe

Se observ ca fiecarei mpriri, din ierarhia precedenta, i corespunde o


valoare numerica, vali. Aceste valori reprezint nivelurile de agregare la care au loc
regruprile. Cu ct valoarea este mai mare cu att prile regruprilor sunt mai
omogene dect clasa curent.
Cunoscnd arborele de clasificare este uor de fcut mprirea ntr-un
numr mai mare sau mai mic de clase, fiind necesar secionarea arborelui la o
nlime stabilit. Ramurile de la acel nivel descriu gruprile elementelor.
Principala dificultate, a clasificrii ierarhice const n a defini criteriul de
grupare a doua clase, adic definirea distanei dintre ele. Toi algoritmii de
clasificare ierarhic se deruleaz n acelai fel. n fiecare etap se caut cele mai
apropiate dou clase. Odat gsite, acestea sunt selectate i grupate, iar procedeul
continu pn cnd rmne o singur clas.
Pentru distane euclidiene se utilizeaz criteriul distanei statice sau a
minimei variane [VOIN02]. Cnd distanele sunt neeuclidiene exist diferite
strategii de clasificare, dac nu se produse inegalitatea d(a,b) d(a,c) + d(b,c)
pentru o serie de puncte a, b, c, d, noiunea de inerie nu mai are sens i nu
dispunem de un criteriu pentru a calcula distana ntre dou clase.
Cele mai utilizate formule pentru a calcula distana d(A, B), ntre dou
subclase, A i B sunt:
` criteriul celui mai apropiat vecin;

d ( A, B) = min d (ei , e j ), cu e i A, e j B
` criteriul celui mai ndeprtat vecin;

d ( A, B) = max d (ei , e j ), cu ei A, e j B
` criteriul distanei medii

d ( A, B) =

1
PA PB

d (e , e ) , cu e A, e
i =1 j =1

Prima formula tinde s favorizeze regruparea ntre dou clase, din


momentul n care ele au puncte apropiate. Riscul este de a gsi ntr-o singura clasa
j puncte foarte deprtate. Aceast distana este utilizat datorit proprietilor sale
matematice.

Metode statistice n analiza software

A doua formul, n lipsa unei metode a saltului minimal, necesita ca


punctele cele mai ndeprtate, deci toate punctele, s fie relativ apropiate.
Distana medie ofer un compromis ntre primele doua.
n funcie de formula aleasa se ajunge la ierarhii diferite. De aceea este
recomandat ca n practic s se foloseasc mai multe tipuri de clasificare asupra
aceluiai ansamblu.
Pentru ca ierarhiile obinute s nu fie diferite, nu trebuie s existe variaii
mari n partea superioara a arborelui.
Daca se constat diferene mari, aceasta se datoreaz faptului c grupul de
indivizi nu poate fi supus oricrei clasificri.
Una din principalele dificulti ale clasificrii const n a defini distanele
sau neasemnrile ntre indivizi, mai ales cnd acetia sunt descrii prin
caracteristici calitative.
Se consider setul de 50 de programe caracterizate prin numrul de linii
surs i numr de operanzi al textelor surs, descris n tabelul 2.18. n vederea
realizrii unei analize statistice, pe baza acestor variabile, trebuiesc construite loturi
de programe omogene. Pentru aceasta se utilizeaz o metod de clasificare
ierarhic, n care distanele sunt euclidiene, iar metoda de clasificare este cea a
minimelor variane.
Set de fiiere descrise prin numrul de linii surs i numr de operanzi
Tabel 2.18

Program Numr linii surs Numr operanzi


P1
50
11
P2
71
35
P3
166
22
P4
91
39
P5
186
33
P6
157
17
P7
194
12
P8
177
23
P9
172
14
P10
86
18
P11
197
14
P12
192
44
P13
171
23
P14
155
15

Loturi de programe

Program Numr linii surs Numr operanzi


P15
84
30
P16
61
34
P17
110
34
P18
123
39
P19
99
35
P20
185
25
P21
71
31
P22
128
17
P23
114
14
P24
50
32
P25
132
34
P26
150
19
P27
71
34
P28
194
13
P29
71
22
P30
179
16
P31
136
16
P32
121
44
P33
167
17
P34
115
24
P35
120
31
P36
102
15
P37
52
19
P38
66
23
P39
176
32
P40
103
28
P41
115
37
P42
86
33
P43
169
25
P44
55
17
P45
105
30
P46
78
33
P47
94
26
P48
142
20
P49
119
21
P50
109
22

Metode statistice n analiza software

Prin prelucrarea datelor se obine arborele ierarhic din figura 2.4.


DIAGRAMA ARBORE
DISTANTE
0.000
1000.000
1+-44+ |
||
37- |
+--------------24- |
|
+-|
|
16-||
|
+|
2-|
|
||
|
27+|
|
++
|
21-|
|
|
|
29-|
|
+|
38|
+----------------------------------------46|
|
+|
|
15+|
|
|
||
|
|
42-|
|
|
+----|
|
4-| |
|
|
|| |
|
|
19+| |
|
|
++ |
|
|
45+| |
|
|
|| |
|
|

Loturi de programe

40-|
|
36-|
+47+
|
10-

|
|
|

|
|
|

|
|

|
|
|

|
|
+----------23- |
+-- |
49+ | |
|| |
34+ | |
|| |
50- | |
+---17- |
||
41+ |
+-|
35-||
+25-|
+18+
|
3222+31+|
||
48-|
+------26-|
|
+- |
14+
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+-----|
|
|
|
|
|
|
|
|

Metode statistice n analiza software

|
6-

|
|
|
+-------------------------------------------------11|
+--- |
28+ | |
| | |
7- | |
+----13- |
| |
43+ |
| |
3+ |
| |
33+ |
+--|
9+ ||
| ||
30+ ||
| ||
8- ||
+20- |
||
5+ |
+-|
39-||
+12-Figura 2.4 Arborele ierarhic al datelor din tabelul 2.18
Pe baza arborelui din figura 2.4 se definesc trei loturi de programe
omogene.

Loturi de programe

Loturile omogene astfel obinute sunt analizate utiliznd analiza factorial


i de corespondene ntre variabile. Cele dou abordri sunt complementare, analiza
factorial permind, o interpretare rapid n funcie de caracteristicile loturilor.

2.5 Planificarea experimentelor pentru loturi


Scopul analizei software este de a crea imaginea produsului software din
punctul de vedere al caracteristicilor de comportament software, prin valorile pe
care le au pe durata execuiilor. Descrierea astfel obinut permite productorilor i
utilizatorilor s cunoasc performanele acestuia i constituie baza de pornire a
procesului de mbuntire.
Nivelurile msurate ale caracteristicilor sunt rezultatul aciunii simultane a
unui numr finit de factori, ntre care exist corelaie structural-funcional.
Fiecare, determin o anumit variaie a caracteristicilor produsului program. Pentru
a evidenia efectul influenei factorilor asupra acestora se efectueaz o serie de
experimente.
Prin utilizarea experimentului se realizeaz o testare controlat a aplicaiei
ntr-un mediu bine definit. Avnd avantajul cunoaterii exacte a nivelului fiecrui
factor i a obiectivelor urmrite, analistul este atent la modul cantitativ i calitativ
n care sunt afectate caracteristicile.

F1

Valoarea caracteristicii msurate ca


funcie de aciunea factorilor
E(F1, F2, , Fn)

Fn
Figura 2.5 Influena factorilor asupra valorii variabilei dependente

Dac se consider programul P i se dorete mbuntirea duratei de


execuie, se construiete un experiment n care sunt variai factorii legai de:
tipul i numrul datelor de intrare;
algoritmii implementai pentru diferite operaii: preluare date de intrare,
prelucrare date, afiare rezultate;

Metode statistice n analiza software

platforma hardware sau software;


urmrindu-se la fiecare rulare nivelul duratei de execuie. Experimentul se repet n
mod succesiv pn la obinerea valorii optime a caracteristicii cercetate.
n analiza cantitativ a dinamicii proceselor se consider factorii F1, F2, , Fn
fiecare dintre ei fiind caracterizai prin nivelurile l1, l2, , lm. Nivelul li al
factorului cercetat reprezint valoarea posibil pe care acesta o are la nceputul
testrii. Dup numrul factorilor luai n considerare, experimentele sunt:
unifactoriale, n care se studiaz aciunea separat a unui factor;
multifactoriale, n care intervin mai muli factori ce descriu niveluri de
interaciune.
Se pune problema obinerii de loturi care s acopere comportamentul
tuturor construciilor de factori, care s conin combinaia optim de influene
singulare sau compuse. Deci trebuie s:
se determine modelul matematic asociat relaiilor dintre variabilele
independente i variabila independent;
se gseasc nivelul fiecrui factor astfel nct asocierea lor s permit
obinerea rezultatului optim.
Dac se consider caracteristica analizat , Y, i factorii de care depinde F1,
F2, , Fn atunci modelul matematic, E, are forma general:
Y = E(F1, F2, , Fn)
iar gsirea combinaiei cutate de valori ale factorilor const n determinarea
coeficienilor funciei:
n

i =1

i< j

i =1

y = b 0 + bi xi + bij xi x j + bii xi2


n care:
n numrul de factori;
y variabila rezultativ;
xi factorii luai n considerare;
bi coeficienii funciei.
Prin determinarea coeficienilor de regresie b0, bi, bij, bii ecuaia este
folosit pentru a determina valoarea caracteristicii, Y, n funcie de nivelurile
cunoscute ale factorilor.

Loturi de programe

Pentru aceasta se utilizeaz experimente n care factorii sunt modificai n


cadrul limitelor definite anterior i care corespund condiiilor de execuie a
produsului program. Experimentele reprezint metode utile ce permit, cu un volum
de informaii redus, realizarea de estimri la valorilor variabilei rezultative sau la
efectul factorilor. De asemenea descriu aciunea simultan a setului de factori.
Experimentul este caracterizat de numrul n al factorilor considerai,
precum i de numrul m de niveluri al fiecrui factor. n funcie de aceste elemente,
n practic sunt utilizate experimente:
` cu n factori cu cte dou niveluri, adic experimente de tipul 2n;
` cu n factori cu numr de niveluri diferite.
Desfurarea experimentului se rezum la operaia de determinare a tuturor
combinaiilor posibile de factori n funcie de nivelurile acestora. Procesul continu
cu testarea lor prin obinerea valorilor variabilei dependente i verificarea soluiei
optime.
Dac n general sunt considerai n factori fiecare avnd dou niveluri,
atunci numrul de perechi de niveluri testate este N = 2n. n cazul n care cei n
factori au p niveluri, cu p > 2, numrul perechilor crete la N = pn. Prin mrirea lui
p, se ajunge la valori ale lui N foarte ridicate, lucru care complic procesul de
calcul i interpretare a rezultatelor. n aceste cazuri se folosesc experimente
fracionate [BARO76], pentru c:
necesit resurse umane i materiale mai mici;
numrul sczut al efectelor interaciunilor permit interpretarea
rezultatelor.
Experimentele utilizate n mod curent n practic conin maxim doi sau trei
factori ce au cte dou niveluri, adic experimente de tipul 22 sau 23.
Pentru un experiment de tipul 22 se consider factorii F1 i F2 care au
nivelurile:
F1 : {a, b}
F2 : {w, z}
Nivelurile a, b, w, z reprezint valori numerice sau calitative ce descriu
variaia factorilor F1 i F2 ntre dou limite: superioar i inferioar.
Planificarea experimentelor presupune definirea la intrare a perechilor de
valori pe care le au cei doi factori. Prin realizarea tuturor combinaiilor posibile ale
nivelurilor celor doi factori se obin experimentele din tabelul 2.19.

Metode statistice n analiza software


Planificarea experimentelor prin determinarea combinaiilor de niveluri
Tabel 2.19

Experiment Factor F1 Factor F2


e1
a
w
e2
b
w
e3
a
z
e4
b
z
n care:
ei
experimentul asociat unei combinaii de niveluri;
a, b nivelurile factorului F1;
w, z nivelurile factorului F2.
Considernd nivelul superior al factorului F1 valoarea b, respectiv y pentru
factorul F2, experimentele conin combinaiile:
e1 ambii factori la niveluri inferioare;
e2 factorul F1 modificat, factorul F2 la nivel inferior;
e2 factorul F2 modificat, factorul F1 la nivel inferior;
e4 ambii factori modificai.
Pentru analiza combinaiilor se realizeaz NR repetri ale experimentului,
nregistrndu-se de fiecare dat n tabelul 2.20 valoarea obinut pentru
caracteristica Y.
Valorile caracteristicii analizate, obinute prin repetarea experimentelor

Tabel 2.20
Numr repetare Experiment Experiment Experiment Experiment
e1
e2
e3
e4
1
ye11
ye21
ye31
ye41
2
ye12
ye22
ye32
ye42

I
ye1i
ye2i
ye3i
ye4i

e1
e2
e3
NR
y NR
y NR
y NR
ye4NR

Loturi de programe

n care:
NR numrul de repetri al experimentului;
yeji valoarea caracteristicii analizate, obinut pentru combinaia de
factori a experimentului ej.
Pe baza datelor din tabelul 2.21 se determin mediile valorilor yeji pe
combinaiile posibile ale experimentelor. Relaia utilizat este:
NR

y j =

Sunt

determinate

valorile

y
i =1

ej
i

NR

medii

y e1 , y e2 , y e3 , y e4 asociate fiecrui

experiment.
Obinerea valorilor medii pentru seriile de valori nregistrate de
caracteristica Y cu diferite combinaii de niveluri ale factorilor este utilizat pentru
descrierea sumar a fenomenului. nelegerea acestuia n totalitate este corelat cu
determinarea efectelor factorilor [BARO76].
Efectul principal al factorului F1 este media rezultatelor obinute ca urmare
a modificrii nivelului factorului F1, din care se scade media rezultatelor obinute
cnd factorul F1 nu s-a modificat, sau are un nivel inferior. Determinarea acestui
efect se face prin folosirea relaiei:

EF (F1 ) =

(y

F1 ( F2 )

+ y F1F2
2

) (y

F2 ( F1 )

+ y( F1F2 )

unde:
EF(F1) efectul principal al factorului F1;

y F1 ( F2 ) media rezultatelor obinute pentru experimentul n care, factorul


F1 este modificat i are nivel superior, iar factorul F2 are nivel
inferior;

y F1F2

media rezultatelor obinute pentru experimentului n care ambii


factori sunt caracterizai de niveluri superioare;

Metode statistice n analiza software

y F2 ( F1 ) media rezultatelor obinute pentru experimentul n care, factorul


F2 era nivel superior, iar factorul F1 este nemodificat, avnd nivel
inferior.

y( F1F2 ) media rezultatelor obinute pentru experimentului n care ambii


factori au niveluri inferioare.
Rezult c efectul modificrii factorului F1 reprezint media a dou efecte:
efectul modificrii factorului F1 n condiiile n care nivelul factorului F2
nu se modific sau este inferior. Acesta este descris de relaia:

F1 ( F2 ) = y F1 ( F2 ) y( F1F2 )
efectul modificrii nivelului factorului F1 n condiiile n care se
modific i nivelul factorului F2, determinat prin relaia:

F1F2 = y F1F2 y F2 ( F1 )
Deci, efectul principal al factorului A este obinut prin formula:

EF (F1 ) =

(y

F1 ( F2 )

y( F1F2 )
2

) (y

F1 F2

y F2 ( F1 )
2

)= y

F1 ( F2 )

+ y F1F2 y( F1F2 ) y F2 ( F1 )
2

Efectul principal al factorului F2, EF(F2), este media rezultatelor obinute


ca urmare a modificrii nivelului factorului F2, din care se scade media rezultatelor
obinute cnd factorul F2 nu s-a modificat, sau are un nivel inferior. Relaia
asociat este:

EF (F2 ) =

(y

F2 ( F1 )

+ y F1F2
2

) (y

F1 ( F2 )

+ y( F1F2 )
2

unde EF(F2) reprezint efectul principal al factorului F2.

Loturi de programe

Efectul interaciunii dintre factori reprezint jumtate din diferena dintre


efectul factorului F1 msurat la nivelul superior al factorului F2 i efectul aceluiai
factor msurat la nivelul inferior al factorului F2, adic:

EF (F1 F2 ) =

(y

F1 F2

+ y( F1F2 )
2

) (y

F1 ( F2 )

+ y F2 ( F1 )

unde EF(F2) reprezint efectul principal al factorului F2.


ntr-un program de experimente 22 exist 22-1 consecine:
un efect principal al factorului F1;
un efect principal al factorului F2;
un efect al interaciunii de doi factori;
Modelul matematic asociat experimentului este:

yij = + i + j + ( )ij + ij
unde:

yij

este valoarea observat a caracteristicii analizate;

valoarea mediei generale;

efectul factorului F1, cu i = {a, b};

efectul factorului F2, cu j = {x, y};

( )ij

efectul interaciunii dintre factori;

ij

reprezint eroarea de observaie.

Odat determinate efectele factorilor, testarea ipotezelor referitoare la


acestea se face utiliznd analiza dispersional bifactoriale, fiecrui efect
corespunzndu-i gradele de libertate:
nglF1 = EF(F1) 1, nglF2 = EF(F2) 1, i nglF1F2 = (EF(F1) 1)( EF(F2) 1)
Se consider programul P pentru care productorul urmrete
mbuntirea timpului de obinerea a rezultatului. n acest sens se planific o serie
de experimente care s evidenieze influena tipului datelor de intrare i a

Metode statistice n analiza software

modalitii de preluare a acestora prin metode de citire a datelor. Factorii analizai


sunt:
F1 tipul datelor de intrare i este caracterizat de dou niveluri n funcie
de spaiul de memorie ocupat de o variabil din tipul respectiv;
datele mai difer ntre ele i prin formatul de reprezentare, dar se
alege aceast caracteristic comun pentru a asigura comparabilitatea
lor;
F2 modalitatea de preluarea a datelor prin intermediul perifericelor.
Nivelul inferior corespunde procesului de introducere a datelor de la
tastatur, iar cel superior este asociat scanerului; nivelurile reprezint
coeficieni de rapiditate a introducerii datelor determinate pe un set
omogen de nregistrri;
Cum experimentul este de tipul 22, exist 4 testri ce corespund
combinaiilor de nivelurile descrise n tabelul 2.21.
Planificarea experimentelor asociate programului P

Experiment

e1
e2
e3
e4

Factor F1
Tipul
datelor
2
4
2
4

Factor F2
Modul de introducere a
datelor
1
1
3
3

Tabel 2.21
Durat de execuie
medie
25
46
29
31

Consecinele ale modificrii factorilor sunt:


` efectul schimbrii factorului F1, spaiul ocupat de date se modific de la
2 octei la 4 octei, asupra duratei de execuie este:
EF(F1) =

(46 + 31) (29 + 25) = 11,5


2

Loturi de programe

` efectul modificrii factorului F2, pentru preluarea datelor se utilizeaz


scanerul, asupra duratei de execuie este:

EF(F2) =

(29 + 31) (25 + 46) = -5,5


2

interaciunea dintre factori:

EF(F1F2) =

(31 + 25) (29 + 46) = -9,5


2

Testarea ipotezelor referitoare la cele trei efecte se face utiliznd analiza


dispersional bifactoriale, fiecrui efect corespunzndu-i gradele de libertate
nglF1 = EF(F1) 1, nglF2 = EF(F2) 1, i nglF1F2 = (EF(F1) 1)( EF(F2) 1).

n cazul n care numrul factorilor este mare se impune efectuarea unei


selecii ale combinaiilor n aa fel nct numrul de experiene s scad
semnificativ i s se realizeze planuri pariale, dar volumul rezultatelor obinute s
fie nealterat.

2.6 Concluzii
Obiectivele analizei statistic a produselor program constau n:
evidenierea nivelurilor caracteristicilor software luate n considerare;
determinarea factorilor de influen ai valorilor rezultate;
obinerea descrierii complete i obiective a programului analizat sau a
colectivitii n care este integrat;
descrierea relaiilor dintre factori;
explicarea comportamentului aplicaiei;
dezvoltarea de metode de mbuntire a performanelor.

Metode statistice n analiza software

Pentru aceasta, n primele etape ale analizei trebuie selectate produsele


program ce sunt descrise de nivelurile eseniale ale caracteristicilor considerate.
Realizarea unui lot de programe omogen i reprezentativ pentru ntregul set,
garanteaz obinerea celor mai bune rezultate, n condiiile aplicrii corecte a
metodelor de analiz. Dar, analiza software lipsit de un astfel de lot conduce cu
siguran la o nereuit.
Importana construirii lotului de programe supus analizei software este
evideniat i de numeroasele metode i tehnici statistice de sondaj i de estimaie,
[MIHO77], ce descriu cele mai bune abordri a problemei.

S-ar putea să vă placă și