際際滷

際際滷Share a Scribd company logo
Program 迭 in転inerija Programins 眺rangos projektavimas Funkcinis ir objekti邸kai orientuotas projektavimo metodai
Turinys (1) Funkcinis projektavimas Funkcinio projektavimo metodologija ir procesas Duomen迭 sraut迭 diagramos Strukt笛rins diagramos Duomen迭 転odyno sudarymas
Turinys (2) Objekti邸kai orientuotas projektavimas Objekti邸kai orientuoto projektavimo metodologija ir procesas Objekti邸kai orientuoto projektavimo pavyzdys Funkcinio ir objekti邸kai orientuoto projektavimo metod迭 palyginimas
Funkcinis projektavimas   Funkcinio projektavimo metodologija ir procesas
Funkcinio projektavimo metodologija (1) Funkcinio projektavimo metodologija pagr眺sta programos dekompozicija 眺 rinkin眺 tarpusavyje sveikaujani迭 funkcij迭, 眺skaitant sistemos b笛sen, kurios informacija jos dalinasi (vidin funkcij迭 b笛senos informacija yra palaikoma tik j迭 vykdymo metu)
Funkcinio projektavimo metodologija (2) Funkcinio projektavimo atveju algoritmas saugomas paioje funkcijoje, o sistemos b笛senos informacija 転inoma visiems programos komponentams
Funkcinio projektavimo  taikymas Funkcinis projektavimo metodas yra efektyviausias projektuojant sistem, kur saugomos informacijos kiekis apie jos b笛sen minimalus ir yra ai邸kus informacijos dalijimasis tarp jos komponeni迭 Kai kuriose situacijose tokia architekt笛ra kelia problem迭, nes galimi atvejai, kuomet kuri nors funkcija pakeiia sistemos b笛sen taip, kaip kitos funkcijos to nesitiki
Funkcinio projektavimo procesas Duomen迭 sraut迭 projektavimas.  Jis leid転ia atskleisti, kaip vyksta duomen迭 mainai tarp sistemos funkcij迭, ir kaip jos 眺jimo duomenis transformuoja 眺 i邸jimo duomenis Strukt笛rin dekompozicija.  Pavaizduoja sistemos funkcij迭 hierarchij, pradedant nuo auk邸iausio lygio funkcij迭 ir baigiant 転emiausio lygio funkcijomis Detalus projektavimas.  Jo metu i邸samiai apra邸omos projektavimo metu i邸skirtos sistemos dalys ir j迭 tarpusavio ssajos
Funkcinis projektavimas   Duomen迭 sraut迭 diagramos
Duomen迭 sraut迭 projektavimas Duomen迭 sraut迭 projektavimo metu yra modeliuojamos funkcins transformacijos, kurios gautus 眺jimo duomenis transformuoja 眺 pageidaujamus i邸jimo duomenis
Duomen迭 sraut迭 diagramos Duomen迭 sraut迭 projektavimo rezultatai yra atvaizduojami duomen迭 sraut迭 diagramomis  Duomen迭 sraut迭 diagramos yra patogus ir intuityviai suvokiamas sistemos atvaizdavimo b笛das
Duomen迭 sraut迭 diagramos notacija Diagramos elementas Elemento apra邸ymas Funkcija, kuri paveria 眺jimo duomenis 眺 i邸jimo  Duomen迭 saugykla  Vartotojo sveika su sistema, kurios metu pateikiami 眺jimo duomenys arba gaunami i邸jimo duomenys  Duomen迭 srauto kryptis   and; or Logins i邸rai邸kos, kurios skirtos susieti duomen迭 srautus, kuomet daugiau negu vienas i邸 j迭 gali b笛ti 眺jimo arba i邸jimo duomenimis
Pavyzdys Panagrinkime ataskait迭 generavimo program: Vartotojas programai nurodo diagramos pavadinim, o ataskait迭 generatorius suranda visas esybes, priklausanias nurodytai diagramai, ir j迭 apra邸ymus duomen迭 転odyne Atrinkus vis reikiam informacij, sugeneruojama ataskaita
Ataskait迭 generatoriaus duomen迭 sraut迭 diagrama
Duomen迭 sraut迭 diagramos rezultatas Duomen迭 sraut迭 diagramos parodo duomen迭 transformacijas, taiau nesi笛lo, kaip reikt迭 jas realizuoti Jomis apra邸yta sistema gali b笛ti realizuota kaip viena programa, sudaryta i邸 funkcij迭 ir proced笛r迭, arba kaip visa eil tarpusavyje sveikaujani迭 program迭
Funkcinis projektavimas   Strukt笛rins diagramos
Strukt笛rin dekompozicija Strukt笛rin dekompozija leid転ia parodyti, kaip kuri nors viena funkcija yra realizuota kit迭 funkcij迭, i邸 kuri迭 ji yra sudaryta ir kurias i邸kvieia vykdymo metu, pagalba
Strukt笛rins diagramos Strukt笛rins dekompozijos rezultatams atvaizduoti naudojamos strukt笛rins diagramos, kuriose pavaizduota sistem sudarani迭 funkcij迭 hierarchija, i邸 kurios matyti, kaip viena funkcija i邸kvieia kitas
Strukt笛rins diagramos notacija Diagramos elementas Elemento apra邸ymas Sistemos funkcija   Funkcij迭 susiejimo ry邸ys   町jimo ir i邸jimo duomenys (parametrai arba bendri kintamieji)   Duomen迭 saugykla  Vartotojo 眺vedami duomenys
Strukt笛rins diagramos sudarymas Paprastai duomen迭 sraut迭 diagrama yra paveriama 眺 strukt笛rin diagram Tai nra automatinis procesas  jis reikalauja projektuotojo 眺転valgumo ir k笛rybi邸kumo
Strukt笛rins diagramos sudarymo taisykls (1) Dauguma verslo sistem迭, kurioms funkcinis projektavimas yra pats tinkamiausias, yra sudarytos i邸 trij迭 dali迭: duomen迭 眺vedimo, apimanio j迭 kontrol ir tikrinim duomen迭 apdorojimo duomen迭 i邸vedimo (da転niausiai ataskaitos pavidalu) arba j迭 i邸saugojimo 眺 fail
Strukt笛rins diagramos sudarymo taisykls (2) Jeigu reikalinga duomen迭 kontrol, j realizuojanios funkcijos priskiriamos duomen迭 眺vedimo funkcijoms Atitinkamai ataskait迭 formavimo, saugojimo 眺 failus ir pan. funkcijos turi b笛ti priskirtos duomen迭 i邸vedimo funkcijoms
Strukt笛rins diagramos sudarymo taisykls (3) Kiekviena funkcija turi atlikti tik vien u転duot眺 ir daugiau nieko Kiekvienas strukt笛rins diagramos mazgas gali turti ne daugiau 7 jam pavald転i迭 mazg迭 Jeigu mazgas teturi vien pavald迭 mazg, tai rei邸kia, kad pastarasis negali b笛ti atskira funkcija Jeigu mazgas turi labai daug jam pavald転i迭 mazg迭, vadinasi, sistema i邸skaidyta per smulkiai
Duomen迭 sraut迭 diagramos transformacija 眺 strukt笛rin diagram Duomen迭 apdorojimo transformacij迭 identifikavimas  Duomen迭 眺vedimo transformacij迭 identifikavimas Duomen迭 i邸vedimo transformacij迭 identifikavimas
Ataskait迭 generatoriaus strukt笛rin diagrama Duomen迭  転odynas Duomen迭 転odynas
Funkcinis projektavimas   Duomen迭 転odyno sudarymas
Detalus projektavimas Detalaus projektavimo metu apra邸oma kiekviena sistemos funkcija: jos algoritmas, 眺jimai ir i邸jimai Detalus projektavimas padeda i邸ry邸kinti duomen迭 sraut迭 ir strukt笛rini迭 diagram迭 spragas, todl jos 邸iame etape da転nai yra modifikuojamos
Duomen迭 転odynas Funkcij迭 apra邸ymai yra talpinami 眺 duomen迭 転odyn, kuris leid転ia i邸vengti to paties funkcijos vardo panaudojimo kelis kartus ir atskleisti skaitytojams, kaip projektuotojas 眺sivaizduoja b笛simos sistemos strukt笛r  Duomen迭 転odynuose gali b笛ti saugomi tiek trumpi, neformal笛s funkcij迭 apra邸ymai, tiek ir detalus funkcij迭 apib笛dinimas kokia nors projektavimo apra邸ymo kalba
Ataskait迭 generatoriaus duomen迭 転odyno i邸trauka Esyb Tipas Apra邸ymas Diagramos vardas  STRING  Diagramos vardas, jai priskirtas projektuotojo  町vesti diagramos vard  FUNCTION  町jimas:  Diagramos vardas Funkcija:  funkcija sveikauja su vartotoju tam, kad jis galt迭 眺vesti diagramos, kurios esybi迭 informacijos ataskait jis nori gauti, vard I邸jimas:  Diagramos vardas
Objekti邸kai orientuotas projektavimas   Objekti邸kai orientuoto projektavimo metodologija ir procesas
Objekti邸kai orientuota analiz, projektavimas ir programavimas (1) Objekti邸kai orientuota analiz (OOA), projektavimas (OOP) ir programavimas (OOPRG) yra tarpusavyje susijusios, bet ne tos paios svokos
Objekti邸kai orientuota analiz, projektavimas ir programavimas (2) OOA metu sudaromas objekt迭, priklausani迭 nagrinjamai dalykinei sriiai, modelis OOP metu sudaromas objekti邸kai orientuotos sistemos (P町) modelis, pagal kur眺 bus realizuoti P町 keliami reikalavimai OOPRG metu, naudojant pasirinkt OO programavimo kalb (C++, Java ar kt.), realizuojamas OOP metu sudarytas sistemos modelis
OOP metodologija  objektai Objektas yra realaus pasaulio esybs abstrakcija Objektai yra nepriklausomi vienetai, kuri迭 b笛sena ir realizacijos detals yra paslptos nuo kit迭 objekt迭 (inkapsuliacija) Sistemos funkcionalumas i邸rei邸kiamas objekt迭 teikiamomis paslaugomis (metodais) Objektai tarpusavyje sveikauja 転inui迭 pagalba
OOP metodologija  objekt迭 klass Objektai yra skirstomi 眺 klases Tai paiai klasei priklausantys objektai pasi転ymi tomis paiomis savybmis (atributais ir metodais) Tarp objekt迭 klasi迭 gali egzistuoti paveldjimo ry邸ys: vaiko klass objektai paveldi visas tvo klass objekto savybes bei turi papildomas savo savybes
OOP procesas Apibr転iamas sistemos veikimo kontekstas Sudaroma sistem sudarani迭 objekt迭 klasi迭 diagrama Sukuriami reikalingi statiniai ir dinaminiai modeliai ir/arba apra邸ai, apib笛dinantys sistem sudaranias klases
Objekti邸kai orientuotas projektavimas Sistemos veikimo kontekstas  panaudojimo atvej迭 diagramos
Panaudojimo atvej迭 diagramos Panaudojimo atvej迭 diagramos vaizduoja sistemos vartotojus ir sistemos jiems teikiamas funkcijas
Pavyzdys (1) Nagrinsime adres迭 knyguts program, kurioje saugomas kontakt迭 sra邸as Apie kiekvien kontakt galima su転inoti toki informacij: vard, pavard, adres, 邸al眺, miest, pa邸to indeks ir telefono numer眺 Turi b笛ti galimyb pridti nauj kontakt, redaguoti jau esani迭 kontakt迭 informacij (i邸skyrus vard ir pavard) bei pa邸alinti kontakt
Pavyzdys (2) Turi b笛ti galima r笛邸iuoti kontakt迭 sra邸: abcls tvarka pagal vard ir pavard  pagal pa邸to indeks Turi b笛ti galimyb atsispausdinti kontakt迭 sra邸
Pavyzdys (3) Turi b笛ti galima: sukurti nauj adres迭 knygut atidaryti jau esam adres迭 knygut u転daryti darbin adres迭 knygut u転saugoti adres迭 knygutje atliktus pakeitimus, jei j迭 buvo Vartotojui turi b笛ti galimyb dirbti su keletu adres迭 knygui迭, kiekvien j迭 rodant atskiruose languose
Adres迭 knyguts panaudojimo atvej迭 diagrama
Objekti邸kai orientuotas projektavimas Sistemos objekt迭 klasi迭 diagramos sudarymas
Adres迭 knyguts programos klasi迭 diagrama
Adres迭 knyguts programos klasi迭 apra邸ymas AddressBook Application : pagrindin klas, atsakinga u転 programos paleidim, File System ir GUI objekt迭 suk笛rim File System : klas, atsakinga u転 adres迭 knyguts u転krovim ir i邸saugojim AddressBook GUI : klas, atsakinga u転 adres迭 knyguts valdym AddressBook : klas, atsakinga u転 joje esani迭 kontakt迭 valdym
Objekti邸kai orientuotas projektavimas Sistemos klasi迭 detalus apra邸ymas
Adres迭 knyguts programos klass AddressBook detalus apra邸ymas
Funkcinio ir objekti邸kai orientuoto projektavimo metod迭 palyginimas
Funkcinio projektavimo privalumai ir tr笛kumai Funkcinis projektavimas leid転ia geriau atskleisti sistemos funkcionavim, taiau skaitytojui suteikia ma転ai informacijos apie esybes, kuriomis manipuliuoja sistema
Objekti邸kai orientuoto projektavimo privalumai ir tr笛kumai Objektinis projektavimas leid転ia labai detaliai apra邸yti sistemos naudojamas esybes, lengviau pasiduoda modifikavimui Taiau objektinis projektavimas neleid転ia taip detaliai atskleisti sistemoje vykdom迭 proces迭, kaip funkcinis projektavimas

More Related Content

PI_9paskaita

  • 1. Program 迭 in転inerija Programins 眺rangos projektavimas Funkcinis ir objekti邸kai orientuotas projektavimo metodai
  • 2. Turinys (1) Funkcinis projektavimas Funkcinio projektavimo metodologija ir procesas Duomen迭 sraut迭 diagramos Strukt笛rins diagramos Duomen迭 転odyno sudarymas
  • 3. Turinys (2) Objekti邸kai orientuotas projektavimas Objekti邸kai orientuoto projektavimo metodologija ir procesas Objekti邸kai orientuoto projektavimo pavyzdys Funkcinio ir objekti邸kai orientuoto projektavimo metod迭 palyginimas
  • 4. Funkcinis projektavimas Funkcinio projektavimo metodologija ir procesas
  • 5. Funkcinio projektavimo metodologija (1) Funkcinio projektavimo metodologija pagr眺sta programos dekompozicija 眺 rinkin眺 tarpusavyje sveikaujani迭 funkcij迭, 眺skaitant sistemos b笛sen, kurios informacija jos dalinasi (vidin funkcij迭 b笛senos informacija yra palaikoma tik j迭 vykdymo metu)
  • 6. Funkcinio projektavimo metodologija (2) Funkcinio projektavimo atveju algoritmas saugomas paioje funkcijoje, o sistemos b笛senos informacija 転inoma visiems programos komponentams
  • 7. Funkcinio projektavimo taikymas Funkcinis projektavimo metodas yra efektyviausias projektuojant sistem, kur saugomos informacijos kiekis apie jos b笛sen minimalus ir yra ai邸kus informacijos dalijimasis tarp jos komponeni迭 Kai kuriose situacijose tokia architekt笛ra kelia problem迭, nes galimi atvejai, kuomet kuri nors funkcija pakeiia sistemos b笛sen taip, kaip kitos funkcijos to nesitiki
  • 8. Funkcinio projektavimo procesas Duomen迭 sraut迭 projektavimas. Jis leid転ia atskleisti, kaip vyksta duomen迭 mainai tarp sistemos funkcij迭, ir kaip jos 眺jimo duomenis transformuoja 眺 i邸jimo duomenis Strukt笛rin dekompozicija. Pavaizduoja sistemos funkcij迭 hierarchij, pradedant nuo auk邸iausio lygio funkcij迭 ir baigiant 転emiausio lygio funkcijomis Detalus projektavimas. Jo metu i邸samiai apra邸omos projektavimo metu i邸skirtos sistemos dalys ir j迭 tarpusavio ssajos
  • 9. Funkcinis projektavimas Duomen迭 sraut迭 diagramos
  • 10. Duomen迭 sraut迭 projektavimas Duomen迭 sraut迭 projektavimo metu yra modeliuojamos funkcins transformacijos, kurios gautus 眺jimo duomenis transformuoja 眺 pageidaujamus i邸jimo duomenis
  • 11. Duomen迭 sraut迭 diagramos Duomen迭 sraut迭 projektavimo rezultatai yra atvaizduojami duomen迭 sraut迭 diagramomis Duomen迭 sraut迭 diagramos yra patogus ir intuityviai suvokiamas sistemos atvaizdavimo b笛das
  • 12. Duomen迭 sraut迭 diagramos notacija Diagramos elementas Elemento apra邸ymas Funkcija, kuri paveria 眺jimo duomenis 眺 i邸jimo Duomen迭 saugykla Vartotojo sveika su sistema, kurios metu pateikiami 眺jimo duomenys arba gaunami i邸jimo duomenys Duomen迭 srauto kryptis and; or Logins i邸rai邸kos, kurios skirtos susieti duomen迭 srautus, kuomet daugiau negu vienas i邸 j迭 gali b笛ti 眺jimo arba i邸jimo duomenimis
  • 13. Pavyzdys Panagrinkime ataskait迭 generavimo program: Vartotojas programai nurodo diagramos pavadinim, o ataskait迭 generatorius suranda visas esybes, priklausanias nurodytai diagramai, ir j迭 apra邸ymus duomen迭 転odyne Atrinkus vis reikiam informacij, sugeneruojama ataskaita
  • 15. Duomen迭 sraut迭 diagramos rezultatas Duomen迭 sraut迭 diagramos parodo duomen迭 transformacijas, taiau nesi笛lo, kaip reikt迭 jas realizuoti Jomis apra邸yta sistema gali b笛ti realizuota kaip viena programa, sudaryta i邸 funkcij迭 ir proced笛r迭, arba kaip visa eil tarpusavyje sveikaujani迭 program迭
  • 16. Funkcinis projektavimas Strukt笛rins diagramos
  • 17. Strukt笛rin dekompozicija Strukt笛rin dekompozija leid転ia parodyti, kaip kuri nors viena funkcija yra realizuota kit迭 funkcij迭, i邸 kuri迭 ji yra sudaryta ir kurias i邸kvieia vykdymo metu, pagalba
  • 18. Strukt笛rins diagramos Strukt笛rins dekompozijos rezultatams atvaizduoti naudojamos strukt笛rins diagramos, kuriose pavaizduota sistem sudarani迭 funkcij迭 hierarchija, i邸 kurios matyti, kaip viena funkcija i邸kvieia kitas
  • 19. Strukt笛rins diagramos notacija Diagramos elementas Elemento apra邸ymas Sistemos funkcija Funkcij迭 susiejimo ry邸ys 町jimo ir i邸jimo duomenys (parametrai arba bendri kintamieji) Duomen迭 saugykla Vartotojo 眺vedami duomenys
  • 20. Strukt笛rins diagramos sudarymas Paprastai duomen迭 sraut迭 diagrama yra paveriama 眺 strukt笛rin diagram Tai nra automatinis procesas jis reikalauja projektuotojo 眺転valgumo ir k笛rybi邸kumo
  • 21. Strukt笛rins diagramos sudarymo taisykls (1) Dauguma verslo sistem迭, kurioms funkcinis projektavimas yra pats tinkamiausias, yra sudarytos i邸 trij迭 dali迭: duomen迭 眺vedimo, apimanio j迭 kontrol ir tikrinim duomen迭 apdorojimo duomen迭 i邸vedimo (da転niausiai ataskaitos pavidalu) arba j迭 i邸saugojimo 眺 fail
  • 22. Strukt笛rins diagramos sudarymo taisykls (2) Jeigu reikalinga duomen迭 kontrol, j realizuojanios funkcijos priskiriamos duomen迭 眺vedimo funkcijoms Atitinkamai ataskait迭 formavimo, saugojimo 眺 failus ir pan. funkcijos turi b笛ti priskirtos duomen迭 i邸vedimo funkcijoms
  • 23. Strukt笛rins diagramos sudarymo taisykls (3) Kiekviena funkcija turi atlikti tik vien u転duot眺 ir daugiau nieko Kiekvienas strukt笛rins diagramos mazgas gali turti ne daugiau 7 jam pavald転i迭 mazg迭 Jeigu mazgas teturi vien pavald迭 mazg, tai rei邸kia, kad pastarasis negali b笛ti atskira funkcija Jeigu mazgas turi labai daug jam pavald転i迭 mazg迭, vadinasi, sistema i邸skaidyta per smulkiai
  • 24. Duomen迭 sraut迭 diagramos transformacija 眺 strukt笛rin diagram Duomen迭 apdorojimo transformacij迭 identifikavimas Duomen迭 眺vedimo transformacij迭 identifikavimas Duomen迭 i邸vedimo transformacij迭 identifikavimas
  • 25. Ataskait迭 generatoriaus strukt笛rin diagrama Duomen迭 転odynas Duomen迭 転odynas
  • 26. Funkcinis projektavimas Duomen迭 転odyno sudarymas
  • 27. Detalus projektavimas Detalaus projektavimo metu apra邸oma kiekviena sistemos funkcija: jos algoritmas, 眺jimai ir i邸jimai Detalus projektavimas padeda i邸ry邸kinti duomen迭 sraut迭 ir strukt笛rini迭 diagram迭 spragas, todl jos 邸iame etape da転nai yra modifikuojamos
  • 28. Duomen迭 転odynas Funkcij迭 apra邸ymai yra talpinami 眺 duomen迭 転odyn, kuris leid転ia i邸vengti to paties funkcijos vardo panaudojimo kelis kartus ir atskleisti skaitytojams, kaip projektuotojas 眺sivaizduoja b笛simos sistemos strukt笛r Duomen迭 転odynuose gali b笛ti saugomi tiek trumpi, neformal笛s funkcij迭 apra邸ymai, tiek ir detalus funkcij迭 apib笛dinimas kokia nors projektavimo apra邸ymo kalba
  • 29. Ataskait迭 generatoriaus duomen迭 転odyno i邸trauka Esyb Tipas Apra邸ymas Diagramos vardas STRING Diagramos vardas, jai priskirtas projektuotojo 町vesti diagramos vard FUNCTION 町jimas: Diagramos vardas Funkcija: funkcija sveikauja su vartotoju tam, kad jis galt迭 眺vesti diagramos, kurios esybi迭 informacijos ataskait jis nori gauti, vard I邸jimas: Diagramos vardas
  • 30. Objekti邸kai orientuotas projektavimas Objekti邸kai orientuoto projektavimo metodologija ir procesas
  • 31. Objekti邸kai orientuota analiz, projektavimas ir programavimas (1) Objekti邸kai orientuota analiz (OOA), projektavimas (OOP) ir programavimas (OOPRG) yra tarpusavyje susijusios, bet ne tos paios svokos
  • 32. Objekti邸kai orientuota analiz, projektavimas ir programavimas (2) OOA metu sudaromas objekt迭, priklausani迭 nagrinjamai dalykinei sriiai, modelis OOP metu sudaromas objekti邸kai orientuotos sistemos (P町) modelis, pagal kur眺 bus realizuoti P町 keliami reikalavimai OOPRG metu, naudojant pasirinkt OO programavimo kalb (C++, Java ar kt.), realizuojamas OOP metu sudarytas sistemos modelis
  • 33. OOP metodologija objektai Objektas yra realaus pasaulio esybs abstrakcija Objektai yra nepriklausomi vienetai, kuri迭 b笛sena ir realizacijos detals yra paslptos nuo kit迭 objekt迭 (inkapsuliacija) Sistemos funkcionalumas i邸rei邸kiamas objekt迭 teikiamomis paslaugomis (metodais) Objektai tarpusavyje sveikauja 転inui迭 pagalba
  • 34. OOP metodologija objekt迭 klass Objektai yra skirstomi 眺 klases Tai paiai klasei priklausantys objektai pasi転ymi tomis paiomis savybmis (atributais ir metodais) Tarp objekt迭 klasi迭 gali egzistuoti paveldjimo ry邸ys: vaiko klass objektai paveldi visas tvo klass objekto savybes bei turi papildomas savo savybes
  • 35. OOP procesas Apibr転iamas sistemos veikimo kontekstas Sudaroma sistem sudarani迭 objekt迭 klasi迭 diagrama Sukuriami reikalingi statiniai ir dinaminiai modeliai ir/arba apra邸ai, apib笛dinantys sistem sudaranias klases
  • 36. Objekti邸kai orientuotas projektavimas Sistemos veikimo kontekstas panaudojimo atvej迭 diagramos
  • 37. Panaudojimo atvej迭 diagramos Panaudojimo atvej迭 diagramos vaizduoja sistemos vartotojus ir sistemos jiems teikiamas funkcijas
  • 38. Pavyzdys (1) Nagrinsime adres迭 knyguts program, kurioje saugomas kontakt迭 sra邸as Apie kiekvien kontakt galima su転inoti toki informacij: vard, pavard, adres, 邸al眺, miest, pa邸to indeks ir telefono numer眺 Turi b笛ti galimyb pridti nauj kontakt, redaguoti jau esani迭 kontakt迭 informacij (i邸skyrus vard ir pavard) bei pa邸alinti kontakt
  • 39. Pavyzdys (2) Turi b笛ti galima r笛邸iuoti kontakt迭 sra邸: abcls tvarka pagal vard ir pavard pagal pa邸to indeks Turi b笛ti galimyb atsispausdinti kontakt迭 sra邸
  • 40. Pavyzdys (3) Turi b笛ti galima: sukurti nauj adres迭 knygut atidaryti jau esam adres迭 knygut u転daryti darbin adres迭 knygut u転saugoti adres迭 knygutje atliktus pakeitimus, jei j迭 buvo Vartotojui turi b笛ti galimyb dirbti su keletu adres迭 knygui迭, kiekvien j迭 rodant atskiruose languose
  • 41. Adres迭 knyguts panaudojimo atvej迭 diagrama
  • 42. Objekti邸kai orientuotas projektavimas Sistemos objekt迭 klasi迭 diagramos sudarymas
  • 43. Adres迭 knyguts programos klasi迭 diagrama
  • 44. Adres迭 knyguts programos klasi迭 apra邸ymas AddressBook Application : pagrindin klas, atsakinga u転 programos paleidim, File System ir GUI objekt迭 suk笛rim File System : klas, atsakinga u転 adres迭 knyguts u転krovim ir i邸saugojim AddressBook GUI : klas, atsakinga u転 adres迭 knyguts valdym AddressBook : klas, atsakinga u転 joje esani迭 kontakt迭 valdym
  • 45. Objekti邸kai orientuotas projektavimas Sistemos klasi迭 detalus apra邸ymas
  • 46. Adres迭 knyguts programos klass AddressBook detalus apra邸ymas
  • 47. Funkcinio ir objekti邸kai orientuoto projektavimo metod迭 palyginimas
  • 48. Funkcinio projektavimo privalumai ir tr笛kumai Funkcinis projektavimas leid転ia geriau atskleisti sistemos funkcionavim, taiau skaitytojui suteikia ma転ai informacijos apie esybes, kuriomis manipuliuoja sistema
  • 49. Objekti邸kai orientuoto projektavimo privalumai ir tr笛kumai Objektinis projektavimas leid転ia labai detaliai apra邸yti sistemos naudojamas esybes, lengviau pasiduoda modifikavimui Taiau objektinis projektavimas neleid転ia taip detaliai atskleisti sistemoje vykdom迭 proces迭, kaip funkcinis projektavimas