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.
86 <strong>Meranie</strong> v softvérovom inžinierstve<br />
možno nielen zápis programu, ale aj ďalšie produkty životného cyklu, ba<br />
dokonca aj samotný proces vývoja softvéru.<br />
Z hľadiska procesu vývoja softvéru, meranie pomáha odhadnúť<br />
časové termíny, náklady na projekt a kvalitu výsledného produktu.<br />
Pretože tieto sú v svojej podstate protikladné (a zlepšovanie dvoch vedie<br />
k zhoršovaniu tretej), treba skúmať všetky tri. Odhad nákladov vedie<br />
k potrebe určiť celkovú prácnosť potrebnú na projekt. To si žiada vedieť<br />
určiť aj produktivitu zdrojov – pričom rozhodujúcu zložku nákladov<br />
softvérových produktov tvoria ľudia. Produktivita sa chápe ako podiel<br />
„množstva“ vyprodukovaného softvéru a spotrebovaných zdrojov.<br />
Známou mierou spotrebovaných zdrojov sú „človekomesiace“ (angl.<br />
person month), miery výstupu môžu byť napr. počet riadkov<br />
vyprodukovaného zdrojového kódu alebo napr. počet funkčných bodov<br />
(odhadneme počet a zložitosť funkcií, ktoré má výsledný softvér mať).<br />
Existuje niekoľko modelov, ktoré možno použiť na odhad nákladov.<br />
Merať možno aj vyspelosť procesu – napr. model vyspelosti SEI<br />
definuje 5 stupňov, na základe ktorých možno ohodnotiť vývojový proces<br />
danej organizácie. Na základe otázok, na ktoré odpovieme áno/nie (napr.<br />
„zbierajú sa štatistiky chýb v návrhu softvéru) je vyspelosť softvérového<br />
procesu ohodnotená jedným z 5 stupňov. Na základe tejto miery potom<br />
získame predstavu, na akom stupni je náš proces momentálne a môžme<br />
naplánovať, ako dosiahnuť ďalší stupeň. Treba zdôrazniť, že podľa<br />
štatistík je väčšina softvérových firiem len na prvých dvoch najnižších<br />
stupňoch a prechod na ďalší stupeň trvá spravidla dva roky.<br />
Merať tiež môžme s motiváciou určiť prínosy rôznych techník, metód<br />
i nástrojov. Aké boli ich prínosy na výkonnosť tvorby softvéru či jeho<br />
údržbu Tieto údaje sú dôležité pre rozhodovanie vedenia, či tieto<br />
prostriedky používať<br />
Životný cyklus softvéru obsahuje nasledovné fázy: analýzu a<br />
špecifikáciu požiadaviek, návrh, implementáciu, testovanie a údržbu.<br />
V každej z nich možno využiť meranie jej produktov a ovplyvniť tak či už<br />
nasledovné fázy (rôzne odhady), alebo ako sme už spomenuli, vyhodnotiť<br />
prínosy určitých prostriedkov či použiť namerané údaje pri zhodnotení<br />
vývojového procesu.<br />
Produktom etapy analýzy a špecifikácie požiadaviek je dokument<br />
obsahujúci špecifikáciu zákazníkových požiadaviek na systém. Z neho<br />
môžme vyvodiť už spomínané funkčné body. Predstavujú predpovedný<br />
model, ktorý možno využiť najmä na odhad prácnosti. Model obsahuje<br />
niekoľko konštánt, ktoré autor (Albrecht) určil empiricky vo firme IBM.<br />
Pokiaľ na predpovedanie využijeme aj archív štatistík o starších<br />
projektoch firmy, môžme dostať pomerne presné odhady (najmä ak firma<br />
už realizovala podobný projekt). Existujú aj ďalšie miery a predpovedné<br />
modely pre odhad prácnosti, z analytického modelu možno odvodiť (resp.<br />
odmerať) aj ďalšie atribúty.