190 likes | 425 Views
Asmeninis programų kūrimo procesas (PSP). 3 paskaita Saulius Ragaišis , VU MIF saulius.ragaisis@mif.vu.lt 200 8 - 03 - 05. Tarpinis PSP ir ADS egzaminas. Siūloma data: balandžio 9 d. (trečiadienį) nuo 8:30
E N D
Asmeninis programų kūrimo procesas(PSP) 3 paskaita Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt 2008-03-05
Tarpinis PSP ir ADS egzaminas Siūloma data: balandžio 9 d. (trečiadienį) nuo 8:30 Alternatyvūs variantai:1) balandžio 2 d. (trečiadienį) nuo 8:302) balandžio 3 d. (ketvirtadienį) nuo 8:303) balandžio 4 d. (penktadienį) nuo 18:00 4) balandžio 7 d. (pirmadienį) nuo 18:00 5) balandžio 10 d. (ketvirtadienį) nuo 8:306) balandžio 11 d. (penktadienį) nuo 18:00 Galutinis sprendimas dėl datos bus priimamas kovo 6 d. per ADS paskaitą.
Einamoji situacija Duomenys 2008-03-04 16:10(įskaitant 5 studentus, kartojančius kursą)
Papildoma informacija dėl 2-os užduoties • Užduoties tikslas yra užfiksuoti, kam ir kiek skiriama laiko:- atliekant užduotį nebūtina pradėti daryti tai, ko nebuvo daroma (pvz., planuoti);- fiksuojami duomenys turi atitikti realybę (negalima fiksuoti to, ko nebuvo) • Būtina fiksuoti visą laiką, susijusį su studijomis ir skiriamą nurodytoms veikloms (Paskaita/pratybos, Skaitymas, Planavimas, Projektavimas, Programavimas (kodavimas), Kompiliavimas, Testavimas, Atsiskaitymas, PSP veikla) • Su kitu laiku,pvz., namų darbai (rašymas), galima elgtis dvejopai:- fiksuoti LFF su savu tinkamu veiklos pavadinimu, bet neperkelti į SVS- nefiksuoti • Svarbiausias laikas, skiriamas programų kūrimui, todėl veiklą parenkame pagal prioritetus: (1) Planavimas, Projektavimas, Programavimas (kodavimas), Kompiliavimas, Testavimas, (2) Atsiskaitymas, PSP veikla , (3) Skaitymas, (4) Paskaita/pratybos • Fiksuodami laiką LFF, kiekvieną kartą sugaištame po dalį minutės – suminį per dieną tam sugaištą laiką galim užfiksuoti 1 eilute • Formose neturėtų būti rašomi 0(SVS formose reikia užpildyti tik tuos langelius, kuriuose yra duomenys, nes 0 surašymas į likusius labai pasunkina SVS nagrinėjimą)
2-os užduoties atsiskaitymo problemos šiais metais • Keistoki vienetai (pvz., PSP veikla – SVS1 užpildymas: 1 psl.) • Pažymėta, kad programa baigta kurti, bet nenurodytas jos dydis (stulpelyje Vnt.) – kadangi atsiskaitymo metu programos dydis gali keistis, jį būtina nurodyti net ir tuo atveju, jei jis buvo nurodytas anksčiau (kai programa buvo baigta kurti ir buvo nuspręsta, kad ją jau galima atsiskaityti) • Iš pirmo žvilgsnio sunkiai suprantama LFF (pvz., viename laiko intervale fiksuojamos kelios veiklos ir “Baigta” bei vienetai (sukurtos programos dydis) nurodomi ties pirmąja veikla) • B(aigta) žymima po kiekvienos programos kūrimo veiklos • Nekorektiškai suskaičiuojamas laikas Pastaba: kol kas atsiskaitinėjo labai mažai žmonių, todėl problemos vienetinės. Priminimas: 2-os užduoties atsiskaitymo terminas kovo 16 d. Tikėtina, kad prieš pat atsiskaitymo pabaigą bus pateikta labai daug užduočių, todėl negalės būti užtikrintas užduočių patikrinimas per žadėtą terminą (72 val.)
2-os užduoties atsiskaitymo problemos pernai metais • Pagal pateiktas formas darbas neatliktas – formos antraštėje nurodoma data, kada forma pradėta pildyti: jei LFF antraštėje nurodyta 2007-03-11, reiškia laikas pradėtas fiksuoti nuo 2007-03-11 • Nekorektiškos laiškų antraštės, pvz.:nurodyta neteisinga grupė; nenurodytas autorius; nurodyta neteisinga užduotis • Savaitė prasideda nuo ketvirtadienio • Nekorektiškai fiksuojamos veiklos– nurodomos nestandartinės veiklos (pvz., Filosofijos paskaita)– nurodyta kažkokia viena veikla, o komentaruose ji detalizuojama į kitas veiklas (pvz., Laikas: 200; Veikla: “Kodavimas”; Komentarai: “Projektavimas 20, Kodavimas 100, Kompiliavimas 30, Testavimas 50”) (vienoje eilutėje turi būti nurodoma tik viena veikla) • Pateikiama “niekieno” forma – neužpildyta formos antraštė • Nekorektiškai užfiksuotas/suskaičiuotas laikas LFF – negalimas laiko intervalas (Nuo > Iki): pvz., 14:10 – 13:30 – persidengiantys laiko intervalai: pvz., 14:10-15:30 ir 15:10-16:30 – nesuderinti duomenys (Iki - Nuo Laikas + Trukdžiai) • Nesutampa LFF ir SVS duomenys– SVS užfiksuotas veiklai per dieną skirtas laikas nesutampa su LFF užfiksuotų tai veiklai skirtų laikų suma
2-os užduoties atsiskaitymo problemos pernai metais (2) • Data kartojama kiekvienoje eilutėje – reikia nurodyti tik tada, kai ji keičiasi • “Iki” nurodoma ir data – reikia nurodyti tik laiką, jei veikla iš esmės “pereina” į kitą dieną (>2 val.), ji fiksuojama atskiromis eilutėmis kiekvienai dienai • Tam pačiam laiko intervalui fiksuojant kelias veiklas laikas kartojamas arba “Nuo” ir “Iki” paliekami tušti – “Nuo” ir “Iki” turi būti dedami –” – • B(aigta) žymima po kiekvienos programos kūrimo veiklos – programos kūrimo atveju B(aigta) turi būti žymima tik tada, kai kūrimas iš tikrųjų baigtas • Neužfiksuotas galutinis programos dydis – baigus programos kūrimą, būtina užfiksuoti jos dydis (kūrimo eigoje dydis gali būti fiksuojamas) • Per daug dažnai pažymėta B(aigta) (pvz., LFF pildymas baigtas kiekvieną dieną) • Nefiksuojami vienetai arba naudojami netinkami vienetai (pvz., eilutės kompiliavimui arba programos testavimui) • Lieka neaišku, kokie vienetai naudojami • Nefiksuojamas laikas, sugaištamas LFF pildymui dienos eigoje • Nepakankamai tiksliai įvardinama kuriama programa (pvz., tik ADS – ADS1 jau būtų tinkamas įvardinimas) • Nėra kažkurios darbo dienos duomenų ir nenurodyta priežastis • SVS užpildyta 0 • SVS įrašyta “Sirgau” • Fiksuojami suminiai trukdžiai (pvz., Pertrauka 28) • Prie laiko visur prirašyta “min.” • Nekorektiškai nurodyta grupė antraštėje– reikia nurodyti tik numerį • Labai mažai veiklos
Projekto pradžios pavyzdys Situacija: konkurentai išleido naują produktą, kuriuo susidomėjo daug klientų. Vadovybės sprendimas: inicijuoti projektą ir mažiau kaip per 9 mėnesius sukurti naują dar geresnį produktą, nes kitu atveju kompanija praras labai daug klientų. Projekto komanda ką tik baigė nesėkmingą projektą, trukusį 2 metus, o naujas darbas tikrai nėra paprastesnis.
Projekto pradžios pavyzdys (2) Tradiciškai planavimui skiriamos 4 dienos. Komanda supranta, kad nespės projekto padaryti per 9 mėnesius. Kieno įsipareigojimas 9 mėnesiai? Ką daryti? Tradicinis scenarijus: einama pas vadovybę, sakoma, kad nespės, bet kadangi reikia, pažadama padaryti viską, kas įmanoma, t.y. prisiimami įsipareigojimai. Kas lieka kaltas, kai nepavyksta? Gal neverta planuoti? Galima sutaupyti 4 dienas, nėra pakankamai informacijos planavimui. Kada bus pakankamai informacijos? Kada labiausiai reikia plano?
Projekto pradžios pavyzdys (3) Rezultatas: komanda baigė projektą 6 savaitėmis anksčiau nei vadovybės patvirtinti 18 mėnesių (komandos nariai buvo įsisavinę PSP).
PSP tikslas PSP yra savęs tobulinimo procesas, padedantis kontroliuoti, valdyti ir gerinti savo darbą. Tai rinkinys formų, nurodymų ir procedūrų, skirtų programų kūrimui. Tinkamai naudojamas PSP suteikia duomenis, reikalingus prisiimti ir įvykdyti įsipareigojimus, be to, rutininius darbo elementus jis padaro labiau prognozuojamus ir efektyvius. Vienintelis PSP tikslas yra padėti gerinti programų sistemų inžinerijos įgūdžius. Pavyzdžiui, valdyti savo darbą, įvertinti savo galimybes, formuoti įgūdžius, daryti geresnius planus, stebėti savo produktyvumą ir matuoti kuriamų produktų kokybę. Ką bedarytum, PSP gali padėti atlikti darbą geriau. PSP pateikia būdus suprasti, kodėl daromos klaidos, kaip geriausia jas rasti, pataisyti ir jų išvengti.
3-ia užduotis: U3-PSF Projekto planavimas ir eigos sekimas 1 taškas iki kovo 30 d. (0,5 iki kovo 31; vėliau šios užduoties atsiskaitymai nebepriimami)Priminimas: galutinį egzaminą gali laikyti tik atsiskaitę ne mažiau kaip 3 praktines užduotis. Užduotis turi būti pradėta daryti prieš pradedant kurti programą ir baigta po programos sukūrimopageidautina, kad atsiskaitant užduotį programa jau būtų atsiskaityta. Atsiskaitymui pateikti: (1) LFF, (2) DTS, (3) DFF, (4) PSF ir (5) sukurtos programos išeities kodą.viskas siunčiama vienu laišku;atsiskaitinėjant pakartotinai vėl siunčiami visi failai.
Papildoma informacija dėl 3-ios užduoties • Užduoties tikslai:- (pabandyti) suplanuoti, kiek laiko prireiks visos užduoties atlikimui ir konkrečioms veikloms;- užfiksuoti duomenis apie vienos programos kūrimą (sugaištą laiką ir defektus - kiek ir kuriose veiklose jie padaromi bei pašalinami). • Rekomenduojama planuoti ir vykdyti visas numatytas programos kūrimo veiklas (Planavimas, Projektavimas, Kodavimas, Kompiliavimas, Testavimas, Atsiskaitymas, PSP veikla) • Jei atsiskaitymo metu dėstytojas rado jūsų programos defektų, jie fiksuojami taip: - PSF paskutinėje eilutėje "Po kūrimo“,- DFF “Pašalintas fazėje” – “Aptarimas” • Jei vykdomos papildomos veiklos, nenumatytos šioje užduotyje siūlomame procese (pvz., Peržiūra, Dokumentavimas, Skaitymas), jų duomenis (laiką ir defektus) priskirti pagrindinei veiklai (pvz., jei kodavimo metu teko paskaityti C dokumentaciją, o prieš kompiliuojant programa dar buvo peržiūrėta, tai visas sugaištas laikas priskiriamas Kodavimui) • Nauja programos kūrimo fazė “Aptarimas” (postmortem), kurios tikslasperžiūrėti programos kūrimą ir jo metu surinktus duomenis: kaip jis vyko, kas buvo gerai ir kas blogai, ar visi duomenys užfiksuoti ir korektiški, kaip procesas turėtų būti gerinamas
Papildoma informacija dėl 3-ios užduoties: užduoties atlikimo eiga Pavaizduotas atvejis, kai programa kuriama vienu ciklu. Kuriant keliais ciklais, projektavimas, kodavimas, kompiliavimas ir testavimas kartojami.
Papildoma informacija dėl 3-ios užduoties: atliekamos veiklos ir jų priskyrimas fazėms Eilutėse pateikti 2 galimi veiklų priskyrimo fazėms variantai.Kiekvienas pasirenka jo nuomone tinkamesnį variantai. Koks variantas buvo pasirinktas turi būti aiškiai matoma iš LFF.
Papildoma informacija dėl 3-ios užduoties: keli patarimai savikontrolei • Fiksuojant programos dydį turi būti neįskaitomos tuščios ir komentarų eilutės • Pateiktame LFF turi būti aišku, kurios veiklos yra susijusios su šia užduotimi, arba nesusijusių veiklų turi nebūti • Detalūs projekto vykdymo duomenys, užfiksuoti LFF ir DFF, ir suminiai duomenys PSF turi sutapti (pavyzdžiui, suma DFF laikų, sugaištų defektų šalinimui kažkurioje fazėje, negali būti didesnė už tos fazės laiką PSF) • PSF “Faktas” ir “Iki šiol” turi sutapti • Padarytų ir pašalintų defektų skaičiai turi sutapti (PSF: visi defektai padaromi kūrimo metu, o pašalinami kūrimo metu arba po kūrimo) • LFF turi būti užfiksuota, kad darbas baigtas ir sukurtos programos dydis • Galima, bet pakankamai reta situacija – defekto padarymo ir pašalinimo fazės sutampa (vertėtų pasitikrinti, ar tai ne klaida)