2. Turinys P町 projektavimo procesas, jo metodikos ir sprend転iamos problemos P町 architekt笛ros samprata P町 projektavimo notacijos P町 projektavimo metodai
4. Kas tai yra P町 projektavimas? P町 projektavimas apibr転iamas kaip sistemos/komponento architekt笛ros, interfeis迭 ir j/j眺 sudarani迭 komponent迭 i邸skyrimo procesas bei 邸io proceso rezultatas
5. P町 projektavimas - program迭 in転inerijos proceso dalis P町 projektavimo procesas yra viena i邸 program迭 in転inerijos proceso veikl迭, kurios metu: nagrinjami P町 reikalavimai sudaromas b笛simos sistemos strukt笛ros apra邸ymas, kuris vliau naudojamas P町 programavimo metu
6. P町 projektavimo svarba P町 projektavimo procesas vaidina svarb迭 vaidmen眺 P町 k笛rimo procese: jo metu sukurti 眺vair笛s P町 architekt笛r atvaizduojantys modeliai naudojami kaip sistemos realizacijos planas turimi modeliai leid転ia 眺vertinti, ar suprojektuota P町 architekt笛ra leis realizuoti visus jai keliamus funkcinius ir nefunkcinius reikalavimus remiantis sudarytu P町 architekt笛ros projektu galima pateikti alternatyvius jos realizacijos pasi笛lymus
7. P町 projektavimo proceso etapai P町 projektavimo proces sudaro 2 etapai: architekt笛ros projektavimas ( architectural design ) jo metu P町 yra i邸skaidoma 眺 atskirus komponentus detalus projektavimas ( detailed design ) jo metu yra apra邸omas P町 sudarani迭 komponent迭 funkcionavimas
8. P町 projektavimo proceso rezultatas P町 projektavimo proceso rezultatas yra modeli迭 , apra邸ani迭 priimtus projektavimo sprendimus, rinkinys
9. P町 projektavimo metodikos (1) Abstrakcija: tai atitr笛kimas nuo neesmini迭 nagrinjamo dalyko pusi迭, siekiant susikoncentruoti ties svarbiausiais jo bruo転ais P町 projektavime naudojami du abstrakcijos mechanizmai: parametrizacija ir specifikacija specifikacija naudoja 3 abstrakcijos mechanizmus: proced笛rin, duomen迭 ir kontrols abstrakcij
10. P町 projektavimo metodikos (2) Sujungimas ir ry邸i迭 nustatymas: sujungimas nusako ry邸ius tarp sistemos moduli迭 ry邸i迭 nustatymas parodo kiekvien modul眺 sudarani迭 element迭 tarpusavio ry邸ius Dekompozicija: sudtinga P町 i邸skaidoma 眺 nepriklausomus komponentus tam, kad kiekvienas j迭 galt迭 atlikti skirtingas f-jas
11. P町 projektavimo metodikos (3) Inkapsuliacija: jos metu elementai yra grupuojami ir suskirstomi 眺 paketus, paslepiant vidines abstrakcijos detales tam, kad jos b笛t迭 nepasiekiamos i邸 i邸ors Interfeiso ir realizacijos atskyrimas: apra邸ant komponent, jo realizacija atskiriama nuo vie邸o interfeiso, prieinamo i邸oriniams klientams
12. P町 projektavimo metodikos (4) Pakankamumas, pilnumas ir paprastumas: P町 komponentas turi pasi転ymti visomis svarbiomis abstrakcijos savybmis ir neturti joki迭 papildom迭 charakteristik迭
13. P町 projektavimo sprend転iamos problemos (1) Lygiagretumas: kaip i邸skaidyti P町 眺 procesus, u転duotis ir fredus ( threads ), kad b笛t迭 u転tikrintas jos na邸umas, proces迭 sinchronizacija ir planavimas Komponent迭 paskirstymas: kaip paskirstyti P町 komponentus kompiuterinei 眺rangai, kaip u転tikrinti komponent迭 tarpusavio sveik ir t.t
14. P町 projektavimo sprend転iamos problemos (2) Klaid迭 ir nenumatyt迭 situacij迭 valdymas: kaip apdoroti sistemoje pasirod転iusias klaidas ir nenumatytas situacijas Sveika ir atvaizdavimas: kaip u転tikrinti sistemos sveik su vartotojais ir atvaizduoti jos generuojam informacij Duomen迭 valdymas: kaip saugoti ir tvarkyti ilg laik naudojamus duomenis
16. P町 architekt笛ros apibr転imas P町 architekt笛ra tai P町 sudarani迭 posistemi迭 ir komponent迭 bei ry邸i迭 tarp j迭 apra邸ymas
17. P町 architekt笛ros projektavimas P町 architekt笛ra gali b笛ti projektuojama skirtingais aspektais: kiekvienas j迭 parodo sistem i邸 tam tikro ta邸ko, akcentuodamas kokias nors specifines jos savybes
18. P町 architekt笛ros projektavimo aspektai Loginis vaizduoja sistemos funkcinius reikalavimus Fizinis vaizdas parodo sistemos paskirstym techniniams 眺renginiams Realizacijos vaizdas parodo sistemos i邸skaidym 眺 vykdomuosius vienetus
20. Kas tai yra notacija? P町 projektavimo notacijos skirtos grafi邸kai arba tekstu pavaizduoti projektavimo proceso metu priimtiems sprendimams Kai kurios i邸 egzistuojani迭 notacij迭 skirtos auk邸to lygio sistemos projektavimui, kitos detaliam projektavimui
21. Notacij迭 tipai Strukt笛rins notacijos grafi邸kai apra邸o ir atvaizduoja P町 projektavimo strukt笛rinius aspektus Dinamins notacijos grafi邸kai arba tekstu apra邸o ir atvaizduoja P町 komponent迭 tarpusavio sveik (jos da転niausiai naudojamos detalaus projektavimo metu)
30. Sek迭 diagramos Sek迭 diagrama parodo sveik tarp sistemos objekt迭, i邸skirdama objektus, ry邸ius tarp j迭 ir ry邸io metu perduodam迭 転inui迭 eili邸kum
31. B笛sen迭 diagramos B 笛 sen 迭 diagrama vaizduoja objekto per jimus i邸 vienos b 笛 senos 眺 kit
32. Pseudo kodas Pseudo kodas yra programos algoritmo apra邸ymas, kuriame naudojami programavimo kalbos strukt笛riniai elementai, taiau nesilaikoma programavimo kalbos sintakss
33. Pseudo kodo pavyzdys (1) Turime PHP programos kodo i邸trauk: <?php if (is_valid($cc_number)) { execute_transaction($cc_number, $order); } else { show_failure(); } ?>
34. Pseudo kodo pavyzdys (2) PHP programos kodo i邸trauka, u転ra邸yta pseudo kodu: if kredito kortel galiojanti then vykdyti transakcij, naudojant kortels nr. ir u転sakymo duomenis else rodyti klaidos prane邸im end if
37. Funkcinis arba strukt笛rinis projektavimas Tai vienas i邸 klasikini迭 P町 projektavimo metod迭, kurio metu identifikuojamos kuriamos P町 funkcijos Jos kruop邸iai i邸analizuojamos ir i邸skaidomos 眺 smulkesnes funkcijas, 邸ios 眺 dar smulkesnes ir t.t., kol gaunamas i邸samus b笛simos sistemos modelis alia gauto modelio labai da転nai yra pateikiamos duomen迭 sraut迭 diagramos ir su jomis susij vykdom迭 proces迭 apra邸ymai
38. Objekti邸kai orientuotas projektavimas iuo metu si笛loma nema転ai objekti邸kai orientuoto (OO) projektavimo technik迭 Jo prad転ia siekia 1980 m., kuomet buvo pasi笛lytas pats paprasiausias OO projektavimo b笛das: daiktavardis = objektas; veiksma転odis = metodas; b笛dvardis = atributas Dabar si笛lomos sudtingos OO projektavimo technikos, kuriose naudojami paveldjimas, polimorfizmas ir kt.
39. Duomen迭 projektavimas Duomen迭 projektavimas sistemos projektavim pradeda ne nuo jos atliekam迭 f-j迭, bet nuo duomen迭, kuriais manipuliuoja sistema, analizs Projektuotojas pirmiausia identifikuoja 眺jimo ir i邸jimo duomen迭 strukt笛ras ir tik po to projektuoja programos, apdorosianios sumodeliuotas duomen迭 strukt笛ras, architekt笛r