Softverski pokazatelj

Softverski pokazatelj je standard merenja stepena do kojeg softver ili programski proces ima svoje dejstvo. Čak iako pokazatelj nije mera (pokazatelji su funkcije, dok su merenja brojevi dobijeni primenom pokazatelja), često se ova dva termina koriste kao sinonimi. Kako su kvantitativna merenja od suštinskog značaja u svim naukama, postoji stalan napor teoretičara i praktičara informatike da obezbede sličan pristup razvoju softvera. Cilj je dobijanje objektivnih, izvodljivih i merljivih vrednosti, koje mogu imati brojne značajne primene u raspodeli i planiranju budžeta, proceni troškova, ispitivanju kvaliteta, ispravljanju programskih grešaka, optimizaciji softverskih performansi i optimalnim kadrovskim radnim zadacima.

Zajedničke softverske mere

Zajedničke softverske mere uključuju:

  • Sistem uravnoteženih pokazatelja
  • Broj bagova po liniji koda
  • Pokrivenost koda
  • Kohezija
  • Gustina komentara[1]
  • Zavisne softverske komponente
  • Povezanost
  • Ciklična složenost (Mekejbova složenost)
  • DSQI (indeks kvaliteta dizajna strukture)
  • Tačke funkcije i automatske tačke funkcije, Object Management Group standard[2]
  • Halstedova složenost
  • Dužina staze
  • Indeks izdržljivosti
  • Broj klasa i prikaza
  • Broj linija koda
  • Broj linija klijentskih zahteva
  • Vreme izvršavanja programa
  • Vreme učitavanja programa
  • Veličina programa (za binarne datoteke)
  • Robert Cecil Martin-ov softverski pokazatelj
  • Ponderisane mikro funkcionalne tačke
  • CISQ kvalitet softvera

Ograničenja

Kako je razvoj softvera složen proces, sa velikom promenljivošću metodologije i ciljeva, teško je definisati ili izmeriti kvalitet i kvantitet softvera, i odrediti precizan pokazatelj. Dodatna otežavajuća okolnost je u određivanju koji je pokazatelj bitan i šta on označava.[3][4] Praktična upotreba softverskih pokazatelja je zato ograničena na sledeće oblasti:

  • Planiranje
  • Dimenzionisanje softvera
  • Složenost programa
  • Procena trajanja razvoja softvera
  • Kvalitet softvera

Određeni pokazatelj može uticati na jedan ili više od gore navedenih aspekata. Može uticati i na ravnotežu između njih, kao na primer indikator timske motivacije ili izvođenja projekta.

Prihvatanje i javno mišljenje

Neki softverski praktičari ističu da jednostavni pokazatelji mogu uzrokovati više štete nego koristi.[5] Drugi su primetili da su pokazatelji postali sastavni deo procesa razvoja softvera.[3] Uticaj merenja na psihologiju programera povećao je brigu zbog štetnih efekata na učinak zbog stresa, pritiska pri radu i pokušaja da se prevare pokazatelji, dok drugi smatraju da ima pozitivan uticaj na programere tako što podižu vrednost njihovog rada i sprečavaju da budu potcenjeni.[6] Neki tvrde da je definicija mnogih metodologija merenja neprecizna, stoga je često nejasno kako se određeni rezultat dobio,[7] dok drugi smatraju da je nesavršena kvantifikacija bolja nego da je nema (“Ne možes kontrolisati ono što ne možeš izmeriti.”).[8] Dokazi pokazuju da su softverski pokazatelji u velikoj upotrebi od strane državnih agencija, američke vojske, NASA-e,[9] IT konsultanata i akademskih institucija.[10]

Vidi još

  • GQM
  • Kriza softvera
  • Inženjering softvera
  • Softverski paket pokazatelja
  • Klasifikacija ortodontskih anomalija
  • Lista alata za statičku analizu koda

Reference

  1. ^ „Descriptive Information (DI) Metric Thresholds”. Land Software Engineering Centre. Архивирано из оригинала 06. 07. 2011. г. Приступљено 19. 10. 2010. 
  2. ^ „OMG Adopts Automated Function Point Specification”. Omg.org. 17. 1. 2013. Приступљено 19. 5. 2013. 
  3. ^ а б Binstock, Andrew. „Integration Watch: Using metrics effectively”. SD Times. BZ Media. Приступљено 19. 10. 2010. 
  4. ^ Kolawa, Adam. „When, Why, and How: Code Analysis”. The Code Project. Приступљено 19. 10. 2010. 
  5. ^ Kaner, Dr. Cem, Software Engineer Metrics: What do they measure and how do we know?, CiteSeerX: 10.1.1.1.2542 
  6. ^ „ProjectCodeMeter "ProjectCodeMeter Users Manual"(PDF). стр. 65. Приступљено 19. 5. 2013. 
  7. ^ Lincke, Rüdiger; Lundberg, Jonas; Löwe, Welf (2008), „Comparing software metrics tools” (PDF), International Symposium on Software Testing and Analysis 2008, стр. 131—142 
  8. ^ DeMarco, Tom (2010). Controlling Software Projects: Management, Measurement and Estimation. ISBN 978-0-13-171711-4. 
  9. ^ „NASA Metrics Planning and Reporting Working Group (MPARWG)”. Earthdata.nasa.gov. Архивирано из оригинала 22. 10. 2011. г. Приступљено 19. 5. 2013. 
  10. ^ „USC Center for Systems and Software Engineering”. Sunset.usc.edu. Архивирано из оригинала 11. 12. 2017. г. Приступљено 19. 5. 2013. 

Literatura

Spoljašnje veze

  • Definicija softverskih pokazatelja na .NET-u
  • Softverski pokazatelji Архивирано на сајту Wayback Machine (3. март 2016)
  • Softverski tehnički pokazatelji: šta mere i kako mi to znamo Архивирано на сајту Wayback Machine (7. април 2009)