Documente Academic
Documente Profesional
Documente Cultură
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.
n lot =
2
N colectivitate z 2 Caract
2
(N colectivitate 1) 2 + z 2 Caract
unde:
Ncolectivitate dimensiunea colectivitii totale;
Caract
z
eroare X Caract
100
n care:
eroare eroarea probabil din valoarea medie;
Loturi de programe
2
max
=
(X
min
Caract
X Caract
) + (X
2
max
Caract
X Caract
unde:
2
max
min
X Caract
valoarea minim a caracteristicii de selecie;
max
valoarea maxim a caracteristicii de selecie;
X Caract
Caracteristici
carj carj+1 carncar
l1
l2
li
*
*
*
*
*
*
li+1
li+2
lnl
*
*
*
*
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
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
car1
*
*
*
*
*
car2
*
*
*
*
*
car3
*
*
*
*
*
Caracteristici
car4 car5 car6
*
*
*
*
*
*
*
*
*
*
-
car7
*
*
*
*
-
car8
*
*
*
*
-
car9
*
*
*
*
-
Element
Caracteristici
car4 car5 car6 car7 car8 car9
l1
l6
l8
l12
l15
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
l4
l7
l11
l14
*
*
*
*
*
*
*
*
l2
l10
*
*
l3
l5
l9
l13
*
*
*
*
*
*
*
*
*
*
*
*
GO =
xcar
i =1 j =1
ij
nl ncar
unde:
nl
ncar
xcarij
Loturi de programe
Colectivitate 2
Colectivitate 3
Caracteristici
carj carj+1 carncar
l1
l2
*
*
*
*
*
*
*
*
li
li+1
*
*
*
*
*
*
*
*
*
*
li+2
lnl
da
u = =1
u = =2
da
Prelucrare 1
Prelucrare 2
u==t
da
Prelucrare t
Fiier
Fs1
Fs2
Fs3
Fs4
Tip fiier
Date numerice
Text
Imagine
Sunet
Algoritm compresie
RLE
Huffman standard
Compresie aritmetic
LZW
Loturi de programe
Loturi de programe
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
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
Loturi de programe
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
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
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 ,
modulele
echivalentul
unde:
rel
C Halstead
Halstead
N Total
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;
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
unde:
NPR
tm
PRi
MDji
i
CMD
complexitatea relativ a modulului MDj pentru programul PRi.
j
Ci =
C
j =1
i
MD j
tm
(C
tm
C =
i
j =1
i
MD j
Ci
tm
Loturi de programe
iC =
Ci
100
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.
Pr2 =
(dr
ij
i =1
d rj ) 2
, cu j = 1NS
MS
unde:
MS
numrul de fiiere;
d rj
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:
Loturi de programe
rdr j / Fs =
MS
MS
MS
i =1
i =1
i =1
2
2
MS Fsi Fsi MS drij drij
i =1
i =1
i =1
i =1
unde :
MS
Fsi
dij
t j calculat =
rdr j / Fs
1 r 2 dr j / Fs
* MS 2
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
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
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.
rezultate profesionale;
lipsa unor interese de grup;
experiena.
Loturi de programe
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
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]
Tabel 2.16
Nume
Student 9
Student 14
Student 17
Student 19
Student 25
Student 27
Student 29
Student 30
Loturi de programe
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
Loturi de programe
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.
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.
val4
val3
val2
val1
a
Loturi de programe
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
Loturi de programe
Loturi de programe
40-|
|
36-|
+47+
|
10-
|
|
|
|
|
|
|
|
|
|
|
|
|
+----------23- |
+-- |
49+ | |
|| |
34+ | |
|| |
50- | |
+---17- |
||
41+ |
+-|
35-||
+25-|
+18+
|
3222+31+|
||
48-|
+------26-|
|
+- |
14+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+-----|
|
|
|
|
|
|
|
|
|
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
F1
Fn
Figura 2.5 Influena factorilor asupra valorii variabilei dependente
i =1
i< j
i =1
Loturi de programe
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 F1F2
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
EF (F2 ) =
(y
F2 ( F1 )
+ y F1F2
2
) (y
F1 ( F2 )
+ y( F1F2 )
2
Loturi de programe
EF (F1 F2 ) =
(y
F1 F2
+ y( F1F2 )
2
) (y
F1 ( F2 )
+ y F2 ( F1 )
yij = + i + j + ( )ij + ij
unde:
yij
( )ij
ij
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
Loturi de programe
EF(F2) =
EF(F1F2) =
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.