Microsoft Word - Hitka - esej2011_06-is-xhitka.doc

Podobné dokumenty
Sablona prispevky MSI

Microsoft Word - Fabik - esej2011_18-is-xfabik.doc

Sablona prispevky MSI

Sablona prispevky MSI

Microsoft Word - msipaper63-lamos.doc

NSK Karta PDF

Snímka 1

Sablona prispevky MSI

Sablona prispevky MSI

Sablona prispevky MSI

Sablona prispevky MSI

Microsoft Word - Bartalos.doc

Style Sample for C&N Word Style Sheet

Microsoft Word - msipaper44-hlavacek.doc

msipapersource34-gablovsky

Sablona prispevky MSI

NSK Karta PDF

msipapersource54-fabik

Sablona prispevky MSI

Manažment v Tvorbe Softvéru 2018/2019

Snímka 1

Microsoft Word - Kocian - esej2011_13-is-xkocianr.doc

TA

Microsoft Word - Lajcin - esej2011_07-si-xlajcin.doc

Nová éra Microsoft Dynamics 365 v IT spoločnosti GAMO Vďaka dodanému riešeniu sme pomohli zlepšiť fungovanie kľúčových oblastí

Teória pravdepodobnosti Zákony velkých císel

Microsoft Word - Pavlech - esej2011_02-is-xpavlechl.doc

Reálnosť využitia RFID technológie pre identifikáciu poštových prepraviek (a ďalšie súvislosti)

4-david-msipapersource10.doc

2-gono-msipapersource36.doc

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Metodika archivácie verzií HW Tímový projekt Stratos FIIT M

Microsoft PowerPoint - OOP_prednaska_10.pptx

Rada Európskej únie V Bruseli 20. apríla 2015 (OR. en) 8005/15 FIN 279 SPRIEVODNÁ POZNÁMKA Od: Dátum doručenia: 17. apríla 2015 Komu: Kristalina GEORG

Rozdeľovanie IT zákaziek UX Peter Kulich

Prezentácia programu PowerPoint

NSK Karta PDF

Sablona prispevky MSI

Microsoft Word - Jaroszewicz - esej2011_08_15_xjaroszewicz.docx

Snímka 1

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx

Microsoft Word - 18.doc

msipapersource02-gregor

Moderne projekty v biznis suvislostiach-1

6 Kapitola 6 Výsledky vyšetrení počas projektov Lekári idú do ulíc a MOST 2008 Počas mesiacov júl a august v rámci projektu Lekári idú do ulíc a počas

Microsoft Word - Vacula - esej2011_04-si-xvacula.doc

Prezentácia programu PowerPoint

Sablona prispevky MSI

NSK Karta PDF

Microsoft Word - Ivanec - esej2011_16-si-xivanec.doc

iot business hub whitepaper isdd_em_New.pdf

PowerPoint Presentation

SRPkapitola06_v1.docx

Prítomnosť príbuzných postihnutého pri kardiopulmonálnej resuscitácii

Microsoft Word - RolyRiadeniaZmien_V1.doc

NSK Karta PDF

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Ročníkový projekt (1) Herňa Študijný odbor: Aplikovaná informatika Autor :

Snímka 1

gis5 prifuk

Inflácia Nezamestnanosť

Microsoft Word - msipaper70-lencucha.doc

PM pre Automotive a vyrobu-1

Microsoft Word - a13_45.SK.doc

2.4 Audit založený na rizikách V roku 2007 ukončil IFAC práce na projekte zameranom na implementáciu ISA v podmienkach malých a stredných podnikov. Je

C(2014)5449/F1 - SK

?SPEÐNOS? PROJEKTOV SYSTÉMOVEJ INTEGR?CIE

Microsoft PowerPoint - 1_eSO1

Chemical Business NewsBase

Program hospodárskeho a sociálneho rozvoja obce

IMPLEMENTÁCIA SOFTVÉRU V PROCESE TVORBY A VYHODNOCOVANIA INVESTIČNÝCH ZÁMEROV SOFTWARE IMPLEMENTATION IN PROCESS OF INVESTMENT PLANS CONSTRUCTION AND

Microsoft Word - šaderová-LM.doc

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Prezentácia programu PowerPoint

SMART Brain-worksopy-1

Príloha k príkazu generálneho riaditeľa Sociálnej poisťovne č. 2/2018 Popis a zodpovednosti rolí v rámci projektového riadenia (1) Riadiaci výbor proj

6

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Zápisnica zo stretnutia #4 Tím sixpack Bc. Jozef Blažíček B

Špecifikácia testu zo SJL pre T Príloha 1 Špecifikácia testu zo slovenského jazyka a literatúry pre celoslovenské testovanie žiakov 9. ročníka Z

ČG_O.L

Snímka 1

Microsoft Word - Krajcovic - Esej2011_10-si-xkrajcovic.doc

EURÓPSKA KOMISIA V Bruseli C(2018) 6560 final ANNEX 1 PRÍLOHA k vyoknávaciemu rozhodnutiu Komisie, ktorým sa stanovuje metodika monitorov

KVALITA SOFTVÉRU

SK01-KA O1 Analýza potrieb Zhrnutie BCIME tím Vyhlásenie: "Podpora Európskej komisie pre výrobu tejto publikácie nepredstavuje súhlas

Snímek 1

Microsoft Word - Manazment_projektov_tim24_tema12_2017.docx

Princípy tvorby softvéru Modelovanie domény

msipapersource61-petras

STRUČNÝ NÁVOD KU IP-COACHU

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

IAB budicek - Branding Landscape & Research options_FINAL_Gregor.pptx

Snímka 1

Modelovanie nového produktu na trhu: Bassov model Beáta Stehlíková Cvičenia z časových radov, FMFI UK Modelovanie nového produktu na trhu: Bassov mode

Technický informačný list WPC 05 TEPELNÉ ČERPADLÁ ZEM-VODA VÝROBOK Č.: Tepelné čerpadlo zem voda WPC patrí k najúčinnejším tepelným čerpadlám n

NSK Karta PDF

Príloha č. 2 Vyzvania pre finančné nástroje OP KŽP OPKZP-PO4-SC411/421/ FN Zoznam povinných merateľných ukazovateľov Operačný program Prioritn

1

SPRINT 2

ISO Systémy manažérstva proti korupcii Svetový deň normalizácie 2018 Miroslav HRNČIAR Žilinská univerzita v Žiline

Prepis:

AKO VHODNE KOMBINOVAŤ SOFTVÉROVÉ METRIKY? Keď jedna metrika nestačí... Matúš Hitka Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava mhitka@gmail.com Abstrakt. Meranie v softvérovom projekte je najlepším spôsobom na určenie stavu projektu počas jeho realizácie. Na meranie v softvérovom projekte slúžia rôzne metriky. Avšak výpovedná hodnota jednotlivých metrík môže byť skreslená najmä efektom, že samotné meranie má vplyv na psychiku človeka. Môže to viesť až k takým extrémom, že sa vývoj produktu začne orientovať na dosiahnutie lepších výsledkov merania a nie na dosiahnutie určitého cieľa. V tejto eseji rozoberám vhodnosť a použiteľnosť troch často používaných softvérových metrík: počet riadkov kódu (LOC), funkčné body a hustota chýb. Každá z týchto metrík má svoje výhody, ale i nevýhody. Ani jedna z nich však nepokrýva všetky etapy vývoja softvérového produktu. Preto je potrebné ich vhodne skombinovať. Kľúčové slová: meranie v softvérovom projekte, metrika, počet riadkov kódu (LOC), funkčné body, hustota chýb Úvod Monitorovanie projektu slúži nie len na určenie stavu projektu počas jeho realizácie, ale i na skvalitnenie riadenia. Nezameriava sa len na kontrolu vykonanej práce či splnenie cieľov. Vďaka monitorovaniu sa môžu včas identifikovať prichádzajúce problémy a prijať potrebné opatrenia, aby negatívne vplyvy na priebeh projektu boli čo najmenšie. Stav projektu je možné určiť jednoducho tak, že sa porovná súčasný stav s predchádzajúcim stavom. Pri softvérovom projekte to však nie je jednoduché, pretože niekedy je problematické: Manažment projektov softvérových a informačných systémov, 2011, s. 1-5

2 Matúš Hitka určiť charakteristiky, ktoré reprezentujú jeho stav správne vyhodnotiť tieto charakteristiky Na meranie v softvérovom projekte sa používajú softvérové metriky. Medzi základné a často používané metriky patrí: počet riadkov kódu, metóda funkčných bodov či hustota chýb, ale aj mnoho ďalších. Zároveň však treba mať na mysli, že samotné meranie môže negatívne vplývať na psychiku človeka, ktorý sa začne sústrediť na dosiahnutie lepších výsledkov merania a nie na dosiahnutie cieľa. Výpovedná hodnota metriky teda nemusí odrážať skutočný stav vykonanej práce. Vybrané metriky Na pokrytie celého procesu vývoja softvérového produktu som sa rozhodol použiť 3 hlavné metriky, ktoré podrobnejšie rozoberám: počet riadkov kódu funkčné body hustota chýb Počet riadkov kódu Obľúbenou a veľmi často používanou metrikou je počet riadkov kódu (LOC). Používa sa najmä na sledovanie vykonanej práce a produktivity, ale taktiež je pomocou nej možné odhadnúť čas, ktorý je potrebný na dokončenie projektu. C. Jones vo svojej práci [2] tvrdí, že je hazardné používať metriku, ktorá penalizuje vysoko úrovňové programovacie jazyky, čo je prípadom metriky LOC. Cena jedného riadku kódu vo vysoko úrovňovom jazyku je podstatne nižšia ako cena riadku v nižšom jazyku napriek tomu, že s produktivitou práce je to naopak. Vo vyššom jazyku vývoj aplikácie zaberie podstatne menej času ako v nižšom jazyku. Nevhodné použitie metriky LOC môže taktiež viesť programátora k tomu, že začne písať riedke kódy, aby dosiahol dobré výsledky merania. Prestane sa sústrediť na to, ako čo najefektívnejšie dosiahnuť splnenie úlohy. Ďalším negatívnym ukazovateľom tejto metriky je, že niekedy nehovorí nič o vykonanej práci. Pri optimalizovaní programu sa môže stať, že sa viac riadkov programu zmaže ako pridá. Ak by sa produktivita práce merala výlučne len počtom riadkov kódu, programátor by mal za dané obdobie optimalizácie nulovú produktivitu, pričom hodnota jeho práce vzhľadom na vyvíjaný produkt môže byť veľmi vysoká. Preto je potrebné pri tejto metrike zaznamenávať aj popis vykonanej práce a pri vyhodnocovaní brať tento ukazovateľ do úvahy. Osobne si myslím, že používanie metriky LOC ako smerodajného ukazovateľa na monitorovanie projektu nie je najvhodnejšie. Avšak úplne by som túto metriku nezavrhoval. Jej hlavnou výhodou je jej jednoduchosť a možnosť automatického sledovania. Ak sa rozumne vyhodnotia jej výsledky, je možné veľmi ľahko sledovať množstvo vykonanej práce, ale aj produktivitu jednotlivých programátorov.

Ako vhodne kombinovať softvérové metriky? 3 Funkčné body Na určenie veľkosti systému sa často používa metóda tzv. funkčných bodov (anglicky function points - FP). Vychádza priamo zo špecifikácie, kde sa určí počet charakteristík produktu a miera ich zložitosti. Výsledná hodnota sa určí nasledovne: FP ( pocet_ charakteristík zložitosť_ charakteri ) = stiky Význam funkčných bodov spočíva najmä v tom, že ich počet sa nemení pri použití rozličných programovacích jazykov. Programy napísané vo vyšších jazykoch majú rovnaký počet funkčných bodov ako programy v nižších jazykoch, keďže tieto body sa určujú zo špecifikácie požiadaviek a výsledná funkcionalita produktu je rovnaká. Pomocou metódy funkčných bodov je možné určiť produktivitu práce (meranú ako počet implementovaných funkčných bodov za mesiac), ale aj cenu produktu (cena jedného funkčného bodu). Na základe priebežných výsledkov týchto meraní sa môžu presnejšie určiť odhady času potrebného na dokončenie produktu, ako aj ceny výsledného produktu. Funkčné body nie sú dokonalou metrikou, ale sú veľmi užitočné [1]. Podľa mňa ich hlavný význam spočíva v tom, že pomáhajú projektovým manažérom určiť veľkosť a zložitosť projektu ešte pred samotnou implementáciou, keďže sa určujú priamo zo špecifikácie. Taktiež je manažér schopný pomocou nich lepšie vysvetliť zákazníkovi dopad zmeny požiadavky na systém v priebehu vývoja projektu. Miernou nevýhodou tejto metriky je obtiažnosť určenia charakteristík produktu a subjektívne určenie miery zložitosti týchto charakteristík. Tieto skúsenosti musí nadobudnúť manažér časom a praxou. Ak však tento hendikep prekoná, použitie funkčných bodov prináša veľmi užitočné výsledky. Chybovosť Chybovosť produktu pokrýva fázu testovania a nasadenia aplikácie, resp. jednotlivých modulov, verzií a pod. Často sa uvádza ako hustota chýb, ktorá je určená pomerom zistených chýb produktu vzhľadom na veľkosť produktu. Veľkosť produktu býva zvyčajne určená pomocou metriky LOC alebo FP. hustota chýb= pocetchýb velkosťproduktu C. Jones [2] zastáva názor, že použitie tejto metriky nie je celkom vhodné. Svoje tvrdenie však argumentuje na príkladoch, v ktorých sú použité rozličné programovacie jazyky. Podľa mňa však pri použití konzistentného prostredia táto metrika prináša užitočné informácie. Je možné pomocou nej sledovať hustotu výskytu chýb v jednotlivých verziách programu. Návrh kombinácie jednotlivých metrík Je zrejmé, že pre uspokojenie potrieb na meranie softvérového projektu nebude stačiť použitie jednej metriky. Každá metrika má svoje pre aj proti. Ďalším faktom je, že ani

4 Matúš Hitka jedna metrika nepokrýva všetky etapy vývoja softvéru. Preto navrhujem používať nasledovnú kombináciu spomínaných metrík. Na odhad veľkosti produktu ešte pred samotnou implementáciou je vhodné použiť metriku funkčných bodov. Vychádza priamo zo špecifikácie a pomocou nej je možné naplánovať priebeh jednotlivých etáp implementácie, odhadnúť čas potrebný na vývoj projektu, ako aj jeho cenu. Pri projektoch malých až stredných rozmerov je väčšinou použité jednotné implementačné prostredie. Preto je možné použiť metriku LOC na zistenie stavu, v akom sa projekt nachádza. Avšak netreba výsledkom tejto metriky prisudzovať veľkú váhu. LOC treba brať ako taký prvotný a rýchly náhľad na to, či a ako pokročil priebeh prác v etape implementácie, najmä vďaka jednoduchosti jej merania. Ako smerodajnú metriku pre plnenie plánu v etape implementácie by som odporučil opäť použitie metriky funkčných bodov. Je z nej možné určiť, akým tempom sa doteraz vyvíjal produkt (počet implementovaných funkčných bodov za mesiac) a na základe toho presnejšie odhadnúť čas potrebný na implementáciu zvyšných funkčných bodov. V každom produkte sa vyskytujú chyby, či už vyplývajú z nesprávnej interpretácie požiadaviek alebo nevhodnej implementácie. Aby bolo možné sledovať výskyt chýb v jednotlivých verziách aplikácie, resp. v niektorých jej moduloch, je potrebné zaviesť metriku na meranie chýb. Táto metrika pokrýva etapu testovania a nasadenia aplikácie. Porovnaním hustoty chýb na funkčný bod v jednotlivých verziách aplikácie je možné zistiť, akým tempom sa jednotlivé chyby odstraňujú, či vznikajú nové chyby a pod. Jednotlivé využitie metrík je prehľadne zobrazené v Tab. 1. Tab. 1. Prehľad využitia jednotlivých metrík. Metrika Funkčné body LOC Hustota chýb Využitie Odhad veľkosti produktu Kontrola vykonanej práce počas etapy implementácie Odhad času potrebného na dokončenie produktu Rýchly náhľad pri kontrole vykonanej práce Kontrola odstraňovania chýb Záver Použitie softvérových metrík je vhodným nástrojom na meranie v projekte. Avšak použitie jednej metriky nepostačuje na celkové pokrytie merania v rámci vývoja produktu. Vhodnou kombináciou týchto metrík je možné dosiahnuť želaný efekt merania. Na odhad veľkosti produktu je vhodné použiť metódu funkčných bodov, pretože vychádza priamo zo špecifikácie. Na sledovanie postupu prác počas implementácie je vhodné použiť ako východiskovú metriku opäť metódu funkčných bodov, ale na rýchly náhľad postačuje aj metrika LOC, najmä vďaka svojej jednoduchosti. Etapu testovania a nasadenia aplikácie pokrýva hustota chýb.

Ako vhodne kombinovať softvérové metriky? 5 Použitá literatúra 1. Furey, S.: Why we should use function points. [online] Software, IEEE, vol.14, no.2, pp.28, 30, Mar/Apr 1997. Dostupné z http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=582971&isnumber=12658 2. Jones, C.: Software metrics: good, bad and missing. [online] Computer, vol.27, no.9, pp.98-100, Sep 1994. Dostupné z http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=28084&tag=1 Annotation How to combine software metrics? Measurement in software project is the best way to identify project state during its realization. Software metrics are used for measurement in software projects. However, the real value of these metrics may be affected by the psychical effort of measurement on the people. This may leads to the state, when the development of product is oriented to reach better measurement result rather than to achieve a goal. In this paper I discuss suitability and usability of three frequently used software metrics: lines of code (LOC), function points and defect density. All of this metrics have their Pros and Cons. There is no metric that covers all phases of the software development. This is why it is necessary to combine them.