Upload
andrei-lavrinenco
View
214
Download
0
Embed Size (px)
Citation preview
8/15/2019 Metrici Ale Complexitatii Software (2)
1/19
UNIVERSITATEA POLITEHNICA BUCURESTI
METRICI ALE COMPLEXITATIISOFTWARE
Iliuta VirgilBalint George
GRUPA 441A
8/15/2019 Metrici Ale Complexitatii Software (2)
2/19
Metri i !o"t#are
Metricile software sunt mo ele!re"uli# folosite $entru a masura cantitati% anumitecaracteristici ale sistemelor informatice& Metricile software 'n"lo(ea)* mo ele+in icatori ,i $ro$riet*-ile acestora+ $recum ,i mo alit*-i e e%aluare ,i %ali are&Metricile software se folosesc $entru a re uce su(iecti%itatea a$recierii unui $ro"ram&
$e"initie %ate%ati a&
Metrica software este un mo el matematic e)%oltat 'n .urul unei ecua-ii e forma/
y = f( x )
Un mo el matematic cu$rin e una sau mai multe ecua-ii+ inecua-ii ,i are una sau maimulte func-ii o(iecti%+ iar rolul lui este e a escriestarea sistemuluiasociat& Metricasoftware are rolul e a m0sura o anumit0 caracteristic0 a unui $ro us $ro"ram+ lu1n
'n calcul factorii ce influen-ea)0 ni%elul caracteristicii m0surate& A$lic1n u2se tuturor $ro uselor software intr2un lot omo"en+ metrica e%ine instrumentul $rininterme iul c0ruia se efectuea)0 clasific0ri ,i ierar3i)0riale $ro uselor software& Ometric0 software este func-ie o(iecti% a mo elului matematic c0ruia 'i a$ar-ine+
ac0 $rin a$licarea ei se are 'n %e ere ma4imi)area sau minimi)area ni%eluluicaracteristicii cercetate 'n func-ie e to-i factorii einfluen-0/
f(X) < 5 sau f(X) > 6un e/
X 7 %ectorul factorilor ce influen-ea)0 caracteristica software m0surat08
5 ,i 67 ni%eluri limit0 a mise&Metrica software este restric-ie a mo elului matematic ac0 $lasea)0 ni%elul m0suratal caracteristicii 'ntr2un inter%al efinit e/
6 < f(X) < 59n tim$ ce mo elul matematic are ca o(iecti% efinirea structurii software+ metricacreea)0 con i-iile care $ermit com$ararea,i are caracter normati%
:estionarea eficient0 a oric0rui $roces necesit0 cuantificare+ m0surare+ ,imo elare& Metricile software ofer0 o (a)0 cantitati%0 $entru e)%oltarea ,i %ali areamo elelor $rocesului e e)%oltare software& Metricile $ot fi utili)ate $entru'm(un0t0-irea $ro ucti%itatii ,i calitatii software& ;e,i curent m0sur0torile ,imo elele sunt cu si"uran-0 ina ec%ate+ un numar e or"ani)a-ii au re)ultate $romi-0toare $rin utili)area lor&
8/15/2019 Metrici Ale Complexitatii Software (2)
3/19
Fun tii in'e(linite& Metricile software au rolul e a reali)a/
Fun )ia 'e %*!urare & Cu si"uran-0 cea mai im$ortant0 func-ie a metricilor software+m0surarea re$re)int0 o(iecti%ul $rinci$al 'n .urul c0ruia sunt e)%oltate acesteinstrumente& Pro usele software a$ar-in unui omeniu strict o(iecti%+ 'n care oricereali)are are fun amente matematice ,i caracteristici escrise e %alori numerice+
eci care sunt m0sura(ile ,i re$re)entate $rin numere& La (a)a tuturor in icatorilor ,ic3iar la (a)a sistemului e caracteristici e calitate efinit e stan ar ul IEEE se"0sesc atele $rimare+ o(-inute $rin sim$lele 'nre"istr0ri ale ni%elurilorcaracteristicilor software/ num0rul e linii surs0+ num0rul e rul0ri+ num0rul e erori+num0rul e instruc-iuni+ num0rul e cicluri ma,in0& Cum 'n ansam(lul anali)ei lotului
e $ro use software aceste ate sunt consi erate e (a)0+ ele sunt su$use unor $relucr0ri ulterioare $rin intro ucerea e metrici a"re"ate+ a 1ncin astfel cercetarea&Re)ultatul utili)0rii unei metrici este e4$rimat 'n unit0-i concrete e m0sur0 ,i are o $o)i-ie $recis0 'n sistemul e metrici software $rin interme iul c0ruia este escris unlot e $ro"ram&
Fun )ia 'e o%(arare & Sco$ul final al utili)0rii metricilor software este e a anali)ain $unctul e %e ere al unei caracteristici software un $ro"ram ,i e a2l com$ara cu
el 'nsu,i + 'nca r1n u2l 'ntr2o cate"orie efinit0 e $ro"rame+ sau e a2l com$ara cualte $ro use software+ $las1n u2l $e o anumit0 trea$t0 in ierar3ia software&Com$arare se re)um0 la reali)area iferen-ei 'ntre oi termeni e4$rima-i 'n aceea,iunitate e m0sur0 cu %erificarea $o)i-iei re)ultatului fa-0 e =+ sau la calculareara$ortului+ cu %erificarea $o)i-iei re)ultatului fa-0 e >&
Fun )ia 'e anali+* & Re)ult0 in orin-a e a a semnifica-ie re)ultatelor numericeo(-inute $rin a$licarea mo elelor matematice asociate metricilor& 9n finalul anali)ei+ $e (a)a numerelor o(-inute+ $ro usului software i se confer0 calit0-i ca fia(ilitate+economie e tim$+ economie e resurse+ calit0-i care sunt mult mai $uternice ,i maisemnificati%e ec1t sim$lele %alori numerice in care sunt e use&
Fun )ia 'e !inte+* & 9n situa-ia cercet0rii $e "ru$e "enerale e $ro use software+ ee4em$lu anali)a statistica a $ro"ramelor scrise 'n lim(a.ul C?? ,i Pascal+ esteim$osi(il0 %erificarea tuturor $ro"ramelor scrise 'ntr2unul in lim(a.e ,i seconstruiesc loturi omo"ene cu num0r o$tim e $ro"rame& Valorile m0surate $rinutili)area iferitelor metrici sinteti)ea)0 'ntr2o sin"ur0 e4$resie numeric0 ceea ce esteesen-ial ,i ti$ic $entru 'ntrea"a cate"orie e $ro"rame&
Fun )ia 'e e!ti%are & Metrica software+ asemenea in icatorilor statistici+ este folosit0 $entru m0surarea ten in-ei e cre,tere@sc0 ere a ni%elului caracteristicii softwarecercetate+ $lec1n u2se e la i$ote)a c0 %aria(ilele sunt acelea,i&
Fun )ia 'e ,eri"i are & Re)ultatele o(-inute a$lic1n metrica software sunt toto at0utili)ate $entru a confirma ,i 'nt0ri sau $entru a infirma conclu)iile o(-inute $rin altemeto e& Utili)area unei metrici software 'n $ractic0 im$lic0 i$ote)a %ali 0rii acesteia,i asi"urarea in e$en en-ei re)ultatelor&
8/15/2019 Metrici Ale Complexitatii Software (2)
4/19
Cri)a software tre(uie s0 fie a(or ata ,i+ in m0sura 'n care este $osi(il+re)ol%ata& Pentru a face acest lucru se necesit0 mai multe $ro"rame e4acte ,i estim0ri
e costuri+ calitate mai (un0 $entru $ro use+ ,i $ro ucti%itate mai mare& Toateacestea $ot fi reali)ate $rintr2un mana"ement software mai eficient + care+ la r1n uls0u+ $oate fi facilitat $rin utili)area e metrici software&
Mana"ementul software curent este ineficient+ eoarece e)%oltarea softwareeste e4trem e com$le4a+ ,i a%em oar c1te%a m0suri e 'ncre ere (ine efinite in $rocese sau $ro use $entru a 'n ruma ,i e%alua e)%oltarea& Estimarea eficienta sie4acta+ $lanificarea+ ,i controlul sunt a$roa$e im$osi(il e reali)at & 9m(un0t0-irea $rocesului e "estionare a lucrului e$in e e a(ilitatea 'm(un0t0-it0 e a i entifica+m0sura+ ,i controla $arametrii esen-iali ai e)%olt0rii $roceselor& Acesta este sco$ulin icatorilor Software& I entificarea ,i m0surarea sunt esen-ialii $arametri care
afectea)0 e)%oltarea e software&Metricile software ,i mo ele au fost $ro$use ,i folosite e ce%a tim$&Re)ultatele recente in ic0 c0 $unerea 'n a$licare a unei com(ina-ii 'ntre un $ro"ramsoftware si metrici $oate a.uta la atin"erea unor re)ultate mai (une+ at1t $e termenscurt !$entru un anumit $roiect# cat si $e termen lun" !'m(un0t0-irea $ro ucti%itatii $entru $roiecte %iitoare#& O mai (un0 utili)are a metricilor e4istente $are a fi unfactor im$ortant 'n re)ol%area cri)ei software2ului&
$e"initia Metri ii So"t#are
Este im$ortant s0 se efineasc0 'n continuare software-ul. 9n esen-0+ software-ul se ocu$0 cumăsurătorile $ro usului software ,i a $rocesului $rin care acesta estee)%oltat& 9n aceast0 iscu-ie+ $ro usul software ar tre(ui s0 fie $ri%it ca un o(iecta(stract care e%oluea)0 e la o eclara-ie ini-ial0 e necesitate la un sistem softwareterminat + inclusi% co ul surs0 ,i co ul o(iect ,i i%erse forme e ocumentare $ro use 'n tim$ul e e)%oltare&
9n mo o(i,nuit+ aceste sunt stu iate ,i e)%oltate $entru utili)area 'n mo elareae $rocese software& Aceste %alori ,i mo ele sunt a$oi folosite $entru a estima
antici$a costurile $ro uselor ,i s0 m0soare $ro ucti%itatea ,i calitatea $ro uselor&Informatiile o(-inute in m0sur0tori a$oi $ot fi utili)ate 'n "estionarea ,i controlul
e)%oltarii $rocesului e 'm(un0t0-ire a re)ultatelor&
M0sur0torile (une ar tre(ui s0 facilite)e e)%oltarea e mo elele care suntca$a(ile e a $re)ice un $roces sau $arametrii e $ro us+ nu oar a le escrie& Astfel+metricele i eale ar tre(ui sa fie sim$le si $recis efinite+ astfel 'nc1t s0 fieclar cum o metrica $oate fi e%aluat0/
• o(iecti%+ 'n cea mai mare m0sur0 $osi(il08• cu un cost re)ona(il• u,or e o(-inut• metrica ar tre(ui s0 m0soare ceea ce este estinat0 s0 m0soare• insensi(ila la mo ific0ri nesemnificati%e 'n $rocesul e e)%oltare al
$ro usului &
8/15/2019 Metrici Ale Complexitatii Software (2)
5/19
9n $lus+ $entru utilitate ma4im0 'n stu iile analitice ,i anali)ele statistice+m0sur0torile ar tre(ui s0 ai(0 %alori care a$ar-in e m0suratoareacores$un)0toare&
& Calit0-i fun amentale necesare $entru orice sistem te3nic sunt/• func-ionalitate+corectitu ine+ fia(ilitate• $erforman-0+ tim$ e r0s$uns+ e(it+ %ite)a• Cost sca)ut+ eficacitate&
Performan-a este cu si"uran-0 im$ortanta+ ar nu este inclusa 'n ca rul iscu-iilore software+ cu o e4ce$-ie 'n ceea ce $ri%e,te ac0 $ro usul 'n e$line,te cerin-ele
s$ecifice e $erforman-0 $entru acest $ro us&
E%aluarea $erformantei este eseori tratata e c0tre cei im$lica-i 'nevaluarii de performanţă, stu iide renovare, ar acestea nu sunt 'n "eneral incluse 'n ceea ce este
cunoscut cametrica software& Este $osi(il ca+ 'n %iitor+ omeniul e a$licare almetricilor software sa fie e4tins $entru a inclu e $erforman-a si e%aluarea+ sau ca am(ele acti%it0-i sa $oata ficonsi erate $arte intr2o su$rafa-0 mai mare care ar $utea fi numit software demăsurare.
Com$le4itatea software este o caracteristic0 e calitate care se re"0se,te 'ncalculul e%i)elor $entru e)%oltarea software ,i $entru corectarea in icatorului e $ro ucti2%itate a $ro"ramatorilor& Metricile software s2au efinit $e (a)a a trei surse/ metrici (a)ate $e te4tul
surs0+ metrici (a)ate $e "raful asociat $ro"ramului+ metrici e com$ortament care'nre2"istrea)0 ni%eluri ale $arametrilor 'n tim2$ul e4ecu-iei $ro"ramului&
Cara teri!ti i&
Si%(litate / ;efinirea si utili)area metricilor este una sim$la&
O-ie ti,e / Masuratori facute e $ersone iferite au acelasi re)ultat&
U!or 'e ole tat / Efortul si costurile colectarii atelor necesare este acce$ta(il&
Ro-u!te / Sunt insensiti%e la sc3im(a minore $ermitan com$aratii utile&
Vali'e / Masuratorile facute e%i entia)a situatia reala&
E.e%(le 'e Metri i>& Numar e linii e co
8/15/2019 Metrici Ale Complexitatii Software (2)
6/19
>=& Bu"2uri $e numarul e linii e co>>& COCOMO !COnstructi%e COst Mo el#
Metri i 'e o%(le.itate
1/ Co%(le.itatea i lo%ati a
Utili)ea)a :raful e Control al $ro"ramului& I$ote)a/ ificultatea e intele"erea unui $ro"ram este in mare masura eterminata e com$le4itatea "rafuluiflu4ului e control
Este o masura a ificultatii e testare a mo ulelor si a fia(ilitatii la ni%el e
mo ul&Com$le4itatea unei entitati este eterminata e relatiile intre $artile sale&Partile unui mo ul software sunt instructiunile sale& Relatiile intre ele se (a)ea)a $etrei structuri/
Se ,enta / (loc ma4imal in i%i)i(il e instructiuni care se e4ecuta intot eauna inaceeasi or ineSele tia !con itia#Iteratia !ciclul#& Iteratia $oate fi simulata $rin salt la o con itie&
Com$le4itatea ciclomatica este efinita $entru un mo ul $e (a)a "rafului e control almo ulului&M Ca-e 'e"ine!te o%(le.itatea i lo%ati a a unui gra" 'e ontrol a!t"el&
, 0 e n 2 3un e/ Je este numarul e arce !e "es#8 Jn este numarul e no uri&
Pentru o sec%enta+ %K>& Este necesara o sin"ura e4ecutie e test $entru a e4ecutafiecare instructiune in sec%enta&
Diecare salt a au"at la un mo ul creste com$le4itatea sa cu > si necesita oe4ecutie e test su$limentara $entru testarea sa&;eci+ com$le4iatea ciclomatica a unui mo ul a numarul minim e e4ecutii e test aleunui mo ul+ $entru aco$erirea tuturor arcelor&
Gra"uri 'e ontrol
F
8/15/2019 Metrici Ale Complexitatii Software (2)
7/19
Gra"uri 'e ontrol (entru !tru turile 'e ontrol aleProgra%arii !tru turate5
Instructiunile e eci)ie cu mai multe $re icate tre(uie sa fie se$arate in $re icatesim$le inainte e masurarea com$le4itatii ciclomatice& ;e e4em$lu+ eci)iaif!A&an &B&an C#t3en&& tre(uie se$arata in eci)ii sim$le&
G
8/15/2019 Metrici Ale Complexitatii Software (2)
8/19
Meto'a 'e te!tare !tru turala / com$le4itatea ciclomatica a unui mo ul sa fielimitata la >=& Stu iile arata ca erorile se concentrea)a in mo ule cucom$le4itati mai mari ca aceasta limita&
In ti%(ul (roie tarii 'e 'etaliu li%itarea tre-uie !a "ie la 67 'eoare eo%(le.itatea re!te intot'eauna in ti%(ul o'arii/ Mo ulele caree$asesc aceasta limita tre(uie sa fie re$roiectate&
3/ Co%(le.itatea i lo%ati a totala
Co%(le.itatea i lo%ati a totala a unui (rogra% se o(tine insumancom$le4itatile ciclomatice ale mo ulelor sale&Este e4$rimata $rin formula/
, 0 e n 2 3(un e( e!te nu%arul 'e %o'ule &
e e!te nu%arul 'e ar e 'in toate %o'ulele n e!te nu%arul 'e no'uri 'in toate %o'ulele
O formula ec3i%alenta este/, 0 ,12,32//2,(
un e %>+ %
8/15/2019 Metrici Ale Complexitatii Software (2)
9/19
E4em$lu/
8/15/2019 Metrici Ale Complexitatii Software (2)
10/19
Co%(le.itatea (roie tarii %o'ulului e!te o%(le.itatea i lo%ati a agra"ului re'u! 9i, 0 e n23:
Co%(le.itatea (roie tarii %o'ulului ignora aile a o(erite in te!tarea%o'ulului7 are nu ontin a(eluri 'e %o'ule e.terne & Caile ramase suntnecesare $entru a testa interfetele mo ulului&
4/ Co%(le.itatea (roie tarii unui an!a%-lu 'e %o'ule
S= K i%> ? i%< && ? i%n
un e i%>+ i%=
8/15/2019 Metrici Ale Complexitatii Software (2)
11/19
;/ Co%(le.itatea integrarii
Com$le4itatea inte"rarii unui ansam(lu e N mo ule+ notata e McCa(e cu S>+Este efinita astfel/ S> K S = 2 N ? >
Com$le4itatea inte"rarii a N mo ule care nu contin ramificatii este eci >&
Dormal+ com$le4itatea inte"rarii necesita masurarea com$le4itatii $roiectariifiecarui mo ul&
In tim$ul $roiectarii ar3itecturale+ e re"ula+ nu este is$oni(il "raful flu4uluie control al fiecarui mo ul& Totusi+ ar tre(ui sa fie is$oni(ila suficienta
informatie $entru a efini com$le4itatea $roiectarii fiecarui mo ul+ c3iarfara a cunoaste lo"ica mo ulelor&
Di"ura urmatoare re a o ia"rama e structura $rin care se ilustrea)a cum tre(uiee%aluata S> cunoscan oar con itiile e a$el ale fiecarei com$onente+ a ica flu4ulcontrolului&;re$tun"3iurile cores$un com$onentelor e $roiectare iar sa"etile marc3ea)a flu4ulcontrolului& Prin rom( se in ica un transfer al controlului con itional/
Jcom$onenta a a$elea)a fie com$onenta ( fie com$onenta c Jcom$onenta ( a$elea)a sec%ential com$onenta si com$onenta e Jcom$onenta c a$elea)a una intre com$onentele e+ f+ " sau nici una
Com$le4itatea inte"rarii mo ulelor re$re)entate in ia"rama e structura este &
Estimarea com$le4itatii inte"rarii folosin ia"rama e structura
8/15/2019 Metrici Ale Complexitatii Software (2)
12/19
;etermina $uterea cu$larii intre mo ule&Intele"erea mo ulelor cu un numar mare e $arametri cere mai mult tim$si efort&Mo ificarea mo ulelor cu un numar mare e $arametri $oate a%ea efecteasu$ra altor mo ule&
=u%arul 'e %o'ule a(elate e!ti%ea+a o%(le.itatea intretineriiPentru un mo ul/
Dan2in/ numarul e mo ule care il a$elea)aDan2out/ cate mo ule sunt a$elate e el
Dan2in mare/ un numar mare e mo ule e$in e elDan2out mare/ mo ulul e$in e e multe mo ule
Cu(larea (rin 'ateDie tri$letul !$+ +Q#+ un e/
o $ si Q sunt mo uleo este o %aria(ila accesi(ila in $ si QCu(larea (otentiala (rin 'ate&
o este eclarata in am(ele+ ar nu se %erifica accesul la eao Reflecta $osi(ilitatea ca $ si Q sa comunice $rin %aria(ila
Cu(larea (rin 'ate utili+ateo $ si Q utili)ea)a &o Mai "reu e eterminat ecat cu$larea $otentiala& Necesita mai multa
informatie es$re lo"ica interna a mo ulului&Cu(larea (rin 'ate e"e ti,a
o $ atri(uie o %aloare lui si Q o refera&o Cel mai "reu e eterminat+ ar in ica un flu4 e informatie e la $ laQ&
Metri i ale oe+iuniiSe construieste "raful e flu4 $entru un mo ulo Pentru fiecare no + se inre"istrea)a %aria(ilele referite in instructiunile
in noSe etermina cat e multe cai in e$en ente ale mo ulului trec $rin fiecarenoo Un mo ul are coe)iune mare aca cea mai mare $arte a %aria(ilelor
sunt utili)ate $e ma.oritatea cailor o Cea mai mare coe)iune/ toate caile in e$en ente utili)ea)a toate
%aria(ilele in mo ul
COMPLEXITATEA >ALSTEA$
Metrica Halstea este efinita $rin in icatorii/
C K com$le4itatea $ro"ramuluiE K efortul e $ro"ramare
>
8/15/2019 Metrici Ale Complexitatii Software (2)
13/19
V K %olumul $ro"ramuluiL K ni%elul $ro"ramului
un e/
F
<
>
lo"i ii
n n=
= ∑
sau+ consi er1n > > < > < <
lo" ii
! " n=
= ∑ F
R
>
i
i
" n=
= ∑
R
in a%1n aceea,i semnifica-ie ca ,iin + ar contori)ea)0 totalurile+ nu numai $e celeistincte&
R! #
! =
V este %olumul minim al $ro"ramului+ care este calculat in num0rul minim e $arametrii I O necesar $entru a s$ecifica o$era-ia unui al"oritm ,i returul re)ultatului+a%1n e4$resia/
R R R
7 num0rul e ti$uri fun amentale e ate care a$ar istinct 'n $ro"ramn< 7 num0rul e ti$uri eri%ate e ate care a$ar istinct 'n $ro"ramn 7 num0rul e instruc-iuni istincte utili)ate e $ro"ramator n 7 num0rul e o$eran)i istinc-i care a$ar 'n $ro"ramn 7 num0rul e o$eratori istinc-i $entru referire care a$ar 'n $ro"ramnF 7 num0rul e func-ii istincte a$elate
8/ COMPLEXITATEA MCCABE
Mo elul McCa(e este folosit $entru e%aluarea com$le4itatii $ro"ramelor& 9ni$ote)a omo"enitatii $erfecte a instructiunilor se construiesc "rafuri asociate
>
8/15/2019 Metrici Ale Complexitatii Software (2)
14/19
sec%entelor e $ro"ram+ $entru care se masoara com$le4itatea+ fiecare instructiune I>+I& :raful asociat sec%entei e $ro"ram S>
C K m2n?
8/15/2019 Metrici Ale Complexitatii Software (2)
15/19
• E%aluarea calitati%* ofer* o in icatie a c1t e a$roa$e este $ro usul softwaree cerintele im$licite si e4$licite ale clientului8
• E%aluarea te3nic* e%i entia)* mai e"ra(a caracteristicile $ro usului software!e4&/ com$le4itatea lo"ic*+ "ra ul e mo ulari)are# ec1t $rocesul $rin careacesta a fost e)%oltat8
• E%aluarea imensional* este utili)at* $entru a colecta e%alu*rile irecte alere)ultatelor si calit*tii $rocesului e in"inerie software8
• E%aluarea functional* ofer* o e%aluare in irect*8• E%aluarea orientat* $e resursele umane ofer* informatii asu$ra mo ului 'n care
$ro"ramatorii e)%olt* un $ro us software $recum si asu$ra $erce$tieieficientei instrumentelor si mo elelor e e)%oltare&
9n continuare %om face o a(or are etaliat* a ou* intre meto ele e e%aluaree4$use ce sunt mai frec%ent utili)ate e c*tre casele e soft&
>& Meto a e%alu*rii imensionale E%aluarea imensional* a $ro usului software re$re)int* o estimare irect* aacestuia $recum si a $rocesului $rin care el este e)%oltat& ;aca un mana"er e $roiect mentine 'nre"istr*ri sim$le+ $oate fi creat un ta(el cu atele or onate u$acriteriul imensiunii& Pentru fiecare $roiect+ atele imensionale u)uale sunt/
• efortul estimea)* necesarul e resurse umane si se m*soar* 'n $ro"ramatori2 $e2lun* sau $ro"ramatori2$e2an8
• LOC ! ilo Lines of Co e# 2 mii e linii e co 8
• %aloarea este e4$rimarea (*nesc* a efortului8• $a"ini e ocumentatie8• num*rul e erori ra$ortate e utili)atori 'ntr2o $erioa * e tim$ ! e $il * un
an#&• num*rul e $ro"ramatori care au lucrat la e)%oltarea $ro usului software&
;in atele $rimare continute 'ntr2un astfel e ta(el $oate fi reali)at* o e%aluare a $ro ucti%it*tii si una a calit*tii+ orientate imensional+ $entru fiecare $roiect 'n $arte/
Productivitatea = KLOC / Programatori-pe-lunãCalitatea = Numãr de erori / KLOC
9n com$letare+ $ot fi calculati alti $arametrii interesanti/
Cost = Valoare / KLOCDocumentatie = Pagini de documentatie / KLOC
Utili)area $arametrilor imensionali ! LOC+ efort+ etc este contro%ersat* siei nu sunt uni%ersal acce$tati ca re$re)ent1n cea mai (un* meto * e e%aluare a $rocesului e e)%oltare software& Contro%ersa se 'n%1rte 'n .urul utili)*rii liniilor eco LOC ca m*rime $rinci$al*& Sustin*torii %aria(ilei LOC afirm* c* aceasta este un
artefact al tuturor $roiectelor e e)%oltare software si $oate fi usor calculat*+ c*multe mo ele e estimare utili)ea)* LOC sau LOC ca ate e intrare $rinci$ale si c*
>
8/15/2019 Metrici Ale Complexitatii Software (2)
16/19
e4ist* e.a o literatur* imens* !$lus ate asociate# e icat* LOC& Pe e alta $arte+o$o)antii reclam* c* %aria(ila LOC este e$en ent* e lim(a.ul e $ro"ramare+ c*LOC $oate $enali)a $ro"rame (ine $roiectate ar scurte+ c* nu se $oate asocia usorlim(a.elor ne$roce urale si c* utili)area ei 'n estimare necesit* un ni%el e etalierecare $oate fi ificil e o(tinut !e4/ mana"erul e $roiect tre(uie s* estime)e num*rul
e linii e co ce tre(uie $ro use cu mult 'nainte ca anali)a si $roiectul $ro"ramuluis* fi fost 'nc3eiate#&
8/15/2019 Metrici Ale Complexitatii Software (2)
17/19
Valorile e a.ustare a com$le4it*tii !Di+ iK>&&&> # se etermin* e%alu1ninfluenta a > factori/
• Necesit* sistemul (ac 2u$ si reco%er• Sunt necesare facilit*ti e comunicatii e ate• Sunt necesare functii e $rocesare istri(uit*• Este criteriul $erformantei critic• Va rula sistemul 'ntr2un me iu o$erational utili)at intens• Necesit* sistemul intr*ri e ate 'n re"im on2line• Necesit* sistemul e intr*ri e ate 'n re"im on2line+ ca $rocesul e
intro ucere al atelor s* ai(* loc $e ecrane sau $rin o$eratiuni multi$le• Sunt fisierele actuali)ate on2line• Sunt intr*rile+ iesirile si intero"*rile com$le4e• Este $rocesul intern com$le4
• Este co ul $roiectat astfel 'nc1t s* fie reutili)at• Sunt con%ersia si instalarea $ro"ramului incluse 'n esi"n• Este sistemul $roiectat $entru instal*ri multi$le 'n or"ani)atii iferite• Este a$licatia $roiectat* astfel 'nc1t s* facilite)e mo ificarea si usurinta 'n
utili)are in $artea (eneficiarului
Diecare factor este e%aluat cu o not* e la = la + a%1n semnificatiile/
= 2 Nu influentea)*8> 2 Inci ental8< 2 Mo erat8
2 Me iu8 2 Semnificati%8 2 Esential8
O at* ce scorul functional a fost calculat+ el este utili)at 'ntr2o manier*asem*natoare cu meto a LOC ca o m*sur* a $ro ucti%it*tii+ a calit*tii si a altoratri(ute ce efinesc $ro"ramul/
Productivitatea = SF / Programatori-pe-lunãCalitatea = Numãr De+ecte / SF
Costul =Valoare / SFDocumentatia = Pagini de Documentatie / SF
E%aluarea $e (a)a scorului functional a fost conce$ut* initial $entru a $utea fiutili)at* 'n sistemele e informatii $entru afaceri& Totusi+ e4tin erea $ro$us* ulterior+
enumit* scor caracteristic !SC#+ $oate $ermite a$licarea acestei meto e si 'n ca)ul $ro"ramelor in omeniul sistemelor in"ineresti& Scorul caracteristic este a ec%at
escrierii a$licatiilor 'n care com$le4itatea al"oritmilor este 'nalt*& A$licatiile 'n tim$real+ e control al $roceselor $recum si cele orientate s$re o(iecte au ten inta e a
a%ea o com$le4itate al"oritmic* mare si sunt $rin urmare $otri%ite e%alu*rii $rinmeto a scorului caracteristic& Pentru a calcula acest scor %alorile omeniului
>G
8/15/2019 Metrici Ale Complexitatii Software (2)
18/19
informational sunt in nou contori)ate si $on erate& S$re eose(ire e calcululscorului functional+ scorul caracteristic ia 'n consi erare 'nc* un omeniu einformatie !al"oritmi# iar %alorile e $on erare sunt fi4e !%e)i caseta CalcululScorului Caracteristic #& Valoarea scorului caracteristic final se o(tine in ecuatia/
SC = totalul-de-calcul !"#$ % !"!& S'( )Fi*,
;e remarcat c* scorul caracteristic ia 'n consi erare o nou* imensiune a soft2ului+ si anume al"oritmii& In%ersarea unei matrici+ eco ificarea unui sir e (iti sautratarea unei 'ntreru$eri sunt toate e4em$le e al"oritmi& Tre(uie e asemenearemarcat c* scorul caracteristic si cel functional semnific* acelasi lucru+ si anume
functionalitatea sau utilitatea furni)ate e c*tre software& 9n fa$t+ am1n ou*e%alu*rile au re$t re)ultat aceeasi %aloare a SD2ului 'n situatia calculului in"ineresccon%entional sau a a$licatiilor e ti$ "estiune a informatiilor& Pentru sistemele 'n tim$real+ mult mai com$le4e+ scorul caracteristic este a esea cu
8/15/2019 Metrici Ale Complexitatii Software (2)
19/19
AUTORI
Iliuta Virgil / Intro ucere Metrici software! efinitii+ functii+ caracteristici#Balint George / Metrici e com$le4itate!ti$uri+ Halstea + Mcca(e#
BIBLIOGRAFIE
?tt(&@@###/!o"t#are %etri !/a!e/ro@arti ole@METRICI 3 3 SOFTWARE/?t%
?tt(&@@ ri!ti/!el"i(/ o%@#or'(re!!@tag@%etri i !o"t#are@
?tt(&@@###/! ri-'/ o%@'o @;