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 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
102 <strong>Meranie</strong> a životný cyklus softvéru<br />
Zložitosť informačných tokov (information flow)<br />
V [Henry81] je vytvorený model pre počítanie zložitosti modulu, ktorý<br />
berie do úvahy veľkosť modulu a jeho údajové prepojenie s ostatnými<br />
časťami systému. Zložitosť systému je definovaná nasledovným vzťahom:<br />
Zložitosť = dĺžka * (Fan-In * Fan-Out) 2<br />
Chápanie veličiny dĺžka, vystupujúcej vo vzťahu pre zložitosť podľa<br />
[Henry81], zodpovedá definícii veľkosti podľa [Briand a kol., 1995]. Ako<br />
hodnota tejto veličiny sa môže použiť niektorá z metrík pre veľkosť.<br />
Niekedy sa ako dĺžka používa McCabeho cyklomatická zložitosť (pozri<br />
ďalej) [Karkas98].<br />
Fan-In a Fan-Out predstavujú počet informačných tokov z iných<br />
modulov do daného, resp. z daného modulu do iných. Pod informačným<br />
tokom sa myslí vzťah medzi parametrami/premennými daného<br />
a ostatných modulov.<br />
Táto metrika bola overená na meraní systému typu UNIX. Záverom<br />
bolo, že jej použitím sa môžu v systéme identifikovať moduly náchylné k<br />
chybám. Zvýšená hodnota zložitosti informačných tokov sa vyskytla u<br />
modulov, s ktorými skutočne boli problémy a vyžiadali si väčší počet<br />
zmien.<br />
Cyklomatická zložitosť (cyclomatic complexity) (McCabe)<br />
Metrika cyklomatickej zložitosti vychádza z reprezentácii štruktúry<br />
systému pomocou orientovaného grafu. Založená je na meraní počtu<br />
lineárne nezávislých ciest v grafe. Cyklomatická zložitosť systému<br />
reprezentovaného grafom G sa počíta pomocou jednoduchého vzťahu:<br />
v(G) = počet hrán - počet uzlov + 2p,<br />
kde p je počet prepojených uzlov v grafe G.<br />
Takto definovaná zložitosť nespĺňa axiómy pre zložitosť uvedené v<br />
[Briand a kol., 1995], ale upravená hodnota v(G)-p tieto predpoklady<br />
spĺňa. Upravená cyklomatická zložitosť nedáva výrazne odlišné výsledky<br />
od pôvodnej, najmä pri rozsiahlejších systémoch [Briand a kol., 1995].<br />
Cyklomatickú zložitosť je možné použiť na získanie relatívnej<br />
zložitosti rozličných návrhov, čo je použiteľné pri rozhodovaní medzi<br />
alternatívami návrhu. Aplikovaním metriky je tiež možné ohodnotiť<br />
oblasti systému podľa toho, koľko námahy a zdrojov im je potrebné<br />
venovať v ďalších fázach vývoja. Prednosťami tejto metriky sú jej<br />
jednoduchosť a možnosť aplikácie v skorých fázach vývoja systému.<br />
Nedostatkom je, že sa skúma iba zložitosť riadiacich tokov a zložitosť<br />
dátových tokov sa zanedbáva.