Programų sistemų inžinerija7. Asmeninis programų kūrimo procesasKomandinisprocesasTSPKomandos formavimasRizikos valdymasProjekto planavimas <strong>ir</strong> stebėjimasKokybėsvaldymas <strong>ir</strong>projektavimasPSP2Kodo peržiūraProjekto peržiūraPSP2.1Projektavimo šablonaiVertinimas<strong>ir</strong>planavimasPSP1Dydžio prognozavimasTestavimo ataskaitaPSP1.1Užduočių planavimasDarbo grafiko planavimasProcesodisciplina <strong>ir</strong>matavimasPSP0Dabartinis procesasBazinės metrikosPSP0.1Kodavimo standartasProceso gerinimo pasiūlymaiDydžio fiksavimas7.2 pav. PSP modelis (2005 metai)PSP struktūraPSP procesas apima tris stambias programų sistemų kūrimo fazes: užduočių planavimą,kūrimą <strong>ir</strong> proceso peržiūrą. Jas galima skaidyti į tokias mažesnes: asmeninių užduočiųplanavimo, eskizinio projekto peržiūros, detaliojo projekto kūrimo, detaliojo projekto peržiūros,kodavimo, kodo peržiūros, kompiliavimo, testavimo <strong>ir</strong> proceso peržiūros. Planavimo fazės metuparuošiamas planas, įtraukiantis prognozuojamą kuriamo produkto dydį bei jo sukūrimu<strong>ir</strong>eikalingą laiką. Kūrimo fazė apima visą „gamybinį“ procesą. Proceso gerinimo fazės metuperžiūrimi surinkti duomenys <strong>ir</strong> siūlomi patobulinimai.PSP metrikosPSP procesas naudoja pagrindines metrikas:• laikas,• defektai,• dydis.Iš šių bazinių metrikų išvedamos visos kitos PSP metrikos. Metrikos, kurios paremtosbazine laiko metrika, būtinos sudarant grafiką <strong>ir</strong> užduočių planus, matuojant produktyvumą <strong>ir</strong> t.t.Metrikos, paremtos bazine defektų metrika, būtinos produkto kokybei matuoti, prognozuoti <strong>ir</strong>Mokymo medžiaga 82
Programų sistemų inžinerija7. Asmeninis programų kūrimo procesasvaldyti, taip užtikrinant kokybiško produkto kūrimą. Metrikos, paremtos bazine dydžio metrika,būtinos dydžio matavimui bei prognozavimui, taip pat, kaip sudėtinis dėmuo, naudojamas klaidų“tankiui” bei produktyvumui matuoti.PSP kokybės modelisPSP procesas produkto kokybę užtikrina trimis pagrindiniais būdais:• kiekvienam produktui yra atliekama peržiūra (eskizinio projekto peržiūra, detaliojoprojekto peržiūra, kodo peržiūra), didžiausią dėmesį sk<strong>ir</strong>iant defektams, užfiksuotiemsdažniausiai asmens paliekamų defektų sąraše;• projektavimas atliekamas pagal projektavimo procedūrą, apimančią projektavimošablonų naudojimą bei projekto patikrinimą (design verification);• produkto kokybė stebima <strong>ir</strong> vertinama, naudojantis proceso metu surinktaisduomenimis.PSP prognozavimo modelisPSP proceso metu prognozavimas vykdomas remiantis prielaida, jog ateityje procesasvyks taip, kaip vyko praeityje, t.y. ateities prognozėms naudojami istoriniai duomenys. PSPprocesas pristato prognozavimo metodą PROBE (angl. Proxy Based Estimating). Šis metodasnaudojamas laiko <strong>ir</strong> dydžio prognozavimui. Jis įgalina pakankamai tiksliai prognozuoti, nesremiasi istoriniais duomenimis, kuriuos kiekvienas pagal PSP procesą d<strong>ir</strong>bantis asmuo renkaprojektų metu. Duomenys kategorizuojami, atsižvelgiant į objekto tipą (pvz., duomenų įvedimąužtikrinantis objektas). Turint keletą tai pačiai kategorijai priklausančių objektų bei kiekvieno išjų kūrimui sugaišto laiko įverčius <strong>ir</strong> dydžius, galima apskaičiuoti, kiek laiko užtruktų tokioskategorijos objekto kūrimas <strong>ir</strong> kokio dydžio jis būtų (skaičiuojamas aritmetinis vidurkis arbanaudojamasi sudėtingesniais statistiniais metodais).PSP tobulinimo modelisAsmeninio proceso evoliucionavimas yra vienas iš svarbiausių PSP proceso aspektų. PSPprocesas tobulinamas, remiantis pasiūlymais, pateiktais proceso peržiūros fazės metu. Tamtikslui yra paruošta proceso gerinimo pasiūlymų forma, kurioje fiksuojami visi galimi procesotobulinimo būdai bei siūlomi pakeitimai. Patobulinimai pateikiami su metrikomis, kad būtųgalima išmatuoti pakeitimo naudą.Pagrindiniai principai• Programų sistemų kūrėjai d<strong>ir</strong>bs efektyviai jei naudos apibrėžtą <strong>ir</strong> matuojamą procesą(apibrėžtas, matuojamas).Mokymo medžiaga 83