Programu sistemu in - PowerPoint PPT Presentation

About This Presentation
Title:

Programu sistemu in

Description:

... Pagrindiniai DSDM metodai Laiko skaidymas intervalais Reikalavim prioritetizavimas Prototipavimas Scrum metodika ... Method) : 19 % Ekstremalus ... Presentation ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 26
Provided by: vul93
Category:

less

Transcript and Presenter's Notes

Title: Programu sistemu in


1
Programu sistemu inžinerija
  • Saulius Ragaišis, VU MIF
  • saulius.ragaisis_at_mif.vu.lt

2
Judriuju programu kurimo metodiku manifestas
2001 metais grupe programines irangos praktiku ir
konsultantu paskelbe judriuju programu sistemu
kurimo metodiku manifesta (angl. Agile Software
Development Manifesto) Individai ir ju
bendradarbiavimas yra svarbesni už procesus ir
irankius. Veikianti programine iranga yra
svarbesne už išsamia jos dokumentacija. Bendrada
rbiavimas su užsakovu svarbesnis už kontrakto
derybas. Galimybe reaguoti i pakeitimus
svarbesne už plano vykdyma.
3
Metodiku palyginimas
Veiksnys Tradicines metodikos Judriosios metodikos
Apimtis (reikalavimai) Tiksliai žinoma Dydis gerai suvokiamas Nesikeicianti. Neaiški (ar reikalavimai teisingi?) Nežinoma (Kas yra apimtis?) Besikeicianti.
Resursai (pinigai, infrastruktura, žmones) Patvirtinti ir prieinami Nustatyti iš anksto Biudžetas pakankamas ir finansuojamas Žmones susipažine su užduotimis ir irankiais Nepilnai patvirtinti arba prieinami Patikrinimo poreikis Pinigu nepakanka Biudžetas neapibrežtas Nauju igudžiu poreikis.
Laikas Aiškiai nustatytas Aiškus etapai. Netiksliai nustatytas, atviras Neaiškus etapai Linkes keistis.
Rizikos Gerai suprantamos Nedidele itaka. Naujos technologijos Nežinomos rizikos Didele itaka.
4
Metodiku paplitimas (2001 metai)
Ekstremalus programavimas (angl. eXtreme
Programming, XP) 38 DSDM (angl. Dynamic
Systems Development Method) 19
5
Ekstremalus programavimas
Ekstremalus programavimas (XP) metodika, kurios
pagrindines idejos pradejo formuotis 1990-uju
viduryje ir kurios autoriais laikomi Kent Beck,
Ron Jeffrees ir Ward Cunninghan. XP metodika
skirta daugiausia mažoms ir vidutinems komandoms,
kurios vykdo projekta, pasižyminti reikalavimu
neapibrežtumu arba kitimu.
6
XP proceso struktura
7
Pagrindines XP vertybes
- bendravimas (angl. communication) - paprastumas
(angl. simplicity) - grižtamasis ryšys (angl.
feedback) - drasa (angl. courage).
8
XP praktikos
  1. Planavimo žaidimas
  2. Mažos laidos
  3. Metafora
  4. Paprastas projektas
  5. Pertvarkymas
  6. Testavimas
  7. Programavimas poromis
  8. Bendra kodo nuosavybe
  9. Nuolatinis integravimas
  10. 40-ies darbo valandu savaite
  11. Aktyvus užsakovas
  12. Kodavimo standartai

9
DSDM
DSDM (angl. Dynamic Systems Development Method)
dinaminis programu kurimo metodas, sukurtas 1994
metais ir prižiurimas DSDM konsorciumo, priklauso
judriuju programu kurimo metodiku
grupei. Pagrindine DSDM ideja kurti programu
sistema, atsižvelgiant i kintancius reikalavimus,
siekiant, kad kuriama sistema atitiktu verslo
poreikius.
10
DSDM proceso struktura
11
Pagrindiniai DSDM principai
Principas Komentarai
1. Butinas aktyvus naudotojo itraukimas DSDM yra i naudotojus orientuotas metodas. I kurimo procesa itraukiama tam tikra nedidele grupe naudotoju, kurie pateikia atsiliepimus apie sistema.
2. DSDM komandai privalo buti suteikta sprendimo teise DSDM komanda sudaro kurejai ir naudotojai. Pastariesiems turi buti suteikta spresti, kokius reikalavimus sistema privalo tenkinti, kurie iš ju turetu buti peržiureti arba pakeisti išvengiant dažno vadovybes dalyvavimo.
3. Reikalingas dažnas produkto pristatymas užsakovui. DSDM komandos darbas orientuotas i produktus, kurie gali buti sukurti per sutarta laiko tarpa. Pagal tai, kiek laiko yra skirta užduociai komanda pasirenka užduoties igyvendinimo buda. Iteracijas siekiama daryti kuo trumpesnes, todel galima anksti sulaukti užsakovo vertinimo.
4. Esminis produkto priemimo kriterijus tinkamumas verslo paskirciai DSDM kelia tiksla realizuoti reikalinga funkcionaluma per pageidaujama laiko tarpa. Atitikimas pagrindiniams verslo poreikiams, atsižvelgiant, kad jie gali keistis, yra svarbesnis už sistemos technini tobuluma.
5. Siekiant rasti verslui tinkama sprendima naudojamas cikliškas kurimo procesas. Del cikliško kurimo proceso anksti sulaukiama naudotojo vertinimu, todel ankstyvose fazese ištaisomos klaidos.
12
Pagrindiniai DSDM principai (2)
Principas Komentarai
6. Kurimo metu visi keitimai gali buti atšaukiami. DSDM palaiko grižimo metoda (angl. backtracking). Priemus neteisinga sprendima, grižtama i ankstesne kurimo faze, tokiu budu neteisingas kurimo kelias gali buti ištaisomas. Pakeitimu atsisakymas apribojamas kurimo ciklais.
7. Reikalavimai projektuojami abstrakciu lygiu. Apibrežiami tik pagrindiniai reikalavimai, kurie turetu apibudinti sistemos apimti. Reikalavimai detalizuojami velesnese kurimo fazese ir gali buti keiciami esant poreikiui.
8. Testavimas integruojamas i gyvavimo cikla. Testavimas nera laikomas atskira veikla. Sistema testuojama tiek kureju, tiek naudotoju. Ankstyvose fazese orientuojamasi atitikima verslo poreikiams, veliau testuojama, ar sistema veikia efektyviai.
9. Labai svarbus bendradarbiavimas tarp visu suinteresuotu asmenu (angl. stakeholders). Reikalavimai detalizuojami projekto vykdymo metu ir norint išlaikyti trumpus terminus, reikia priimti sprendimus atsisakant varžanciu pakeitimu kontroles proceduru, todel reikalinga itraukti visus suinteresuotus asmenis ne tik iš verslo puses, taciau ir atstovus iš paslaugu teikimo, logistikos srities.
13
Pagrindiniai DSDM metodai
- laiko skaidymas intervalais (angl. timeboxing),
- reikalavimu prioritetizavimas (angl.
prioritization) - prototipavimas (angl.
prototyping)
14
Laiko skaidymas intervalais
Kiekvienas DSDM projektas turi fiksuota pabaigos
data sistemos realizavimo termina, kuris savo
ruožtu skirstomas i 2-6 savaiciu trukmes
intervalus. Kiekvienas laiko intervalas turi
galutini termina ir priskirta reikalavimu,
suskirstytu pagal prioritetus, rinkini.
Kiekvieno intervalo tikslus nustato kurejai ir
naudotojai. Svarbus laiko skaidymo intervalais
aspektas kontrole nera paremta konkreciu
užduociu visapusišku igyvendinimu jei kažkuriame
laiko intervale nebuvo pasiekti tam tikri
rezultatai, apimtis peržiurima reikalavimai
gali buti nukeliami, taciau terminas ne.
Naudotojai tokiu atveju nusprendžia, kurie
reikalavimai bus itraukiami i sekanti laikotarpi
ar nukeliami veliau. Šio metodo tikslas
kontroliuoti projekto eiga, bet kartu gali buti
naudojamas reikalingu resursu, sukurti veikiancia
sistema, kiekiui ivertinti.
15
Reikalavimu prioritetizavimas
Reikalavimams suskirstyti pagal prioritetus DSDM
naudojamos vadinamosios MoSCoW taisykles. Prival
omieji (angl. Must have) Reikalingi (angl.
Should have). Galimi (angl. Could
have). Vertingi, taciau gali buti atideti
(angl. Want to have but Wont have this time
round).
16
Prototipavimas
DSDM metodika rekomenduoja 4 tipu
prototipus 1. Verslo, skirti automatizuojamu
verslo aspektu demonstravimui. 2. Tinkamumo
naudoti naudotojo interfeiso demonstravimui. 3.
Efektyvumo/sugebejimu sistemos sugebejimo
sekmingai atlikti numatyta darba. Šis prototipas
skirtas kurejams, kadangi susijes su
nefunkciniais reikalavimais. 4. Gebejimu/metodu
koncepcijos tikrinimui ir projektavimo bandymams.
17
Scrum metodika
Ši judrioji programu kurimo metodika buvo sukurta
90-aisiais metais grupes, kuriai vadovavo Jeff
Sutherland. Paskutiniu metu ji vystoma K.Schwaber
ir M.Beedle darbuose. Scrum principai atitinka
judriuju metodiku manifesta - Mažos komandos
turi maksimizuoti bendravima, neformalu keitimasi
informacija ir žiniomis bei minimizuoti
papildomas valdymo sanaudas. - Procesas turi buti
pritaikomas prie techniniu ir verslo salygu
pasikeitimu, kad užtikrintu geriausio imanomo
produkto sukurima. - Procesas orientuotas i
dažnas programos laidas (versijas). - Darbai ir
juos atliekantys žmones dalinami i aiškias ir
mažai susijusias grupes. - Kuriamas produktas
butinai testuojamas ir dokumentuojamas. - Scrum
procesas sudaro galimybe paskelbti produkta
sukurtu, kada tik to reikia.
18
Esmines Scrum proceso veiklos
  • reikalavimai (angl. requirements),
  • analize (angl. analysis),
  • projektavimas (angl. design),
  • igyvendinimas (angl. evolution)
  • pateikimas (angl. delivery).
  • Produktas kuriamas iteracijomis, kurios vadinamos
    sprintais (angl. sprints). .

19
Scrum proceso struktura
20
Esmines Scrum savokos
Užsakymu krepšelis (angl. backlog)
prioritetizuotas sarašas svarbiu užsakovo verslui
reikalavimu ar sistemos savybiu. Šis sarašas gali
buti papildomas/patikslinamas bet kuriuo metu.
Kai prireikia, produkto vadovas (angl. product
manager) ivertina užsakymus ir patikslina
prioritetus. Sprintas (angl. sprint) darbai,
kurie turi buti atlikti pasirinktu užsakymu iš
krepšelio (angl. backlog) igyvendinimui per
nustatyta laiko intervala (angl. time-box), kuris
tradiciškai yra 30 dienu. Sprinto metu jame
igyvendinami užsakymai yra užšaldomi (t.y.
jokie reikalavimu pakeitimai nedaromi). Tokiu
budu komandai sudaromos salygos sprinto metu
dirbti stabilioje aplinkoje.
21
Esmines Scrum savokos (2)
Scrum susirinkimai (angl. Scrum meetings)
trumpi (tradiciškai 15 minuciu) kasdieniniai
Scrum komandos susirinkimai, kuriu metu
kiekvienas komandos narys atsako i 3
klausimus - Ka padare nuo paskutinio komandos
susitikimo? - Su kokiomis kliutimis, problemomis
susidure? - Ka planuoja padaryti iki kito
komandos susitikimo? Susitikimui vadovauja ir
komandos nariu atsakymus vertina komandos
lyderis, vadinamas Scrum meistru (angl. Scrum
master). Susirinkimai padeda komandai
identifikuoti galimas problemas, kiek imanoma,
anksciau. Be to, šie susirinkimai veda prie
žiniu suvisuomeninimo (visi žino tikslia
projekto busena) ir skatina saviorganizuojancia
komandos struktura.
22
Esmines Scrum savokos (3)
Demo (angl. demos) programos laidos pateikiamos
užsakovams tam, kad igyvendintas funkcionalumas
galetu buti išbandytas ir ivertintas. Svarbu
pastebeti, kad demo gali netureti viso planuoto
funkcionalumo, iš esmes jame yra funkcijos,
kurios galejo buti igyvendintos per nustatyta
laiko intervala (angl. time-box), t.y.
prioritetas teikiamas laikui, o ne planuotam
funkcionalumui. Teigiama, kad Scrum metodika
igalina komanda sekmingai dirbti aplinkoje,
kurioje neapibrežtumu išvengti neimanoma.
23
Crystal metodikos
Crystal judriuju metodiku šeima sukure Alistair
Cockburn ir Jim Highsmith. Pavadinimas Crystal
buvo parinktas pagal geologiniu kristalu
charakteristikas kiekvienas kristalas yra
unikalus, turintis savo spalva, forma ir kietuma.
Siekiamas tikslas buvo maksimalus manevringumas,
kuris charakterizuojamas kaip kolektyvinis
kurimo ir bendravimo žaidimas su ribotais
resursais, siekiant pirmiausia patiekti naudinga,
veikiancia programu sistema, o taip pat
pasirengti sekanciam žaidimui. Siekdami
manevringumo autoriai apibreže aibe metodiku,
turinciu bendrus esminius elementus, taciau
unikalius procesus, šablonus, darbo produktus,
roles ir praktikas. Praktiškai tai aibe judriuju
metodiku, kurios pasirode efektyvios skirtingo
tipo projektuose. Siekiamas tikslas suteikti
judrioms komandoms galimybe pasirinkti iš
metodiku šeimos ta, kuri labiausiai tinka ju
projektui ir aplinkai.
24
Judriuju ir planais paremtu metodu derinimas
1. Nei judriosios metodikos, nei planais paremti
metodai nepateikia sidabrines kulkos. 2. Judriosio
s metodikos ir planais paremti metodai turi
taikymo salygas, kuriose neabejotinai dominuoja
prieš kitus metodus. 3. Ateities tendencijos yra
link programu sistemu kurimo, kuriam reikia ir
judrumo, ir disciplinos. 4. Atsiranda
subalansuoti metodai. 5. Geriau konstruoti savo
metoda i viršu nei prisitaikyti ji
žemyn. 6. Metodai yra svarbus, taciau labiau
tiketina rasti sidabrine kulka užsiimant
žmonemis, vertybemis, komunikavimu ir vilciu
valdymu.
25
?
Write a Comment
User Comments (0)
About PowerShow.com