130 likes | 314 Views
Prof. dr Dragana Bečejski-Vujaklija draganab@fon.rs. Softverska metrika. Šta je softverska metrika?. Određivanje mera koje reflektuju bitne karakteristike svakog softverskog projekta obim posla i kvalitet proizvoda isporučivanje proizvoda i rokovi napor potreban da se projekat završi.
E N D
Prof. dr Dragana Bečejski-Vujaklija draganab@fon.rs Softverska metrika
Šta je softverska metrika? • Određivanje mera koje reflektuju bitne karakteristike svakog softverskog projekta • 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 • Sticanje uvida u raspodelu investicijapo fazama i resursima projekta • Obavljanje merenja • kontinualni proces • podrazumeva fino podešavanje mera i učenje iz iskustva
Kome je metrika od koristi ? • razvojnim timovima • pomaže im u razumevanju njihovih aktivnosti koje vode ka završetku projekta • IT menadžerima • 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 • omogućava im da ispitaju funkcionalnost i kvalitet softverskog proizvoda • timovima za održavanje softvera • 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 • 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 • 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 • 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) • broj otkrivenih i otklonjenih grešaka (fault arrival and closing rates); proizvod je spreman za isporuku kada ove mere padnu na ≈0 • metrika za ukupni rizik projekta • 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 • 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 • 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 • Model COCOMO • Analiza funkcionalnih poena • GQM metrika • Objektno-orijentisana metrika • Metrika za male organizacije • Metrika u Unified Process-u
Kako izabrati metriku zakonkretan projekat? • 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 zaaktivnosti datog projekta • odabrati konzistentnu metriku za više projekata • odabrati metriku koja može da ukaže na načineza povećanje produktivnosti i/ili kvaliteta • odabrati metriku za koju se mogu definisatiodgovarajuće akcije • najbolje metrike su one kojeprirodno 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 ? • spremnost proizvoda za isporuku • budžet i rokovi • veličina tolerancije u budžetu i rokovima • resursi u koje treba najviše investiratida bi se proces razvoja najviše poboljšao • trenutak započinjanja obuke korisnika
Kako uvesti metriku u organizaciju? • poći od sopstvenih, do tada razvijenih aplikacija • odrediti faktore koji su doveli do uspešne realizacijetih aplikacija • očekivati otpor kod članova tima - treba im objasniti da metrika ne služi za ugrožavanjepojedinaca, već za poboljšavanje procesa razvoja IS
Preporuke: • Ne svoditi ceo proces na samo jednumeru u svim fazama - uz različitefaze 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 deosvih aktivnosti, a ne samo pojedinih • Bolje je i najprostije merenje negonikakvo merenje: običan spreadsheet program inekoliko formulara http://www.softwaremetrics.com/