21.01.2015 Views

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 ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

112 <strong>Meranie</strong> a životný cyklus softvéru<br />

z existujúcich programov –„meračov“ zdrojového textu alebo si môžeme<br />

napísať vlastný.<br />

Tento spôsob počítania riadkov má však jednu veľkú nevýhodu –<br />

citlivosť na formátovanie zdrojového textu. Programátori, ktorí píšu<br />

viacej rozptýlený kód, dosiahnu väčšiu hodnotu LOC ako programátori,<br />

ktorí píšu zhustene. Preto je vhodné zaviesť štandard počítania riadkov<br />

zdrojového textu, ktorý pokryje rôzne formátovanie. Umožní zhromaždiť<br />

údaje, ktoré potrebujeme na efektívne odhadovanie veľkosti.<br />

Programátori si budú môcť navzájom porovnávať svoje merania.<br />

Park ustanovil smernice pre meranie veľkosti programu [Park92].<br />

V zdrojovom texte procedurálneho programu môžeme identifikovať 5<br />

typov príkazov: vykonateľné príkazy, deklarácie, direktívy prekladača,<br />

komentáre a prázdne riadky. Príkazy a riadky môžu vzniknúť<br />

programovaním (písaním), generovaním automatickým generátorom<br />

zdrojového textu alebo kopírovaním (znovupoužitím časti zdrojového<br />

textu bez zmeny).<br />

Najjednoduchší spôsob určovania veľkosti je počítanie fyzických<br />

riadkov zdrojového textu. Jeden fyzický riadok sa rovná jednému<br />

príkazu. Oddeľovačom je špeciálny znak alebo dvojica znakov (newline<br />

alebo carriage return–line feed). Tento oddeľovač nezávisí od<br />

programovacieho jazyka, ale od použitého operačného systému.<br />

Keď chceme počítať logické príkazy, musíme presne stanoviť, kde<br />

príkaz začína a kde končí. Na to slúžia oddeľovače príkazov (angl.<br />

statement delimiters). Počítanie logických príkazov (inštrukcií) nezávisí<br />

od fyzickej formy, v akej sa príkazy objavia. Tento spôsob počítania závisí<br />

menej od programátorského štýlu ako počítanie fyzických riadkov.<br />

Nezávisí od konvencií pomenovania – dlhé názvy nezvyšujú počet<br />

príkazov. Závisí však od použitého programovacieho jazyka.<br />

Nevýhodou tohoto spôsobu počítania je ťažkosť definovania<br />

oddeľovačov. Park uvádza takýto príklad. Koľko logických príkazov je v<br />

nasledujúcom fragmente zdrojového textu<br />

if A then B else C endif;<br />

Keď kládol túto otázku, zistil, že programátori vnímajú pojem logický<br />

príkaz rôzne [Park92]. Najviac z nich (53 %) videlo v uvedenom<br />

fragmente tri príkazy. Avšak dosť veľká časť opýtaných (21 %) ho<br />

považovala za jediný príkaz. V skutočnosti ide o dva a viac príkazov podľa<br />

toho, čo je C.<br />

Halsteadove metriky<br />

Zdrojový text počítačového programu predstavuje vlastne sekvenciu<br />

symbolov, pričom každý symbol môžeme zaradiť medzi operátory alebo<br />

operandy [Richta98].<br />

Medzi operátory patria kľúčové slová, aritmetické symboly, zátvorky,<br />

operátory porovnania a iné symboly (napr. čiarka a bodkočiarka). Medzi

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!