1 / 25

Programų sistemų inžinerija

Programų sistemų inžinerija. Saulius Ragaišis , VU MIF saulius.ragaisis@mif.vu.lt. Judriųjų programų kūrimo metodikų manifestas.

bryce
Download Presentation

Programų sistemų inžinerija

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programų sistemų inžinerija Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt

  2. Judriųjų programų kūrimo metodikų manifestas 2001 metais grupė programinės įrangos praktikų ir konsultantų paskelbė judriųjų programų sistemų kūrimo metodikų manifestą (angl. Agile Software Development Manifesto): • Individai ir jų bendradarbiavimas yra svarbesni už procesus ir įrankius. • Veikianti programinė įranga yra svarbesnė už išsamią jos dokumentaciją. • Bendradarbiavimas su užsakovu svarbesnis už kontrakto derybas. • Galimybė reaguoti į pakeitimus svarbesnė už plano vykdymą.

  3. Metodikų palyginimas

  4. Metodikų 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 pagrindinės idėjos pradėjo formuotis 1990-ųjų viduryje ir kurios autoriais laikomi Kent Beck, Ron Jeffrees ir Ward Cunninghan. XP metodika skirta daugiausia mažoms ir vidutinėms komandoms, kurios vykdo projektą, pasižymintį reikalavimų neapibrėžtumu arba kitimu.

  6. XP proceso struktūra

  7. Pagrindinės XP vertybės - bendravimas (angl. communication); - paprastumas (angl. simplicity); - grįžtamasis ryšys (angl. feedback); - drąsa (angl. courage).

  8. XP praktikos • Planavimo žaidimas • Mažos laidos • Metafora • Paprastas projektas • Pertvarkymas • Testavimas • Programavimas poromis • Bendra kodo nuosavybė • Nuolatinis integravimas • 40-ies darbo valandų savaitė • Aktyvus užsakovas • Kodavimo standartai

  9. DSDM DSDM (angl. Dynamic Systems Development Method) – dinaminis programų kūrimo metodas, sukurtas 1994 metais ir prižiūrimas DSDM konsorciumo, priklauso judriųjų programų kūrimo metodikų grupei. Pagrindinė DSDM idėja – kurti programų sistemą, atsižvelgiant į kintančius reikalavimus, siekiant, kad kuriama sistema atitiktų verslo poreikius.

  10. DSDM proceso struktūra

  11. Pagrindiniai DSDM principai

  12. Pagrindiniai DSDM principai (2)

  13. Pagrindiniai DSDM metodai - laiko skaidymas intervalais (angl. timeboxing), - reikalavimų prioritetizavimas (angl. prioritization) - prototipavimas (angl. prototyping)

  14. Laiko skaidymas intervalais Kiekvienas DSDM projektas turi fiksuotą pabaigos datą – sistemos realizavimo terminą, kuris savo ruožtu skirstomas į 2-6 savaičių trukmės intervalus. Kiekvienas laiko intervalas turi galutinį terminą ir priskirtą reikalavimų, suskirstytų pagal prioritetus, rinkinį. Kiekvieno intervalo tikslus nustato kūrėjai ir naudotojai. Svarbus laiko skaidymo intervalais aspektas – kontrolė nėra paremta konkrečių užduočių visapusišku įgyvendinimu: jei kažkuriame laiko intervale nebuvo pasiekti tam tikri rezultatai, apimtis peržiūrima – reikalavimai gali būti nukeliami, tačiau terminas – ne. Naudotojai tokiu atveju nusprendžia, kurie reikalavimai bus įtraukiami į sekantį laikotarpį ar nukeliami vėliau. Šio metodo tikslas – kontroliuoti projekto eigą, bet kartu gali būti naudojamas reikalingų resursų, sukurti veikiančią sistemą, kiekiui įvertinti.

  15. Reikalavimų prioritetizavimas Reikalavimams suskirstyti pagal prioritetus DSDM naudojamos vadinamosios MoSCoW taisyklės. • Privalomieji (angl. Must have) • Reikalingi (angl. Should have). • Galimi (angl. Could have). • Vertingi, tačiau gali būti atidėti (angl.Want to have but Won’t have this time round).

  16. Prototipavimas DSDM metodika rekomenduoja 4 tipų prototipus: 1. Verslo, skirti automatizuojamų verslo aspektų demonstravimui. 2. Tinkamumo naudoti – naudotojo interfeiso demonstravimui. 3. Efektyvumo/sugebėjimų – sistemos sugebėjimo sėkmingai atlikti numatytą darbą. Šis prototipas skirtas kūrėjams, kadangi susijęs su nefunkciniais reikalavimais. 4. Gebėjimų/metodų – koncepcijos tikrinimui ir projektavimo bandymams.

  17. Scrum metodika Ši judrioji programų kūrimo metodika buvo sukurta 90-aisiais metais grupės, kuriai vadovavo Jeff Sutherland. Paskutiniu metu ji vystoma K.Schwaber ir M.Beedle darbuose. Scrum principai atitinka judriųjų metodikų manifestą: - Mažos komandos turi maksimizuoti bendravimą, neformalų keitimąsi informacija ir žiniomis bei minimizuoti papildomas valdymo sąnaudas. - Procesas turi būti pritaikomas prie techninių ir verslo sąlygų pasikeitimų, kad užtikrintų geriausio įmanomo produkto sukūrimą. - Procesas orientuotas į dažnas programos laidas (versijas). - Darbai ir juos atliekantys žmonės dalinami į aiškias ir mažai susijusias grupes. - Kuriamas produktas būtinai testuojamas ir dokumentuojamas. - Scrum procesas sudaro galimybę paskelbti produktą „sukurtu“, kada tik to reikia.

  18. Esminės Scrum proceso veiklos • reikalavimai (angl. requirements), • analizė (angl. analysis), • projektavimas (angl. design), • įgyvendinimas (angl. evolution) • pateikimas (angl. delivery). • Produktas kuriamas iteracijomis, kurios vadinamos sprintais (angl. sprints). .

  19. Scrum proceso struktūra

  20. Esminės Scrum sąvokos Užsakymų krepšelis (angl. backlog) – prioritetizuotas sąrašas svarbių užsakovo verslui reikalavimų ar sistemos savybių. Šis sąrašas gali būti papildomas/patikslinamas bet kuriuo metu. Kai prireikia, produkto vadovas (angl. product manager) įvertina užsakymus ir patikslina prioritetus. Sprintas (angl. sprint) – darbai, kurie turi būti atlikti pasirinktų užsakymų iš krepšelio (angl. backlog) įgyvendinimui per nustatytą laiko intervalą (angl. time-box), kuris tradiciškai yra 30 dienų. Sprinto metu jame įgyvendinami užsakymai yra „užšaldomi“ (t.y. jokie reikalavimų pakeitimai nedaromi). Tokiu būdu komandai sudaromos sąlygos sprinto metu dirbti stabilioje aplinkoje.

  21. Esminės Scrum sąvokos (2) Scrum susirinkimai (angl. Scrum meetings) – trumpi (tradiciškai 15 minučių) kasdieniniai Scrum komandos susirinkimai, kurių metu kiekvienas komandos narys atsako į 3 klausimus: - Ką padarė nuo paskutinio komandos susitikimo? - Su kokiomis kliūtimis, problemomis susidūrė? - Ką planuoja padaryti iki kito komandos susitikimo? Susitikimui vadovauja ir komandos narių atsakymus vertina komandos lyderis, vadinamas Scrum meistru (angl. Scrum master). Susirinkimai padeda komandai identifikuoti galimas problemas, kiek įmanoma, anksčiau. Be to, šie susirinkimai veda prie „žinių suvisuomeninimo“ (visi žino tikslią projekto būseną) ir skatina saviorganizuojančią komandos struktūrą.

  22. Esminės Scrum sąvokos (3) Demo (angl. demos) – programos laidos pateikiamos užsakovams tam, kad įgyvendintas funkcionalumas galėtų būti išbandytas ir įvertintas. Svarbu pastebėti, kad demo gali neturėti viso planuoto funkcionalumo, iš esmės jame yra funkcijos, kurios galėjo būti įgyvendintos per nustatytą laiko intervalą (angl. time-box), t.y. prioritetas teikiamas laikui, o ne planuotam funkcionalumui. Teigiama, kad Scrum metodika įgalina komandą sėkmingai dirbti aplinkoje, kurioje neapibrėžtumų išvengti neįmanoma.

  23. Crystal metodikos Crystal judriųjų metodikų šeimą sukūrė Alistair Cockburn ir Jim Highsmith. Pavadinimas „Crystal“ buvo parinktas pagal geologinių kristalų charakteristikas – kiekvienas kristalas yra unikalus, turintis savo spalvą, formą ir kietumą. Siekiamas tikslas buvo maksimalus manevringumas, kuris charakterizuojamas kaip „kolektyvinis kūrimo ir bendravimo žaidimas su ribotais resursais, siekiant pirmiausia patiekti naudingą, veikiančią programų sistemą, o taip pat pasirengti sekančiam žaidimui“. Siekdami manevringumo autoriai apibrėžė aibę metodikų, turinčių bendrus esminius elementus, tačiau unikalius procesus, šablonus, darbo produktus, roles ir praktikas. Praktiškai tai aibė judriųjų metodikų, kurios pasirodė efektyvios skirtingo tipo projektuose. Siekiamas tikslas suteikti „judrioms“ komandoms galimybę pasirinkti iš metodikų šeimos tą, kuri labiausiai tinka jų projektui ir aplinkai.

  24. Judriųjų ir planais paremtų metodų derinimas 1. Nei judriosios metodikos, nei planais paremti metodai nepateikia sidabrinės kulkos. 2. Judriosios metodikos ir planais paremti metodai turi taikymo sąlygas, kuriose neabejotinai dominuoja prieš kitus metodus. 3. Ateities tendencijos yra link programų sistemų kūrimo, kuriam reikia ir judrumo, ir disciplinos. 4. Atsiranda subalansuoti metodai. 5. Geriau konstruoti savo metodą „į viršų“ nei prisitaikyti jį „žemyn“. 6. Metodai yra svarbūs, tačiau labiau tikėtina rasti sidabrinę kulką užsiimant žmonėmis, vertybėmis, komunikavimu ir vilčių valdymu.

  25. ?

More Related