9. Softv‚rov‚ metriky a merania ------------------------------- Metriky je mo§n‚ definovaœ ako krit‚ri  urŸuj£ce atrib£ty softv‚rov‚ho projektu [Fenton:1991]. Stanovovanie hodn“t tìchto krit‚ri¡ (meranie) predstavuje z kladnì predpoklad pre riadenie projektu a zabezpeŸenie projektu proti zlyhaniu. Metriky umo§åuj£ hodnotenie vytv ran‚ho produktu, procesu vytv rania produktu ako aj postupu pr c na projekte. Potreba pou§itia zmysluplnìch metr¡k sa pociœovala dlhçiu dobu. Zaveden¡m merania bolo a je mo§n‚ odstraåovaœ r“znorod‚ probl‚my softv‚rov‚ho in§inierstva tak v oblasti managementu, ako aj v oblasti vlastn‚ho vìvoja softv‚ru. V oblasti managementu je mo§n‚ identifikovaœ nasledovn‚ oblasti uplatnenia softv‚rovìch metr¡k: - defin¡cia pou§¡vate–skìch po§iadaviek vo forme merate–nìch atrib£tov produktu, Ÿ¡m je mo§n‚ predch dzaœ potenci lnym nedorozumeniam - poskytovanie kvantifikovate–n‚ho preh–adu pre podporu rozhodovania - vytv ranie presnejç¡ch odhadov o rozpoŸte a d’§ke trvania bud£cich projektov - lepçie pochopenie podstaty kvality softv‚rovìch produktov s n slednìm zvyçovan¡m ich kvality - preh–adnejç¡ vìvoj softv‚ru a skorçia identifik cia potenci lnych probl‚mov na z klade meranìch hodn“t vybranìch atrib£tov charakterizuj£cich projekt - vyhodnocovanie vplyvu novìch zav dzanìch met¢d a podpornìch prostriedkov na produktivitu pr ce a kvalitu produktu - zvyçovanie produktivity jednotlivcov i celìch pracovnìch kolekt¡vov Pri vlastnom vìvoji softv‚ru je mo§n‚ vyu§iœ metriky nasledovne: - vytv ranie presnejç¡ch odhadov o d’§ke jednotlivìch modulov, resp. o d’§ke k¢du potrebn‚ho na splnenie danej po§iadavky - hodnotenie efekt¡vnosti mo§nìch testovac¡ch strat‚gi¡ - identifik cia potenci lne chybovìch a kritickìch modulov - zlepçovanie spo–ahlivosti a udr§ovate–nosti softv‚rovìch produktov Po definovan¡ cie–ov projektu je potrebn‚ tieto ciele postupne transformovaœ do metr¡k, tzn. merate–nìch charakterist¡k syst‚mu. Prev dzan¡m meran¡ vybranìch ukazovate–ov je mo§n‚ sledovaœ plnenie cie–ov. Jednìm z pr¡kladov £speçnej aplik cie softv‚rovìch metr¡k do praxe m“§e byœ Hewlett-Packard. Po zaveden¡ metr¡k umo§åuj£cich meranie produktu a procesu vìvoja softv‚ru je mo§n‚ identifikovaœ vìraznì n rast produktivity, ako aj pokles chybovosti produktov, Ÿo n sledne viedlo k zlepçeniu postavenia na trhu. OBR.9.1. ilustruje vìvoj uvedenìch charakterist¡k. OBR.9.1. Hewlett-Packard 9.1. Defin¡cia z kladnìch pojmov -------------------------------- Z h–adiska zavedenia z kladnìch pojmov je mo§n‚ meranie definovaœ nasledovne: Meranie je proces empirick‚ho a objekt¡vneho priraÔovania Ÿ¡sel alebo symbolov entit m za £Ÿelom deskripcie alebo charakteriz cie urŸit‚ho atrib£tu danej entity. Dan  defin¡cia vy§aduje bli§çie vysvetlenie jednotlivìch pojmov. Pod entitou budeme rozumieœ objekt alebo udalosœ, ktor‚ho chasrakteristiku budeme meraœ. Pod atrib£tom budeme rozumieœ crtu, charakteristiku alebo vlastnosœ entity, ktor  n s zauj¡ma. Pod objektivitou merania budeme rozumieœ skutoŸnosœ, §e vlastnì proces merania mus¡ vych dzaœ z presne definovan‚ho pravidla. V praxi objektivita znamen , §e meranie mus¡ byœ nez visl‚ od toho, kto meranie vykon va. Rovnako proces merania mus¡ byœ opakovate–nì. Pri vìbere atrib£tu je potrebn‚ urŸiœ s‚mantiku meran‚ho atrib£tu. Pri meran¡ je d“le§it‚ nielen z¡skanie hodnoty atrib£tu, ale aj n sledn  interpret cia nameranej hodnoty: - vìsledok IQ testu reprezentuje inteligenciu, verb lne schopnosti, schopnosœ rieçiœ probl‚my ? - n jden‚ chyby za jednotku Ÿasu reprezentuj£ kvalitu testovania alebo spo–ahlivosœ k¢du ? V praxi sa pou§¡vaj£ dva typy meran¡. Priame meranie je zalo§en‚ na mo§nosti priameho z¡skania hodnoty sledovan‚ho atrib£tu (napr. poŸet riadkov programu). Pri priamom meran¡ nie je potrebn‚ z¡skavaœ hodnoty inìch atrib£tov. Nepriame meranie je zalo§en‚ na mo§nosti odvodenia hodnoty meran‚ho atrib£tu z inìch atrib£tov, ktor‚ je mo§n‚ meraœ priamo (napr. udr§ovate–nosœ programu je mo§n‚ meraœ Ÿasom potrebnìm na odstr nenie chyby). Pri vlastnom meran¡ sa teda z¡skavaj£ hodnoty inìch atrib£tov. Meranie je mo§n‚ dalej klasifikovaœ z poh–adu odhadu a predikcie. Odhad sl£§i na priame meranie atrib£tu, alebo na nepriame meranie atrib£tu pomocou existuj£cich atrib£tov. Predikcia sl£§i na predpovedanie hodnoty atrib£tu, ktorì v s£Ÿasnosti existuje, pomocou atrib£tov, ktor‚ u§ existuj£. Neexistencia meran‚ho atrib£tu odliçuje predikciu od nepriameho merania. Oba tieto pr¡stupy vçak vych dzaj£ z modelu z vislosti meran‚ho atrib£tu od inìch atrib£tov. D“le§itou charakteristikou ka§dej metriky je relevatnosœ, akìm zachyt va sledovanì atrib£t. Metriku nazìvame platnou, ak spr vne postihuje meranì atrib£t. Pri meran¡ je potrebn‚ reprezentovaœ vìsledok merania na stupnici, aby tento vìsledok bolo mo§n‚ v bud£cnosti spracov vaœ. V praxi sa pou§¡va p„œ r“znych typov meran¡: - nomin lne - ordin lne - intervalov‚ - pomerov‚ - absol£tne Nomin lne merania predstavuj£ meranie na najjednoduchçej stupnici. S£ ekvivalentn‚ klasifik cii. Nomin lne meranie, tzn. nomin lnu stupnicu je mo§n‚ charakterizovaœ nasledovne: - hodnotami s£ klasifik cie ent¡t - nad hodnotami nie je definovanì pojem usporiadania - nie je definovanì pojem nuly - ako hodnoty je mo§n‚ pou§iœ –ubovo–n‚ Ÿ¡sla alebo symboly - hodnota Ÿ¡sel nem  vìznam, preto aj najjednoduchçie - oper cie ako sŸ¡tanie a odŸ¡tanie s£ nezmyseln‚ Pr¡klady: - çtartovn‚ Ÿ¡sla pretek rov - farba  ut: Ÿerven  = 1 alebo Ÿerven  = 7 modr  = 2 modr  = 4 in  = 3 in  = 11 Ordin lne merania predstavuj£ rozç¡renie nomin lnych meran¡ o usporiadanie nad hodnotami meracej stupnice. Ordin lnu stupnicu je mo§n‚ charakterizovaœ nasledovne: - klasifikuje a usporiadava entity - nie je definovanì pojem "vzdialenosti" medzi entitami - nie je definovanì pojem nuly - ako stupnica m“§e byœ pou§it  lubovo–n  mno§ina s usporiadan¡m (symboly aj Ÿ¡sla) - hodnoty stupnice reprezentuj£ usporiadania, preto oper cie sŸ¡tania a odŸ¡tania nemaj£ zmysel Pr¡klady: - hviezdiŸky na vìlo§k ch - tabu–ka poradia atl‚tov - tabu–ka ve–kost¡ oblekov Intervalov‚ merania predstavuj£ dosœ silnì prostriedok, hoci sa nepou§¡vaj£ pr¡liç casto. Intervalov£ stupnicu je mo§n‚ charakterizovaœ nasledovne: - definovan‚ usporiadanie nad prvkami stupnice - definovan‚ vzdialenosti medzi prvkami stupnice - nie je definovanì pojem absol£tnej nuly - ako stupnicu je mo§n‚ vybraœ lubovo–n£ mno§inu prvkov s definovanìm usporiadan¡m a rovkakìmi vzdialenosœami medzi prvkami - keÔ§e neexistuje nula, oper cie n sobenia a delenia nemaj£ zmysel. Opr cie sŸ¡tania a odŸ¡tania vçak zmysel maj£. Pr¡klady: - letopoŸet, kde nula je definovan  ako zaŸiatok letopoŸtu (0 AD) - teplotn‚ stupnice: Celsiova, Fahrenheit Pomerov‚ merania s£ ve–mi Ÿast‚ vo vede. Pomerov£ stupnicu je mo§n‚ charakterizovaœ nasledovne: - definovan‚ usporiadanie - definovan‚ vzdialenosti medzi hodnotami - pojem absol£tnej nuly existuje - prvky zaŸ¡naj£ od absol£tnej nuly a zv„çŸuj£ sa po rovnakìch intervaloch - existencia nuly rob¡ oper cie sŸ¡tania a odŸ¡tania zmysluplnìmi Pr¡klady: - meranie rìchlosti v km/h - teplota v Kelvinovej stupnici - meranie Ÿasovìch intervalov (s, min, hod) Absol£tne merania predstavuj£ najvyçç¡ typ meracej stupnice. Je ekvivalentn‚ spoŸ¡tavaniu. Charakteristiky pou§itia absol£tnej stupnice s£ nasledovn‚: - atrib£t m  znak spoŸ¡tate–nosti - iba jedna metrika zachyt va atrib£t spr vne - vçetky matematick‚ oper cie s£ zmyslupln‚ Pr¡klady: - spoŸ¡tavanie riadkov zdrojov‚ho k¢du (LOC) Pri meran¡ je d“le§it‚ spracovanie vìsledkov viacerìch merac¡ch experimentov. Z tohoto h–adiska je pou§itie çtatistickìch met¢d nevyhnutn‚. Pou§itie çtatistickìch met¢d bìva ovplyvnen‚ typom stupnice. Pre ordin lnu a nomin lnu stupnicu, nad ktorou nie s£ definovan‚ §iadne aritmetick‚ oper cie, nie je mo§n‚ pou§itie be§nìch çtatistickìch met¢d. Pr¡kladom m“§e byœ vìpoŸet aritmetick‚ho priemeru. ætatistika tento vìpoŸet definuje nasledovne: Priemer = Suma a /n i Takìto sp“sob vìpoŸtu priemernej hodnoty je neaplikovate–nì pre ordin lnu alebo nomin lnu stupnicu. V tomto pr¡pade je pre ordin lnu stupnicu mo§n‚ pou§iœ pojem medi nu definovan‚ho ako prvok, ktorì del¡ mno§inu hodn“t na Ÿasti s rovnakìm poŸtom prvkov. Pre nomin lnu stupnicu je mo§n‚ definovaœ pojem najŸastejçej hodnoty. Pri çtatistickom spracovan¡ je Ÿastokr t potrebn‚ pracovaœ s distrib£ciou £dajov. Mnoho analytickìch techn¡k vy§aduje norm lnu distrib£ciu hodn“t a existencia inej ako norm lnej distrib£cie m“§e vìsledky analìz silne skresliœ. Graf norm lnej distrib£cie je ilustrovanì na OBR.9.2. OBR.9.2. - norm lna distrib£cia Mnoh‚ metriky vçak nemaj£ norm lnu distrib£ciu. UveÔme pr¡klad distrib£cie hodn“t priemernìch z robkov v çt te, ilustrovanì na OBR.9.3. OBR.9.3. - distrib£cia z robkov V tomto pr¡pade je priemernì plat skreslenì vysokìmi z robkami, Ÿ¡m d va nereprezentat¡vnu charakteristiku danej mno§iny £dajov. Pri vìbere analytickej met¢dy je teda potrebn‚ uv §iœ distrib£ciu hodn“t a met¢du vyberaœ na z klade jej citlivosti k danej distrib£cii. 9.2. Strat‚gia zav dzania metr¡k do praxe ----------------------------------------- Pri zav dzan¡ metr¡k do praxe a pred vlastnìm procesom z¡skavania £dajov je potrebn‚ zodpovedaœ na nasleduj£ce ot zky: - preŸo chceme z¡skavaœ a zhroma§Ôovaœ udaje za £Ÿelom merania, tzn. definovaœ ciele - ak‚ d ta je potrebn‚ z¡skavaœ a zhroma§Ôovaœ za £Ÿelom dosahovania cie–ov - akìm sp“sobom budeme z¡skavaœ a zhroma§Ôovaœ £daje - akìm sp“sobom budeme analyzovaœ a vyhodnocovaœ z¡skan‚ udaje Stanovenie cie–ov m“§e byœ r“zne pre management a pre vlastnìch tvorcov syst‚mu. Od çpecifickìch po§iadaviek bud£ z visieœ sledovan‚ atrib£ty, a tìm aj £daje, ktor‚ je potrebn‚ zhroma§dovaœ. V z vislosti od hodn“t metr¡k je mo§n‚ n sledne vykon vaœ rozhodovanie a in‚ akcie, ktorìch cie–om je odstr nenie existuj£cich odchìlok hodn“t metr¡k od ide lnych, resp. po§adovanìch hodn“t. Uvedenì proces je ilustrovanì na OBR.9.4. OBR.9.4. od cie–ov k akci m V softv‚rovìch projektoch s£vis¡ defin¡cia cie–ov priamo so sledovan¡m vybranìch charakterist¡k projektu. Niektor‚ z tìchto cie–ov uvedieme podrobnejçie: predikcia n kladov a Ÿasovìch harmonogramov vy§aduje uchov vanie £dajov o podobnìch projektoch z minulosti. Rovnako je potrebn‚ vytvoriœ model, pre predikciu n kladov a Ÿasu pre bud£ce projekty. Meranie tìchto charakterist¡k u projektov umo§åuje vytv raœ presnejçie odhady pre bud£ce projekty. vyhodnocovanie a porovn vanie met¢d predstavuje jednu z najvìznamnejç¡ch motiv ci¡ pre pou§itie merania. Za £Ÿelom vyhodnotenia novej met¢dy alebo prostriedku je potrebn‚ meraœ produktivitu pr ce a kvalitu vytv ran‚ho produktu. Bez zodpovedaj£cej formy merania nie je mo§n‚ rozhodn£œ, Ÿi dan  met¢da je dobr  alebo zl  (ako tomu bolo v pr¡pade zavrhnutia GOTO pr¡kazu). vylepçovanie kvality produktu predstavuje pomerne v gny cie–. Do modelu kvality je mo§n‚ zahrn£œ spo–ahlivosœ, udr§ovate–nosœ a jednoduchosœ pou§¡vania. Pre dan‚ atrib£ty, pokia– nie s£ priamo merate–n‚, je potrebn‚ vytvoriœ samostatn‚ modely. Vylepçovanie tìchto atrib£tov ni§çej £rovne povedie k vylepçovaniu kvality. identifik cia modulov s vysokou pravdepodobnosœou chìb m“§e spoŸ¡vaœ vo ve–kom rozsahu k¢du, zlej testovate–nosti, alebo malom poŸte koment rovìch riadkov. zvyçovanie produktivity spoŸ¡va v definovan¡ pojmu produktivity. Zvyçovanie poŸtu produkovanìch riadkov k¢du bez sledovania kvality m“§e maœ pr ve opaŸnì £Ÿinok. Po definovan¡ cie–ov je potrebn‚ vytvoriœ model meran‚ho atrib£tu. Model je v tomto pr¡pade podobnì modelu pou§¡vanom pri nepriamom meran¡ alebo predikcii. Pr¡klad tak‚hoto modelu pre maranie kvality produktu je ilustrovanì na OBR.9.5. OBR.9.5. - model merania atrib£tu kvality Medzi modelmi pou§¡vanìmi k nepriamym meraniam a predikci m a modelmi pre dosahovanie cie–ov existuje nieko–ko podstatnìch rozdielov. Najz va§nejç¡m rozdielom je, §e modely pre dosahovanie cie–ov, na rozdiel od modelov nepriamych meran¡, nevy§aduj£ defin¡ciu vzœahu medzi cie–om a jednotlivìmi atrib£tmi. Tieto vzœahy postaŸ¡ pop¡saœ kvalitat¡vne: vysok  stredn  doba poruchy --L vysok  kvalita n¡zka stredn  doba opravy --L vysok  kvalita vysok  jednoduchosœ pou§itia --L vysok  kvalita vysok  jednoduchosœ dokument cie --L jednoduch‚ pou§itie vysok  jednoduchosœ helpov --L jednoduch‚ pou§itie Model pre dosahovanie cie–a obsahuje dekompoz¡ciu cie–a a§ na £roveå priamo merate–nìch £dajov (metr¡k). Meranie je teda aktivita, ktor£ je mo§n‚ charakterizovaœ GQM pr¡stupom (Goal Questiion Metric). 9.3. Softv‚rov‚ in§inierstvo a metriky -------------------------------------- Pri aplik cii merania a metr¡k v softv‚rovom in§inierstve je vhodn‚ definovaœ model tohoto procesu. Jeden z mo§nìch modelov je ilustrovanì na OBR.9.6. OBR.9.6. - model procesu tvorby softv‚ru Zdroje vstupuj£ce do procesu tvorby programov predstavuj£ napr. po§iadavky, person l, hardv‚r, softv‚rov‚ prostriedky, kni§niŸn‚ zdroje a mnoh‚ Ôalçie. Zdroje predstavuj£ vçetko to, Ÿo sa v procese vìvoja softv‚ru po§aduje, alebo spotrebov va. Proces predstavuje vlastn£ transform ciu zdrojov do vìsledn‚ho produktu. Proces je mo§n‚ deliœ na viacero et p, z ktorìch ka§d  m  vlastn‚ zdroje, medzi ktorìmi je i produkt predch dzaj£cej etapy, a vlastnì produkt. Tento model je ilustrovanì na OBR.9.7. OBR.9.7. - produkty, procesy, zdroje v procese vìvoja softv‚ru Produkt predstavuje ka§dì vìstup procesu vìvoja softv‚rov‚ho syst‚mu. Produktom m“§e byœ zdrojovì k¢d, vykonate–nì k¢d, dokument cia, protokoly o testovan¡ atÔ. Pre sledovanie vlastnost¡ zdrojov, procesu a produktu je mo§n‚ pou§iœ r“zne typy metr¡k. Najpou§¡vanejçie z nich s£ ilustrovan‚ na OBR.9.8. OBR.9.8. - z kladn‚ metriky Jednotlivìm metrik m sa budeme venovaœ podrobnejçie. 9.3.1. Metriky pre produkt -------------------------- Metriky pre produkt predstavovali historicky prv£ skupinu pou§¡vanìch metr¡k. Vlastnosti produktu, ako ve–kosœ a zlo§itosœ, sa merali u§ dlhç¡ Ÿas. Atrib£ty produktu je mo§n‚ rozdeliœ na intern‚ a extern . K internìm charakteristik m produktu patr¡: - rozsah - zlo§itosœ - modul rnosœ (mo§nosœ op„tovn‚ho pou§itia, viazanosœ, koh‚zia, zlo§itosœ modulu) K externìm charakteristik m produktu patria: - doba odozvy - spo–ahlivosœ - testovate–nosœ - pou§ite–nosœ - udr§ovate–nosœ V skupine externìch charakterist¡k je mo§n‚ identifikovaœ ve–k£ skupinu kvalitat¡vnych charakterist¡k. Pre jednotliv‚ atrib£ty produktu podrobnejçie pop¡çeme r“zne metriky, ich vìznam a mo§n‚ vyu§itie. 9.3.1.1. Intern‚ metriky produktu --------------------------------- Rozsah produktu - d’§ka k¢du ---------------------------- Pod produktom v tejto Ÿasti budeme pokladaœ vìstup ka§dej etapy §ivotn‚ho cyklu. Implicitne sa produktov rozumie program. Produktom vçak budeme rozumieœ aj vytvoren£ specifik ciu, dokument ciu a Ôalçie. Z kladnìm atrib£tom charakterizuj£cim produkt je jeho rozsah. Rozsah produktu priamo ovplyvåuje Ôalçie atrib£ty ako cena, zlo§itosœ, produktivita a testovate–nosœ, preto sa Ÿasto pou§¡va ako hrubì indik tor uvedenìch charakterist¡k. Rozsah produktu patr¡ k jednìm z prvìch metr¡k. Rozsah produktu sa vo v„Ÿçine pr¡padov rozŸleåuje na viacero metr¡k. NajŸastejçie sa pou§¡vaj£: - ve–kosœ - funkcionalita - zlo§itosœ Najjednoduchçou metrikou rozsahu produktu je jeho ve’kosœ, ktor£ je pre program mo§n‚ definovaœ ako d’§ku zdrojov‚ho k¢du. I t to na prvì poh–ad jednoduch  defin¡cia m“§e obsahovaœ nejednoznaŸnosti, preto je potrebn‚ defin¡ciu spresniœ najm„ s oh–adom na: - pr zdne riadky - koment rov‚ riadky - direkt¡vy kompil tora - umiestnenie viacerìch pr¡kazov v jednom riadku Konzistentn  defin¡cia d’§ky k¢du je nevyhnutnì predpoklad pre mo§nosœ porovn vania dvoch odliçnìch Ÿast¡ k¢du, mo§no z £plne inìch projektov. V praxi sa pou§¡vaj£ nasledovn‚ defin¡cie metr¡k pre d’§ku zdrojov‚ho k¢du: - KDSI - tis¡ce dodanìch zdrojovìch inçtrukci¡ - NCLOC - nekomentovan‚ riadky zdrojov‚ho k¢du - poŸet bytov potrebnìch pre uchovanie programu - poŸet znakov v texte programu - poŸet str n listingu Vìber konkr‚tnej metriky z vis¡ na tom, preŸo chceme meraœ d’§ku zdrojov‚ho k¢du. Zauj¡mavou chrakteristikou je d’§ka dokument cie. Pod–a Watsona a Felixa je mo§n‚ d’§ku dokument cie definovaœ nasledovne: 1.01 D = 49*L kde D je d’§ka dokument cie v stran ch a L je d’§ka k¢du v tis¡coch riadkov. Definovanie rozsahu produktu v riadkoch k¢du m  nieko–ko vìhod, ale aj nevìhod. Medzi vìhody patria: - jednoduchosœ a çirok  pou§ite–nosœ - existencia datab z historickìch £dajov - umo§åuje automatick‚ sledovanie Medzi nevìhody patria: - rozdielnosœ mo§nìch defin¡ci¡ d’§ky v riadkoch - nekonzistentnosœ indik cie skutoŸn‚ho rozsahu - potreba urŸovania na z klade n vrhu - œa§kosti v porovn van¡ pri pou§it¡ r“znych programovac¡ch jazykov Rozsah produktu - function points (funkcionalita) ------------------------------------------------- Pre meranie rozsahu zalo§enom na funkcionalite çpecifik ci¡ sa Ÿastokr t pou§¡va metrika "function points", ktor  predstavuje alternat¡vu k meraniu rozsahu pomocou d’§ky k¢du. T to metrika je zalo§en  na urŸen¡ naslednìch z kladnìch charakterst¡k çpecifik cie: A - poŸet externìch vstupov (napr. vstupov od pou§¡vate–ov) B - poŸet externìch vìstupov (napr. vìstupnìch zost v) C - poŸet dotazov (napr. reakci¡ na extern‚ podnety, transakci¡) D - poŸet externìch s£borov (napr. interfejsov na okolit‚ syst‚my) E - poŸet internìch s£borov (napr. internìch datab z) Pre ka§d£ z tìchto charakterist¡k je potrebn‚ definovaœ mieru jej zlo§itosti v konkr‚tnej çpecifik cii. Pre urŸovanie miery zlo§itosti sa pou§¡vaj£ tri druhy ohodnotenia: jednoduch‚, priemern‚ a zlo§it‚. Pre ka§d£ charakteristiku sa jednotlivìm £rovniam zlo§itosti priraÔuj£ numerick‚ hodnoty, ktor‚ s£ ilustrovan‚ na OBR.9.9. OBR.9.9. - function points Priradenie funkŸnìch bodov konkr‚tnej çpecifik cii, tzn. priradenie numerickej hodnoty meran‚mu atrib£tu, sa prev dza pod–a nasledovn‚ho vzorca: Suma poŸet charakterist¡k x zlo§itosœ charakteristiky Pou§itie funkŸnìch bodov na meranie rozsahu produktu m  taktie§ nieko–ko vìhod a nevìhod. Medzi vìhody patr¡: - mo§nosœ odvodenia priamo zo çpecifik cie - nez vislosœ na programovacom jazyku a technol¢gii - orientovan‚ na pou§¡vate–sk‚ posudzovanie rozsahu syst‚mu Medzi nevìhody tohoto pr¡stupu patr¡: - obtia§nosœ urŸenia charakterist¡k - urŸenie zlo§itosti elementu v danej charakteristike je subjekt¡vne - nie je mo§n‚ automatizovaœ - obtia§ne pou§iœ pri op„tovnom pou§¡van¡ k¢du (reuse of code) Zlo§itosœ produktu ------------------ Okrem rozsahu produktu bìvaj£ dalç¡mi metrikami produktu vìpoŸtov  zlo§itosœ a algoritmick  zlo§itosœ. VìpoŸtov  zlo§itosœ je mierou zlo§itosti rieçen‚ho probl‚mu. T to metrika je u§itoŸn  pri predikcii najlepçieho mo§n‚ho spr vania sa, resp. vìkonnosti syst‚mu. Existuj£ matematick‚ met¢dy, umo§åuj£ce urŸiœ zlo§itosœ z kladnìch typov probl‚mov. Algoritmick  zlo§itosœ predstavuje atrib£t algoritmu, tzn. logiky rieçenia probl‚mu. Je mo§n‚ ju vyjadriœ v CPU Ÿase a v pam„œovìch n rokoch. Algoritmick  zlo§itosœ sl£§i na predikciu spr vania sa syst‚mu pracuj£ceho na z klade dan‚ho algoritmu. Algoritmick  zlo§itosœ je taktie§ predmetom vìskumu matematiky. Metriky zalo§en‚ na grafickìch modeloch --------------------------------------- V poslednej dobe sa zameriava pozornosœ na meranie rozsahu, zlo§itosti a Ôalç¡ch internìch charakterist¡k produktu pomocou grafickìch modelov. Grafick‚ modely sa pri analìze Ÿasto vyu§¡vaj£ na reprezent ciu toku riadenia, toku £dajov a spr vania sa syst‚mu. Mo§no ich preto pou§iœ nie len na meranie rozsahu programu, ale aj pre çpecifik ciu (vìsledok analìzy) a n vrh. Pr¡klad grafickej reprezent cie toku riadenia je ilustrovanì na OBR.9.10. OBR.9.10. - grafick  reprezent cia toku riadenia Grafick  reprezent cia d va prijate–nì poŸet atrib£tov, z ktorìch je mo§n‚ odv dzaœ odhad rozsahu programu. Odhad vykon me pre program ilustrovanì na OBR.9.10: - poŸet uzlov grafu 10 - poŸet hr n grafu 11 Òalçia skupina met¢d merania zlo§istosti a rozsahu je zalo§en  na dekompoz¡cii grafu na prvografy (primes). Prvograf je definovanì ako s£vislì graf, ktorì nie je mo§n‚ dalej dekomponovaœ. Dekompoz¡cia grafu na prvografy je ilustrovan  na OBR.9.11. OBR.9.11. - dekompoz¡cia na prvografy Z dekompoz¡cie na prvografy je mo§n‚ odvodiœ dalçiu skupinu metr¡k pre diagramy toku riadenia a diagramy toku d t: - najv„Ÿç¡ prvograf - maxim lna h’bka vnorenia prvografov Grafick£ reprezent ciu toku riadenia (vìvojovì diagram) je mo§n‚ pou§iœ pre urŸenie d’§ky produktu. Jedna z mo§nìch metr¡k je: v(F) = p + 1 kde p reprezentuje poŸet procedur lnych uzlov vo vìvojovom diagrame. Pri vìpoŸte zlo§itosti pomocou tejto met¢dy je mo§n‚ vyu§iœ dekompoz¡ciu grafu na prvografy. Zauj¡mavì pr¡stup predstavuje McCabeho cyklomatick  komplexita vych dzaj£ca z vìvojovìch diagramov. T to metrika je zalo§en  na poŸte line rne nez vislìch ciest v programe. Vìsledkom jeho pr c bolo, §e §iadna Ÿasœ k¢du by nemala maœ cyklomatick£ komplexitu v„Ÿçiu ako 10. Cyklomatick£ komplexitu grafu je pomerne jednoduch  vypoŸ¡taœ: cyklomatick  komplexita = poŸet hr n - poŸet uzlov + 2 Pre graf na OBR.9.10. je mo§n‚ na z klade tohoto vzorca definovaœ cyklomatick£ komplexitu 3. T to metrika je vhodnìm indik torov testovate–nosti, hoci jej vìznam ako indok tor zlo§itosti je spornì. D“le§itou aplik ciou grafickìch pr¡stupov s£ testovacie strat‚gie, najm„ testovanie pomocou bielej skrinky. Pri vyu§it¡ dekompoz¡cie grafu na prvografy je mo§n‚ definovaœ poŸet testov potrebnìch na £plne pokrytie grafu, ako ilustruje OBR.9.12. OBR.9.12. - pokrytie grafu testami Metriky pre dokumenty v prirodzenom jazyku ------------------------------------------ Òalçou ve–kou skupinou produktov s£ dokumenty vytv ran‚ v prirodzenom jazyku, napr. technick  dokument cia syst‚mu. Ako z kladn‚ metriky tìchto produktov je mo§n‚ pou§iœ: - poŸet slov alebo poŸet str n - poŸet syntaktickìch chìb - priemern  d’§ka vety Tieto metriky je mo§n‚ n sledne vyu§iœ ako indik tory atrib£tov ako kvalita a £roveå porozumite–nosti. 9.3.1.2. Extern‚ metriky produktu --------------------------------- Modularita ---------- "Glob lna" modularita syst‚mu m“§e byœ posudzovan  r“znymi sp“sobmi. ¬asto sa pre ohodnotenie modularity pou§¡va kombin cia nasledovnìch metr¡k: moduly moduly M1 = ----------- M2 = ---------- proced£ry premenn‚ V r mci modularity s£ zauj¡mav‚ dve Ôalçie charakteristiky: vz jomn  v„zba a koh‚zia modulov. Vz jomn  v„zba (coupling) definuje stupeå vz jomnej z vislosti modulov. Stupeå vz jomnej v„zby c medzi modulmi x a y je mo§n‚ urŸiœ pomocou vzœahu: n c(xy) = i + ------- n + 1 kde n reprezentuje poŸet prepojen¡ medzi modulmi x a y. Parameter i je Ÿ¡slo zodpovedaj£ce najhorçiemu typu v„zby medzi modulmi x a y. Toto Ÿ¡slo sa urŸuje nasledovne: 5. obsahov  v„zba 4. glob lna v„zba 3. riadiaca v„zba 2. parci lna d tov  v„zba 1. d tov  v„zba 0. §iadna v„zba Glob lnu v„zbu C v celom syst‚me S je mo§n‚ vypoŸ¡taœ ako medi n mno§iny jednotlivìch medzimodul rnych v„zieb: C(S) = medi n { c(M ,M ):1<=i