Asmeninis programų kūrimo procesas (PSP)

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Struktūrinis Testavimas.
Advertisements

Sauga ir sveikata darbe rūpi visiems. Tai svarbu jums ir įmonei. Visos Europos nuomonių apklausa apie saugą ir sveikatą darbe Pavyzdys, skirtas 36-ioms.
1 Programų testavimo metodai. 2 ĮVADAS  Modulio paskirtis.
Lietuvos vardo kilmė Žmogus, nepažįstantis savo tautos namų – Tėvynės žemės, kurioje nuo seno tėvai ir protėviai gyveno, - nėra savo krašto pilietis! Įsisąmoninkime.
Muzikos ženklų karuselė
SEMINARO „ DARBO LAIKO IR DARBO UŽMOKESČIO SĄLYGŲ NUSTATYMAS IR APSKAITA“ NAUJOVĖS 2013 m. lapkričio 29 d. Vilnius.
NORĖDAMI PAKEISTI SKAIDRĖS STILIŲ – SPUSTELĖKIT E DEŠINIUOJU PELĖS KLAVIŠU ANT SKAIDRĖS FONO IR PASIRINKITE > LAYOUT ARBA DARBALAUKI O ĮRANKIŲ JUOSTOJE.
Vaizdinė užduotis. Kuriose iš šių valstybių galima pamatyti tokius gyvenamuosius namus? Jemene Tanzanijoje Mongolijoje Indonezijoje A B C D 1.
Klasės ir Objektai Javoje
Kaip parašyti testavimo planą?
SYSTEM OF PROGRAMMING BUDGET
Algoritmai ir duomenų struktūros (ADS)
Euronews Next
Smart none of us are as smart as all of us. smart none of us are as smart as all of us.
LKTA XXI-oji tarptautinė konferencija
Funkcijos R.
Medicininės radiologijos procedūrų pagrįstumas
Daugiakalbė naudotojo sąsaja (Multilingual User Interface)
Ekstremalus programavimas (XP)
Darbą parengė: Viktorija Drūteikaitė IT2
SSGG (SWOT): Organizacijos stiprybės ir silpnybės, galimybės ir grėsmės (nustatymas, grupavimas, vertinimas, rezultatas) Pagrindinė literatūra: Lietuvos.
MAUDYKLŲ VANDENS KOKYBĖS STEBĖSENOS
Robert Andruškevič AT27D.   Tai yra operacinė sistema, daugiausia naudojama išmaniuosiuose telefonuose, nors ją galima įdiegti ir kituose mobiliuosiuose.
Esant PMS’ui ir klimakteriniam diskomfortui
CC BY-SA mascil consortium 2014
Algoritmai ir duomenų struktūros (ADS)
PARAIŠKOS DĖL PROJEKTO FINANSAVIMO PILDYMAS
Programų kūrimo proceso brandos ir gebėjimo modeliai
INTERAKTYVIŲ UŽDUOČIŲ KŪRIMO PROGRAMA
Programų sistemų inžinerija
Algoritmai ir duomenų struktūros (ADS)
Ernestas Kaukėnas MIF IT 3grupė
Programų sistemų inžinerija
Atliko: Jokūbas Rusakevičius VU MIF PS 3k 3g
Logika a.
Žodžio dalys Dalykas, ugdymo sritis: Tema: Klasė: Priemonės paskirtis:
JavaScript kalbos apžvalga
Windows API Tėvų kontrolė (angl. Parental Controls)
Duomenų valdymas.
Programų sistemų inžinerija
Dainius Četrauskas IFK
Kas yra arduino ? Parengė:Karolis Šumskis ir Mokytoja ekspertė Elena Šišenina.
Atvirojo kodo elektronika
Saulius Ragaišis VU MIF
Programų sistemų inžinerija
INTERAKTYVIŲ UŽDUOČIŲ KŪRIMO PROGRAMA
Programų sistemų gyvavimo ciklo procesai
Šlapimo nelaikymo korekcija: Vilniaus miesto Universitetinės ligoninės patirtis Dr. Gediminas Mečėjus I-ji Lietuvos uroginekologijos draugijos konferencija,
Antrosios kartos interneto technologijos
Windows Portable Devices
Asmeninis programų kūrimo procesas (PSP)
APRAŠOMIEJI TYRIMAI ir INTERVIU, VIENO ATVEJO TYRIMAI IR FOKUS GRUPĖS
Tekstiniai uždaviniai
Mikroprocesorius 2.
Saulius Ragaišis, VU MIF
Saulius Ragaišis, VU MIF
Windows Resource Protection (IŠTEKLIŲ APSAUGA)
Virtualus kompiuteris
Programų sistemų testavimas
Langų kūrimas.
Operacinė sistema Testas 9 klasė
Mes tikime mokyklomis! Ir tikėdami mes tikimės...
Daugelio dokumentų sąsaja (angl. Multiple document interface)
Judrus projektų portfelio valdymas
Windows Ribbon Framework
Algoritmai ir duomenų struktūros (ADS)
Klaipėdos Simono Dacho progimnazija
Klaviatūra.
Grupinio darbo programinė įranga Lotus Notes
Presentation transcript:

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:30 2) balandžio 3 d. (ketvirtadienį) nuo 8:30 3) 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:30 6) balandžio 11 d. (penktadienį) nuo 18:00 Galutinis sprendimas dėl datos bus priimamas kovo 6 d. per ADS paskaitą.

Einamoji situacija Grupė Studentų Vidurkis U1-PD U2-LFF&SVS 1 23 0,71 100,00% 8,70% 2 24 0,53   3 26 0,57 4 0,63 5 22 0,60 90,91% Iš viso: 119 0,61 98,32% 1,68% 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ūrimo pageidautina, 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 tikslas perž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

PSP struktūra

Papildoma informacija dėl 3-ios užduoties: užduoties atlikimo eiga Planavimas Projektavimas Kodavimas Kompiliavimas Testavimas „Aptarimas“ Paruošiamos visos formos (užpildomos antraštės) Suplanuojama, kiek laiko užims visas užduoties atlikimas ir kiekviena veikla Plano informacija surašoma į PSF (dalis “Planas”) Kuriama programa Kūrimo eigos duomenys fiksuojami LFF ir DFF Jei padaroma daug vieno tipo defektų, gali būti patikslintas DTS Programa atsiskaitoma (pageidautina) Patikrinamos LFF ir DFF Peržiūrima, kaip vyko programos kūrimas Duomenys iš LFF ir DFF perkeliami į PSF (dalys “Faktas” ir “Iki šiol”) 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 Planavimas Projektavimas Kodavimas Kompiliavimas Testavimas „Aptarimas“ Atsiskaitymas PSP veikla (iš visų fazių) Planavimas (laiko) PSP veikla (formų pildymas) PSP veikla (formų pildymas) 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.

PSP siūlomas defektų tipų standartas Nr Tipo pavadinimas Aprašas   10 Dokumentavimas komentarai, pranešimai Documentation comments, messages 20 Sintaksė sintaksinės klaidos Syntax spelling, punctuation, typos, instruction formats 30 Versijavimas pakeitimų valdymas, versijų kontrolė Build, package change management, library, version control 40 Vardai aprašai, vienodi vardai, galiojimo sritis Assignment declaration, duplicate names, scope, limits 50 Interfeisas funkcijų/procedūrų iškvietimai, įvedimas-išvedimas, vartotojo formatai Interface procedure calls and references, I/O, user formats 60 Kontrolė klaidų pranešimai, nepakankama kontrolė Checking error messages, inadequate checks 70 Duomenys duomenų struktūros ir turinys Data structure, contents 80 Funkcionalumas logika, rodyklės, ciklai, rekursija, skaičiavimai, funkcionalumo defektai Function logic, pointers, loops, recursion, computation, function defects 90 Sistema konfigūracija, sinchronizavimas, atminties valdymas System configuration, timing, memory 100 Aplinka aplinkos (projektavimo, kompiliavimo, testavimo ar kt.) problemos Environment design, compile, test, or other support system problems

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)

Klausimai ?