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