Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Meranie</strong> v etape návrhu 103<br />
Metrika pre zložitosť podľa [Card90]<br />
Táto metrika je navrhnutá pre počítanie zložitosti jednotlivých modulov,<br />
z čoho sa odvodí celková zložitosť systému. Autori rozlišujú tri typy<br />
zložitosti modulu:<br />
• Štruktúrna zložitosť<br />
S( i)<br />
Fan Out(<br />
i)<br />
2<br />
= − ,<br />
kde Fan-Out(i) je počet výstupných vetiev z modulu i.<br />
• Dátová zložitosť<br />
v(<br />
i)<br />
D ( i)<br />
=<br />
,<br />
Fan − Out(<br />
i)<br />
−1<br />
kde v(i) je súčet počtu premenných vstupujúcich a vystupujúcich z<br />
modulu i.<br />
• Systémová zložitosť C(i) je daná súčtom štruktúrnej a dátovej<br />
zložitosti modulu i.<br />
C ( i)<br />
= S(<br />
i)<br />
+ D(<br />
i)<br />
• Celková zložitosť modulárneho systému (overall project complexity)<br />
P je daná súčtom systémových zložitostí všetkých modulov v systéme.<br />
P = ∑C(<br />
i)<br />
i<br />
Metrika pre zložitosť podľa [Card90] nespĺňa axiómy pre zložitosť,<br />
lebo pri štrukturálnej zložitosti je hodnota Fan-Out umocnená na druhú<br />
[Briand a kol., 1995].<br />
Metriky pre zložitosť založené na teórii grafov<br />
Požitie tejto triedy metrík si vyžaduje, aby návrh systému bol<br />
reprezentovaný pomocou silne spojitého grafu (graf, pri ktorom existuje<br />
cesta medzi ľubovoľnými dvoma uzlami). Uzly v grafe reprezentujú<br />
moduly systému a hrany reprezentujú spojenia medzi modulmi. Na<br />
základe tejto reprezentácie boli navrhnuté tri metriky pre zložitosť:<br />
• Statická zložitosť, definovaná pomocou vzťahu<br />
C = E − N +1,<br />
kde E je počet hrán a N je počet uzlov v grafe.<br />
• Zovšeobecnená statická zložitosť, ktorá okrem spojení medzi<br />
modulmi berie do úvahy aj používanie zdrojov systému.<br />
C =<br />
E<br />
⎛<br />
∑⎜Ci<br />
+ ∑( d<br />
k<br />
× rki<br />
)<br />
⎝<br />
K<br />
i= 1 k = 1<br />
⎞<br />
⎟ ,<br />
⎠<br />
kde K je počet zdrojov v systéme, dk je zložitosť alokácie k-tého zdroja<br />
(napríklad zložitosť procedúry, pomocou ktorej sa alokuje daný