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

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.

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

Saved successfully!

Ooh no, something went wrong!