Modul 5 - Arhitektura i Dizajn Paterni

download Modul 5 - Arhitektura i Dizajn Paterni

of 41

Transcript of Modul 5 - Arhitektura i Dizajn Paterni

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    1/41

    Objektno-orijentisana analiza i projektovanjeObjektno-orijentisana analiza i projektovanjesa UML-omsa UML-om

    DEV475DEV475 Mastering Object-Oriented Analysis and Design with UML - VolumeMastering Object-Oriented Analysis and Design with UML - Volume 1,1, Modl 5Modl 5

    !ro"# dr $n%elina &je%'Vanredni profesor Univeriteta !ingidunumanje%s(sin%idnm#a)#rs

    *eo%rad, +.+/#

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    2/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    2iljevi3Objasniti namen analize ar0itektre i kom ivotnom )ikls seizvr'ava

    Opisati me0anizme analize i paterne ar0itektre i kako one ti naar0itektr

    !rikazati kako tmaiti rezltate analize ar0itektre

    6ora)i36ljni kon)epti

    De"inisanje or%aniza)ije podsistema na vi'em nivodenti"ikovanje me0anizama analize

    denti"ikovanje kljni0 apstrak)ija

    6reiranje se )ase realiza)ije

    !itanja

    Modul 5Modul 53 $naliza ar0itektre3 $naliza ar0itektre

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    3/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

     $naliza ar0itektre $naliza ar0itektre

     $naliza ar0itektrepodrazmeva kako 8eprojektni tim de"inisati%lobaln ar0itektrsistema

    9oks je na vi'imslojevima sistema

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    4/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    !re%led analize ar0itektre!re%led analize ar0itektre

    Ulazni arti"akti :inptarti"a)ts;3Use )ase modelDodatna spe)i"ika)ijaenja:deplo?ment model;

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    5/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

     $naliza ar0itektre - @4A1 po%ledB $naliza ar0itektre - @4A1 po%ledB

    6od analize ar0itektre, "oks je na lo%ikom po%led :lo%i)al vieC;

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    6/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    ta je paketta je paket

    !re ne%o 'to de"ini'emo vi'eslojeve ar0itektre neop0odno je da se podsetimo kljni0kon)epata

    !aket : pac"age; je me0anizamop'te namene koji sli daor%anizje elemente %rpe

    to je element modela koji moeda sadri dr%e elementemodela

    !aket se moe koristiti3Fa or%anizovanje modela tok razvoja6ao jedini)a menadmentakon"i%ra)ije

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    7/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    paketa3 Favisnost paketa3 Favisnost

    !aketi mo% biti povezani rela)ijom zavisnosti Elementi paket mo% importovati elemente iz dr%i0 paketa 'to se i prikazje rela)ijom

    zavisnosti UML

    Ukoliko je paket $ zavisan od paketa *, to znai da je jedna ili vi'e klasa iz paketa $zapoinje komnika)ij sa jednom ili vi'e javni0 klasa iz paketa *

    !aket $ se naziva klijentski paket :client pac"age;, a paket * se naziva snabdevakipaket :supplier pac"age; paketa se tako>e otkrivaj ispitivanjem s)enarija i rela)ija klasa

    sistem koji se razvija

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    8/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    !rimer3 paketa !rimer3 paketa problem re%istra)ije krsevaproblem re%istra)ije krseva

    U s)enarij Add a #ourse Offering  klasa Add#ourseOffering  'alje pork klasi $rofessor#ourseManager , 'to kazje na toda postoji rela)ija izme> paketa %nterfaces i paketaUniversityArtifacts

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    9/41

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    10/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    zbe%avanje krni0 zavisnostizbe%avanje krni0 zavisnosti

    Veoma je vano izbe8i krne zavisnosti izme> paketa okvir analize ar0itektre

    !roblem se re'ava tako 'to se jedan paket razbija na dva manja

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    11/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    !aterni i okviri!aterni i okviri

    &a izbor vi'i0 slojeva ar0itektre moe ti)ati izborpaterna i okvira ar0itektre3

    !aterni : pattern;Obezbe>je op'te re'enje za op'ti problem

    !aterni analize.projektovanjaObezbe>je re'enja za te0niki problemObezbe>je "ra%ment re'enja

    Okvir :framewor" ;De"ini'e %eneralni pristp re'avanj problemaObezbe>je kostr re'enjaOmo%8ava skalabilnost razvoja :sposobnost brzo% razvoja iisporke sistema;

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    12/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    ta je patern ar0itektreta je patern ar0itektre

    !atern ar0itektre :architectural pattern; je jedna "ndamentalna'ema strktrne or%aniza)ije za so"tverske sisteme

    Obezbe>je skp prede"inisani0 podsistema, odre>je nji0oveod%ovornosti i kljje pravila i smerni)e za or%anizovanje rela)ijame> njima

    Slojevi :layers; G paterni slojeva dele aplika)ij na razliite slojeveapstrak)ije# =lojevi id od slojeva odre>eni0 aplika)ijom na vr0 do slojevaodre>eni0 implementa)ijom.te0nolo%ijom na dn

     Model-view-controller :M-V-2; G MV2 paterni dele aplika)ij na tri parti)ije3model :poslovna pravila i poda)i;, po%led :kako se in"orma)ije prikazjkorisni)ima; i re%lator koji obra>je inpte korisnika

    Cevi ( pipes) i filteri G okvir ovo% paterna, poda)i se obra>j tokovima:streams; koji tek kroz )evi od "iltera do "ilteraK svaki "ilter obra>je tepodatke

    Tabla (blackboard ) G ovaj patern je tamo %de nezavisne aplika)ije sara>jkako bi proizvele re'enje, rade8i na zajednikoj strktri podatakaU jednoj ar0itektri moe biti vi'e paternaK svaki od pret0odni0 paternare'ava odre>ene probleme i odnosi se na odre>ene karakteristikesistema, karakteristike per"ormansi i pro)ese i distrib)ij&a ovom predmet 8e se razmatrati samo patern ar0itektre3 =lojevi:Layers;

    ! j kt j i " i i0 i t " d $ li &j '

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    13/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    !aterni ar0itektre3 =lojevi!aterni ar0itektre3 =lojevi

    Veliki sistemi se morajdekomponovati =istem mora da vodi

    rana i o 0ardver i oop'tim servisima idomen problema itd#

    &ije poeljno pisativertikalne komponente

    koje rade na svimnivoimaDelovi sistema treba dabd zamenjivi!romene komponentama ne bitrebalo da se osete=line od%ovornosti bitrebalo %rpisati zajednoVeliina komponenti Gkompleksnekomponente bi trebalodekomponovati=trktirati sistem %rpe komponenata koji"ormiraj slojeve

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    14/41

    ! j kt j i " i i0 i t! j kt j i " i i0 i t " d $ li &j '" d $ li &j '

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    15/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    !rimer troslojne ar0itektre!rimer troslojne ar0itektre

    !rojekto anje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro" dr $n%elina &je% 'pro" dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    16/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    Model-VieC-2ontroller :MV2; patternModel-VieC-2ontroller :MV2; pattern Upotrebljivost so"tvera %lavnom zavisi od korisniki0 inter"ejsa :User %nterface, U;

    = obzirom da sloj prezenta)ije predstavlja korisnike inter"ejse :U; korisni)ima, re'enja problema trebada bd standardna G ovde dolaze dizajn paterni sloja prezenta)ije

    6od Neb aplika)ija treba odvojiti lo%ik koja se bavi samom prezenta)ijom, podatke koje treba predstavitii kontrol toka lo%ike G od%ovor na ovo je dizajniran Model-VieC-2ontroller ili MV2 pattern

    MV2 se sastoji od tri razliite komponente, sled prirode server strane sloja prezenta)ijeK ovaj sloj ne

    vodi rana samo o U ve8 i o stanj aplika)ije :dr%im reima poda)i koji se trentno predstavljaj kaostanje se prikazj vrednostima sadrani0 atribtima objekta; ve8 rkje i obradom korisniki0podataka preko kontrole toka

    =loj prezenta)ije je podeljen na tri razliita dela ili komponente3 Model :M;, VieC :V; i 2ontroller :2;Model G skladi'ti stanje aplika)ije :poda)i izveni iz sloja poslovne lo%ike, prikazj se korisni)ima i nakon obradevra8aj natra% sloj poslovne lo%ike;K !oda)i se mo% predstaviti bilo kom oblik G ava*eans, "ajlovi, mrea ili akmemorija# Ilavni zadatak Modela je da obezbedi pristp tim poda)ima# &pr# koliko poda)i koji se predstavljajdolaze iz tabele Faposleni, onda Model implementiran npr# ava*eans bi8e klasa koja sadri kolone tabele kaoosobine klase# Ovim osobinama se moe pristpati preko %et i set metoda# =vaki red tabeli bi se predstavioobjektom ava*eans klase#View G pristpa poda)ima iz Modela i %eneri'e od%ovaraj8i UK %lavni zadatak je da %eneri'e U "ormat podatakakoji bi bio koristan klijentK jedan model moe imati vi'e VieCs :po%leda;, tj# razliiti korisni)i mo% za0tevati razliite"ormate za isti podatak# &pr# Menader moe da %leda dnevne radne sate iz tabele zaposleni, dok ranovo>a eli davidi podatke prema osnovnoj plati zaposleni0K vi'e po%leda se moe %enerisati kombina)ijom =! i )stom ta%ovaController  G %rani)a aplika)ije koja 0vata za0teveK izvr'ava slede8e zadatke3

    6oordinira za0tevima klijenata  $rira Model i VieC-eve na osnov korisniko% inpta &ad%leda i planira 'ta treba da se prikae i izmeni !oziva izabrani Model i izvr'ava lo%ik

    &pr#, dok arira podatke zaposleni0, 2ontroller odlje koj stran treba prikazati

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro" dr $n%elina &je%'pro" dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    17/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    Model-VieC-2ontroller :MV2;Model-VieC-2ontroller :MV2;

    Model sadri jez%ro "nk)ionalnosti i podatke i nezavisna je od izlazne prezenta)ije ili pona'anjainpta View prikazje in"orma)ije korisni)imaK sadri podatke iz modela Controller  rkje korisnikim inptima

    VieC i )ontroller-i zajedno obezbe>j korisniki inter"ejs

    Osnovna svr0a MV2 patterna je da odvoji model od po%leda tako da se promene na po%led mo%

    implementirati ili ak kreirati dodatni po%ledi, bez izmene samo% modela

    =like, ispod prikazj osnovne MV2 rela)ije

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    18/41

    Dizajn paterni

    ta s dizajn paterni Hipovi paterna

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    19/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    ta je dizajn paternta je dizajn patern

    Dizajn patern :desi%n pattern; je re'enje op'te% problemaprojektovanjaOpisje op'ti problem projektovanjaOpisje re'enje problemaDisktje rezltate primene paterna

    Dizajn paterni obezbe>j sposobnost ponovno% kori'8enjaspe'ni0 dizajna

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro" dr $n%elina &je%'pro" dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    20/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    9oks na strktr

    !ravljenje so"tvera kljje mno%o vi'e od pro%ramiranja#

    !oseban ak)enat treba da bde na projektovanj sistema prekodiranja#

    !laniranje pove8ava kvalitet sistema3!lan za odravanje sistema!lan za promen ###

    !ostoji dosta postoje8i0 re'enja koji re'avaj probleme projektovanjasistema

    Ova re'enja s najbolje prakse objektno-orjentisano% sistemsko% dizajnai nazivaj se desi%n patterns :'abloni.obras)i projektovanja.dizajna;#

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro" dr $n%elina &je%'pro" dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    21/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    Desi%n pattern - izvori

    Desi%n pattern-i s osnovi @inenjerski prirnikB za dizajniranje so"tverski0 sistema#

    Desi%n patterns s primer najbolje prakse pro%ramiranja koji poma da kod bde3itljiv,ponovo potrebljiv,da se bolje izvr'ava i

    da bde lak za odravanje#

    Da bi primenili odre>eni desi%n pattern, morate da kodirate va'e klase na odre>eninain kako je opisano pattern koji elite da koristite#

    Desi%n patterni s naroito postali poplarni izlaskom knji%e Desi%n !atterns3Elements o"

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    22/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    Hipovi paterna 6rea)ioni paterni :)reational

    patterns; G koriste se zainstan)iranje klase# &eki primeri3

    =in%leton!rotot?pe9a)tor? Met0od*ilder 

    =trktralni paterni :str)tral

    patterns; G kontroli'e kako sobjekti i klase strktirani kako bi"ormirali ve8e strktre# !rimer3

     $dapter 2omposite!roP?9aQade

    !aterni pona'anja :be0avioralpatterns; G odnosi se na zadatkeod%ovornosti, paterne komnika)ijei tok kontrola#

    Observer Mediator 20ain o"

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    23/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

    6ljni elementi paterna

    &amera G koji problem patern re'ava#

    Motiva)ija G primer koji pokazje kako patern re'avaproblem#

    =trktra G klasa, dija%rami interak)ije ili oba#

    6onsekven)e :posledi)e; G koristi i rizi)i kori'8enja ovo%

    problema#

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    24/41

    j jj j p % j %p % j %

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    25/41

    j jj j p % j %p % j %

    !tate design pattern!tate design pattern

    Dr%i op'ti problem aplika)ijama je pravljanje sloenimpona'anjima odre>eni0 stanja

    Da li ste ikada pisali metode kojima treba da koristite mno%oslova kao 'to s if  ili case iskazi G ne moete da odredite kakometod radi dok prvo ne proverite slove razliiti0 atribta objekt

    =tanje objekta je ni'ta dr%o ne%o trentna vrednost nje%ovi0atribta G kada proveravate vrednosti atribta slov, vi stvariproveravate stanje objekta

    6ada implementa)ija metoda zavisi od promena vrednostimaatribta :promene stanja;, kRd moe postati veoma sloen kako zapisanje tako i za odravanje#

    !tate design pattern ndi re'enje koje olak'ava ini)ijalno pisanjekoda i manjje tro'kove nje%ovo% odravanja

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    26/41

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    27/41

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    28/41

    !rimer G =in%leton desi%n pattern

    =in%leton krea)ioni desi%n pattern osi%rava da je jedna klasa instan)iranasamo jedanpt i da ta klasa omo%8ava pristp samo tom objekt#

    *ilo koja klasa moe da implementira =in%leton desi%n paternomo%8avaj8i samo jednom objekt da se kreira na ovaj nain :klasa nemora da se zove =in%leton;#

    Ovaj pattern se dosta koristi# =ita)ija %de bi se =in%leton mo%ao potrebiti je koliko se klasa koristi za odravanje brojaa ili neko slino stanjein"orma)ija kome pristpaj i ariraj mno%i delovi sistema# U ovakvojsita)iji, podatke dele razliiti delovi isto% sistema i sto%a bi trebalo dapostoji samo jedna insan)a ove klase# =tatina polja klase se mo% koristitiza vanje takvi0 podataka, ali ne bi postojao nain koji bi osi%rao da se

    samo jedna instan)a ove klase pokre8e jednom trentk vremena#6ori'8enjem =in%leton patterna osi%ralo bi se da je samo jedna instan)aklase aktivna#

    =vaki objekat koji za0teva klas koja implementira =in%leton pattern bi8e jojdata re"eren)a na isti objekat#

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    29/41

    !rimer3 =in%leton desi%n pattern

    Enkapsulirana statička promenljiva referencira jednu instancu klase iobezbeđuje tu referencu bilo kojoj klasi koja zahteva taj objekat.

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    30/41

    6ori'8enje dizajn paterna prezenta)ionom sloj

    6ako odabrati od%ovaraj8i dizajn patern!roitati opis paterna i razmeti razlo%e nje%ove potrebedenti"ikovati paterne koji kazj na va'e konkretne za0teveEksperimentisati sa nji0ovom implementa)iojom tests)enarijima

    &aje'8e kori'8eni paterni sloj prezenta)ije s3!aterni koji s najrelevantniji sloj prezenta)ije kljj3

    Observer  !a%e 2ontroller  9ront 2ontroller  Model-VieC-2ontroller :MV2;  $ppli)ation 2ontroller 

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    31/41

    zbor paterna za sloj prezenta)ije #&EH 9rameCork aplika)ijama

    Observer  G de"ini'e jedan na prema vi'e zavisnostiizme> objekata, tako da kada jedan objekat promenistanje, objekti koji zavise od nje%a 8e atomatski bitiobave'teni i arirani

    &pr# rea%ovanje na klik mi'a ili nos preko tastatre itd#

    Page controller  G po%odan za aplika)ije tanko%klijenta, tj# prezenta)ija se de'ava brozer klijenta,dok je kontroller deo serverske aplika)ije

    Odvajate poslovn lo%ik od lo%ike prezenta)ije svojojNeb aplika)ijiK pri0vata se inpt od pa%e reSest,pozivaj se za0tevane ak)ije na model i odre>jkorektni po%ledi rezltj8e strane

    Front controller  - je varija)ija paterna !a%e)ontroller :koji pridrje odvojene kontroller klasesvakoj Neb strani, po%odna je za manje Nebaplika)ije %de je navi%a)ija ime> Neb stranapravolinijska;# =protno, "ront )ontroller patern se

    primenjje %de pa%e )ontroller klase imajkomplikovan lo%ik i deo s dblje 0ijerar0ijenasle>ivanja ili %de va'a aplika)ija dinamikiodre>je navi%a)ij izme> strana

    6oristiti ovaj patern %de elite da delite isto pona'anjekroz nekoliko Neb strana :vi'e za0teva kroz jedn)ontroller klas koja obezbe>je deljen lo%ik i odre>jekako preneti kontrol od%ovaraj8im po%ledima;

    ###

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    32/41

    Modelovanje dModelovanje dizajn paterna pomo8izajn paterna pomo8alata

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    33/41

    !rimer opisa dizajn paterna!rimer opisa dizajn paterna Observer Observer 

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    34/41

    !rimena dizajn paterna!rimena dizajn paterna

    6ada selektjete od%ovaraj8i patern dobijate instan) to% paterna koji iz%leda kao nasli)i

    6likom na nter argument name.value : okvir instan)e Oserver ; nosite naziveva'i0 parametara, npr# za konkretno% observer-a nosite naziv !hopper/ ili preveteklas npr# Order i dobi8ete dija%ram ka na sli)i @Oserver nstan)eB na dr%om slajd -

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    35/41

    Observer instan)eObserver instan)e

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    36/41

    Dodavanje metoda i atribta modelDodavanje metoda i atribta model

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    37/41

    !revo>enje modela ava kod!revo>enje modela ava kod

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    38/41

    Hrans"ormation NindoC i &eC ava !roje)tHrans"ormation NindoC i &eC ava !roje)t

    n t0e

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    39/41

    !o%leda na ava kod!o%leda na ava kod

    Dplim klikom na Order#java moe se videti dobijeni kod

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    40/41

    20e)kpoints20e)kpoints

    Da li s kljne klase i nji0ove rela)ije identi"ikovane imodelovane Da li naziv svake klase jasno re"lektje lo% koji ima Da li s kljne apstrak)ije.klase i nji0ove rela)ije

    konzistentne biznis model, model domena,

    za0tevima, renik itd

    !rojektovanje in"orma)ioni0 sistema!rojektovanje in"orma)ioni0 sistema pro"# dr $n%elina &je%'  pro"# dr $n%elina &je%'

  • 8/18/2019 Modul 5 - Arhitektura i Dizajn Paterni

    41/41

    !itanja!itanja

    Tem sli analiza ar0itektre ta je paket

    ta je to slojevita ar0itektra &avesti primer

    tipini0 slojeva#