Transcript 3_2 Metrika

Prof. dr Dragana Bečejski-Vujaklija
[email protected]
Softverska metrika
Šta je softverska metrika?

Određivanje mera koje reflektuju bitne
karakteristike svakog softverskog projekta
–
–
–
2/13
obim posla i kvalitet proizvoda
isporučivanje proizvoda i rokovi
napor potreban da se projekat završi
Šta je softverska metrika?

Obezbeđivanje kvantitativnih indikatora za
procenu troškova projekta
–

Obavljanje merenja
–
–
3/13
Sticanje uvida u raspodelu investicijapo fazama i
resursima projekta
kontinualni proces
podrazumeva fino podešavanje mera i učenje iz
iskustva
Kome je metrika od koristi ?

razvojnim timovima
–

IT menadžerima
–
–

omogućava im da ispitaju funkcionalnost i kvalitet softverskog
proizvoda
timovima za održavanje softvera
–
4/13
pruža im informaciju o tome da li je projekat na zdravom koloseku
ukazuje im na nužne kompromise u pogledu poštovanja rokova i
tempa napredovanja
korisnicima
–

pomaže im u razumevanju njihovih aktivnosti koje vode ka završetku
projekta
daje im informacije o mogućnosti višestrukog korišćenja,
reinženjeringa, zamene nasleđenog koda
Vrste metrike

metrika za obim projekta i produktivnost tima
–
–

metrika za rokove
–

broj zadataka završenih na vreme, koji nisu završeni na
vreme, kojima su rokovi promenjeni, koji su odloženi za kasnije
metrika za definisanje korisničkih zahteva
–
–
–
5/13
veličina softvera u SLOC* (tipična produktivnost programera u
industriji: 350 SLOC po jednom inženjer-mesecu)
gruba procena potrebnog napora za novi projekat; primer: 19
KSLOC, 5 programera = oko 10 meseci
broj zahteva za promenu specifikacije
broj novih zahteva
RFC dijagram (Requests For Change)
SLOC* - Source Lines of Code
Metrike za celokupan proces razvoja IS

metrika za testiranje
–

praćenje procenta SLOC koji je pokriven testovima;
povećanjem tog procenta poboljšava se kvalitet i smanjuje broj
grešaka koje će otkriti korisnici
metrika za kvalitet (za greške u softveru)
–
gustina grešaka (broj grešaka po 1 KSLOC) je dobar
pokazatelj kvaliteta softvera (smatra se da je proizvod kvalitetan
ako je gustina grešaka manja od 0.25; tipično, tokom testiranja otkrije
se oko 7 grešaka po 1 KSLOC)
–

metrika za ukupni rizik projekta
–
6/13
broj otkrivenih i otklonjenih grešaka (fault arrival and closing
rates); proizvod je spreman za isporuku kada ove mere padnu
na ≈0
stepen spremnosti proizvoda za instaliranje i rad (ako je
vrednost < 50%, zahteva veće angažovanje IT menadžera)
Prikupljanje podataka za metrički program



7/13
iz prethodno završenih projekata
iz srodnih projekata drugih timova
pravljenje baze podataka za buduće projekte
(broj SLOC iz prethodnih projekata,
produktivnost programera, rokovi, greške,…)
Sprovođenje metričkog programa




8/13
obučavanje svih članova tima
popunjavanje formulara i tabela
korišćenje spreadsheet programa
korišćenje metričkih softverskih alata
Najčešće korišćeni metrički modeli






9/13
Model COCOMO
Analiza funkcionalnih poena
GQM metrika
Objektno-orijentisana metrika
Metrika za male organizacije
Metrika u Unified Process-u
Kako izabrati metriku za
konkretan projekat?








10/13
povezati metriku sa poslovnim ciljevima
odabrati metriku koju razumeju i menadžeri, i programeri
odabrati merenja koja se mogu sprovesti
odabrati metriku koja je stvarno bitna za aktivnosti datog
projekta
odabrati konzistentnu metriku za više projekata
odabrati metriku koja može da ukaže na načine za
povećanje produktivnosti i/ili kvaliteta
odabrati metriku za koju se mogu definisati odgovarajuće
akcije
najbolje metrike su one koje prirodno proističu iz radnog
procesa
Metrika sama po sebi nije bitna;
bitne su poslovne odluke koje se na osnovu nje donose!

Koje poslovne odluke podržava metrika ?
–
–
–
–
–
11/13
spremnost proizvoda za isporuku
budžet i rokovi
veličina tolerancije u budžetu i rokovima
resursi u koje treba najviše investirati da bi se
proces razvoja najviše poboljšao
trenutak započinjanja obuke korisnika
Kako uvesti metriku u organizaciju?



12/13
poći od sopstvenih, do tada razvijenih
aplikacija
odrediti faktore koji su doveli do uspešne
realizacije tih aplikacija
očekivati otpor kod članova tima - treba im
objasniti da metrika ne služi za ugrožavanje
pojedinaca, već za poboljšavanje procesa
razvoja IS
Preporuke:






Ne svoditi ceo proces na samo jednu meru u svim
fazama - uz različite faze procesa idu različite mere.
Početi sa malim brojem mera
Uključiti sve članove tima
Sprečiti sabotažu
Metrika mora da bude sastavni deo svih aktivnosti, a
ne samo pojedinih
Bolje je i najprostije merenje nego nikakvo merenje:
običan spreadsheet program i nekoliko formulara
http://www.softwaremetrics.com/
13/13