56
Objektno orijentisano Objektno orijentisano projektovanje projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

  • Upload
    vuduong

  • View
    239

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

Objektno orijentisano Objektno orijentisano projektovanjeprojektovanje

Dr Borislav Jošanov, profesorVisoka poslovna škola strukovnih studija

Novi Sad

Page 2: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5622

Perfekcija nije kada se Perfekcija nije kada se nema nema ššta dodati, veta dodati, veććkada se nema kada se nema ššta ta izostaviti.izostaviti.

Antoine de SaintAntoine de Saint--ExupExupééryry

Page 3: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5633

OOččekivanja?ekivanja?�� Upoznavanje sa objektno orijentisanim Upoznavanje sa objektno orijentisanim

nanaččinom razmiinom razmiššljanjaljanja�� KoriKoriššććenje grafienje grafiččkih alata za prezentacije, kih alata za prezentacije,

analize i dizajnanalize i dizajn�� Detaljnije upoznavanje UMLDetaljnije upoznavanje UML--aa�� Rukovanje programskim alatom Rational Rukovanje programskim alatom Rational

RoseRose�� Izrada skica i projektnih dokumenata Izrada skica i projektnih dokumenata

prema UML konceptuprema UML konceptu

Page 4: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5644

Literatura (I)Literatura (I)

�� Martin Fowler: UML ukratko, prevod 3. Martin Fowler: UML ukratko, prevod 3. izdanja, Mikro knjigaizdanja, Mikro knjiga

�� Grady Booch, James Rumbaugh, Ivar Grady Booch, James Rumbaugh, Ivar Jacobson: UML VodiJacobson: UML Vodičč za korisnike, CETza korisnike, CET

�� Matt Weisfeld: Objektno orijentisani naMatt Weisfeld: Objektno orijentisani naččin in mimiššljenja, CETljenja, CET

�� Terry Quatrani: Vizuelno modelovanje Terry Quatrani: Vizuelno modelovanje Rational Rose 2002 i UML, CETRational Rose 2002 i UML, CET

Page 5: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5655

Literatura (II)Literatura (II)�� Dragan MiliDragan Miliććev: Objektno orijentisano ev: Objektno orijentisano

modelovanje na jeziku UML, Mikro knjigamodelovanje na jeziku UML, Mikro knjiga�� Ivana StanojeviIvana Stanojevićć, Du, Duššan Surla: Uvod u an Surla: Uvod u

objedinjeni jezik modeliranja, Mala knjigaobjedinjeni jezik modeliranja, Mala knjigahttp://www.is.pmf.uns.ac.rs/bobericd/Knjiga

_iz_UML.zip �� Joey F. George, Dinesh Batra, Joseph S. Joey F. George, Dinesh Batra, Joseph S.

Valacich, Jeffrey A. Hoffer: ObjectValacich, Jeffrey A. Hoffer: Object--Oriented Oriented Systems Analysis and Design, Prentice HallSystems Analysis and Design, Prentice Hall

Page 6: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5666

BodoviBodovi

�� Prisustvo na predavanjima Prisustvo na predavanjima i vei vežžbamabama (vi(višše e od 2/3) od 2/3) –– 5 bodova5 bodova

�� Kolokvijum Kolokvijum –– 20 bodova20 bodova�� Rad na predavanjima i veRad na predavanjima i vežžbama bama –– 35 bodova35 bodova�� Izrada studije sluIzrada studije sluččaja aja –– 10 bodova10 bodova�� Pismeni ispit Pismeni ispit –– 30 bodova30 bodova

Page 7: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5677

Page 8: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5688

Page 9: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 5699

Page 10: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561010

Ideja OOPIdeja OOP

�� 80% tro80% trošškova za odrkova za održžavanje, 20% za razvojavanje, 20% za razvoj�� Zasovana na: Zasovana na:

iskustvenom prepoznavanju objekata i iskustvenom prepoznavanju objekata i njihovih obelenjihovih obeležžjajarazlikovanju celine objekta od njegovih razlikovanju celine objekta od njegovih delovadelovaformiranju klasa objekata uoformiranju klasa objekata uoččavanjem avanjem razlika meñu njimarazlika meñu njima

Page 11: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561111

Odnos strukturiranog i OO Odnos strukturiranog i OO projektovanjaprojektovanja

�� Podaci u SP su odvojeni od funkcija, dok u Podaci u SP su odvojeni od funkcija, dok u OOP oni OOP oni ččine jednu celinuine jednu celinu

�� SP se zasniva na skupu funkcija koje dele SP se zasniva na skupu funkcija koje dele zajednizajedniččko stanjeko stanje

�� OOP zasnovano je na sakrivanju, objekti OOP zasnovano je na sakrivanju, objekti se formiraju u interakcijama, oni imaju se formiraju u interakcijama, oni imaju privatna stanjaprivatna stanja

Page 12: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561212

Strukturno vs objektnoStrukturno vs objektno

�� KljuKljuččna tena težžnja strukturnih metoda je da nja strukturnih metoda je da razdvojrazdvojee podatke od procesa, podatke od procesa, ššto nije to nije prirodnoprirodno

�� OOP je manje riziOOP je manje riziččno, a njegovi rezultati no, a njegovi rezultati imaju veimaju većću moguu moguććnost ponovne upotrebenost ponovne upotrebe

�� OOP se preporuOOP se preporuččuje za primenu kod uje za primenu kod riziriziččnih projekata sa stalnim promenama nih projekata sa stalnim promenama zahtevazahteva

Page 13: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561313

Karakteristike SPKarakteristike SP�� Modeluju se reModeluju se reššenja, a ne problemienja, a ne problemi�� Problemi se reProblemi se reššavaju u algoritamskim avaju u algoritamskim

koracima na razlikoracima na različčitim hijerarhijskim nivoimaitim hijerarhijskim nivoima�� Izmene u programima su izmene i u Izmene u programima su izmene i u

algoritmimaalgoritmima�� RazliRazliččite lokalizacije jedne izmeneite lokalizacije jedne izmene�� Nakon izmena neophodna provera Nakon izmena neophodna provera ššireg ireg

kontekstakonteksta

Page 14: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561414

Karakteristike OOPKarakteristike OOP

�� Modeluju se problemi, a ne reModeluju se problemi, a ne reššenjaenja�� Problemi se razlaProblemi se razlažžu na objekteu na objekte�� Za objekte se odreñuje Za objekte se odreñuje ššta rade ta rade --> crne kutije> crne kutije�� Nad objektima Nad objektima –– spoljne akcijespoljne akcije�� Izmene i dodavanja Izmene i dodavanja –– u odreñenom objektu u odreñenom objektu�� Provera Provera –– samo za menjani objekatsamo za menjani objekat�� Fleksibilno dodavanje novih objekataFleksibilno dodavanje novih objekata�� Laka moguLaka moguććnost ponovnog korinost ponovnog koriššććenjaenja

Page 15: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561515

Page 16: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561616

Istorija OO programskih jezikaIstorija OO programskih jezika�� 1961. Dahl, Myhrhang i Nygaard objavljuju 1961. Dahl, Myhrhang i Nygaard objavljuju

jezik Simulajezik Simula--67: u67: uvodi koncepte objekta i vodi koncepte objekta i nasleñivanje nasleñivanje –– svaki objekat sopstveno svaki objekat sopstveno ponaponaššanje i podacianje i podaci

�� Xerox ranih 70Xerox ranih 70--ih objavljuje Smaltalk, ih objavljuje Smaltalk, potpuno zasnovan na OO paradigmi potpuno zasnovan na OO paradigmi

�� 1982. Stroustrup objavljuje C++ koji uvodi 1982. Stroustrup objavljuje C++ koji uvodi klase i enkapsulaciju i brzo stiklase i enkapsulaciju i brzo stičče popularnoste popularnost

�� 1991. James Gosling u Sun Microsystems 1991. James Gosling u Sun Microsystems razvija Javu, univerzalnu softversku platformu razvija Javu, univerzalnu softversku platformu koja ne zavisi od hardvera, zvanikoja ne zavisi od hardvera, zvaniččno no objavljena 1996.objavljena 1996.

Page 17: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561717

Nedostaci OO programiranjaNedostaci OO programiranja�� OO jezici nemaju efikasna sredstva za OO jezici nemaju efikasna sredstva za

specificiranje i dokumentovanje sistemaspecificiranje i dokumentovanje sistema�� Nedovoljno apstraktni koncepti OO jezikaNedovoljno apstraktni koncepti OO jezika�� Tekstualne specifikacije manje su efikasne Tekstualne specifikacije manje su efikasne

od vizuelnihod vizuelnih�� OO programiranje ne pruOO programiranje ne pružža podra podrššku za sve ku za sve

faze razvoja ni prelaze iz jedne u drugufaze razvoja ni prelaze iz jedne u drugu�� Nema efikasna sredstva za dobru Nema efikasna sredstva za dobru

dokumentaciju softveradokumentaciju softvera�� Ipak, popularnost OO programiranja stvorila Ipak, popularnost OO programiranja stvorila

osnovu za razvoj OO analize i dizajnaosnovu za razvoj OO analize i dizajna

Page 18: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561818

Istorija OO metodologija (1)Istorija OO metodologija (1)�� Do sredine 80Do sredine 80--ih dominantni metodoloih dominantni metodološški ki

pristupi zasnovani na specifikaciji funkcija pristupi zasnovani na specifikaciji funkcija sistemasistema

�� U 80U 80--im nastaju ideje o grafiim nastaju ideje o grafiččkim jezicimakim jezicima�� 19891989--1994. od 10 postoje1994. od 10 postojeććih razvijeno viih razvijeno višše e

od 50od 50 OO metoda OO metoda, m, meñu njimaeñu njima::�� HP: Fusion HP: Fusion –– integralna metoda 2. generacijeintegralna metoda 2. generacije�� Sally Shlaer i Tim Malor: Sally Shlaer i Tim Malor: žživotni ciklus ivotni ciklus

objekataobjekata�� Rebecca WirfsRebecca Wirfs--Brock: projBrock: projektovanje voñeno ektovanje voñeno

odgovornostimaodgovornostima

Page 19: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 561919

Istorija OO metodologija (Istorija OO metodologija (22))

�� OOA/OOD OOA/OOD –– Object Oriented Analysis/Object Object Oriented Analysis/Object Oriented Design, Oriented Design,

autori autori Yourdon & & Whitehead,Coad & Yourdon

Page 20: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562020

Istorija OO metodologija (3)Istorija OO metodologija (3)

�� Rumbaugh: Object Modeling Technique Rumbaugh: Object Modeling Technique ––najkorisnija za analizu i IS sa velikom najkorisnija za analizu i IS sa velikom kolikoliččinom podatakainom podataka

�� Jacobson: OO Software Engineering Jacobson: OO Software Engineering ––podrpodršška korisnika korisniččkim funkcijama za definisanje kim funkcijama za definisanje projektnih zahtevaprojektnih zahteva

�� 1994. Rumbaugh prelazi iz GE u Boochov 1994. Rumbaugh prelazi iz GE u Boochov Rational: Unified MethodRational: Unified Method

�� 1995. Rational kupuje Objectory 1995. Rational kupuje Objectory -- pridrupridružžuje uje im se Jacobson im se Jacobson

Page 21: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562121

Page 22: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562222

Istorija OO metodologija (4)Istorija OO metodologija (4)�� 1996. UML 1996. UML –– Unified Modeling LanguageUnified Modeling Language�� Object Management Group (OMG) pokreObject Management Group (OMG) pokrećće e

akciju standardizacije: radnu grupu vode akciju standardizacije: radnu grupu vode Mary Loomis i Jim OdellMary Loomis i Jim Odell

�� januara 1997. dostavljeno vijanuara 1997. dostavljeno višše predloga i e predloga i njihovim spajanjem prihvanjihovim spajanjem prihvaććen UML 1.1en UML 1.1

�� three amthree amigosigos: Grady Booch, Jim : Grady Booch, Jim Rumbaugh & Rumbaugh & Ivar JacobsonIvar Jacobson

Page 23: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562323

UML

Booch

RumbaughJacobson

MeyerPočetni i krajnji uslovi

HarelDijagrami stanja

Wirfs-BrockOdgovornosti

FusionOpisi operacija, numeracija poruka

EmblySingleton klase

Gamma idrOkviri, mustre i komentari

Shlaer-MeyerPočetni i krajnji uslovi

OdellKlasifikacija

KobrynSemantika

Page 24: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562424

Partneri u izgradnji UMLPartneri u izgradnji UML--aa�� Definiciji UML 1.0 doprineli: IBM, Microsoft, Definiciji UML 1.0 doprineli: IBM, Microsoft,

DEC, Oracle, HewlettDEC, Oracle, Hewlett--Packard, Rational, ICON Packard, Rational, ICON Computing, IComputing, I--Logix, Intellicorp, Unisys, MCI Logix, Intellicorp, Unisys, MCI Systemhouse i Texas InstrumentsSystemhouse i Texas Instruments

�� Na izradi verzije 1.1 ukljuNa izradi verzije 1.1 uključčuju se i Ericsson, uju se i Ericsson, OTL, Andersen Consulting, PTech, Platinum OTL, Andersen Consulting, PTech, Platinum Technology, Reich Technologies, Softeam, Technology, Reich Technologies, Softeam, Sterling Software i TaskonSterling Software i Taskon

�� OdrOdržžavanje i dalje verzije preuzima OMG avanje i dalje verzije preuzima OMG grupa za revizije (RTF), a predvodi je Cris grupa za revizije (RTF), a predvodi je Cris KobrynKobryn

Page 25: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562525

Promene od UML 1.x do UML 2.xPromene od UML 1.x do UML 2.x�� danas je aktuelan UML 2danas je aktuelan UML 2.2.2�� UML 2 uveo je nove tipove dijagrama:UML 2 uveo je nove tipove dijagrama:�� standardizovani su dijagrami objekata i standardizovani su dijagrami objekata i

paketapaketa�� dijagrami kolaboracije nazvani su dijagrami dijagrami kolaboracije nazvani su dijagrami

komunikacijekomunikacije�� uvedeni su dijagrami pregleda interakcije, uvedeni su dijagrami pregleda interakcije,

vremenski dijagrami i dijagrami slovremenski dijagrami i dijagrami složžene ene strukturestrukture

Page 26: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562626

Primena OO projektovanjaPrimena OO projektovanja�� PowerBuilder i Visual Basic realizovani u PowerBuilder i Visual Basic realizovani u

potpunosti na OO paradigmipotpunosti na OO paradigmi�� Primena OO paradigme kod legatnih IS: Primena OO paradigme kod legatnih IS:

objekti se koriste kao omotaobjekti se koriste kao omotačči i �� Novi IS najNovi IS najččeeššćće se razvijaju na OO e se razvijaju na OO

paradigmiparadigmi�� Oracle, Informix, DB2 i SQL Server imaju Oracle, Informix, DB2 i SQL Server imaju

objektnoobjektno--relacione mogurelacione moguććnostinosti�� Pojava Weba i Jave u potpunosti donose OO Pojava Weba i Jave u potpunosti donose OO

paradigmu: Internetom putuju objektiparadigmu: Internetom putuju objekti

Page 27: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562727

Karakteristike UMLKarakteristike UML--aa�� VizuelizovanjeVizuelizovanje: iza grafi: iza grafiččkih simbola UMLkih simbola UML--a sa a sa

kojima se opisuje sistem nalazi se precizno kojima se opisuje sistem nalazi se precizno definisana semantikadefinisana semantika

�� SpecifikovanjeSpecifikovanje: UML modeli su precizni, : UML modeli su precizni, potpuni i nedvosmislenipotpuni i nedvosmisleni

�� KonstruisanjeKonstruisanje: UML modeli se mogu prevesti : UML modeli se mogu prevesti u programski kod u raznim programskim u programski kod u raznim programskim jezicima ili u tabele i skladijezicima ili u tabele i skladiššta baza podatakata baza podataka

�� DokumentovanjeDokumentovanje: UML kreira dokumentaciju : UML kreira dokumentaciju arhitekture sistema sa svim njenim detaljimaarhitekture sistema sa svim njenim detaljima

Page 28: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562828

Korisnici UMLKorisnici UML--aa� Sistem analitičari i korisnici – specificiraju

zahtevane strukture i ponašanje sistema� Arhitekte sistema – projektuju sistem koji će

zadovoljiti zahteve� Razvojni inženjeri – transformišu arhitekturu u

izvršni kod� Kontrolori kvaliteta – proveravaju strukture i

ponašanje sistema� Rukovodioci projekta – vode i usmeravaju

kadrove i resurse

Page 29: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 562929

Glavne oblasti primene UMLGlavne oblasti primene UML�� Pre svega je namenjen za projektovanje Pre svega je namenjen za projektovanje

sistema sa intentivnom primenom softvera:sistema sa intentivnom primenom softvera:�� Kompanijski informacioni sistemiKompanijski informacioni sistemi�� Bankovne i finansijske uslugeBankovne i finansijske usluge�� Telekomunikacije i transportTelekomunikacije i transport�� Vojna i avioVojna i avio--industrijaindustrija�� TrgovinaTrgovina�� Medicinska elektronikaMedicinska elektronika�� NaukaNauka�� Distribucioni sistemi zasnovani na WebuDistribucioni sistemi zasnovani na Webu

Page 30: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563030

UML i elektronsko poslovanjeUML i elektronsko poslovanje

�� RRadnadnaa grupgrupaa EU TMWG (EU TMWG (Techniques and Techniques and Methodology Working GroupMethodology Working Group)) predlopredložžila jeila jeUML kao tehniku koja najviUML kao tehniku koja najvišše odgovara EPe odgovara EP

�� PProjekrojekaat Instituta za primenjene t Instituta za primenjene raraččunarske nauke i informacione sisteme unarske nauke i informacione sisteme iz Beiz Beččaa odabrao je 4 koncepta sa kojima odabrao je 4 koncepta sa kojima se optimalno rese optimalno reššavaju problemi EPavaju problemi EP

Page 31: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563131

Komunikacija u decentralizovanom i Komunikacija u decentralizovanom i distribuiranom okrudistribuiranom okružženjuenju

�� Objektno orijentisani razvoj u ovom okruObjektno orijentisani razvoj u ovom okružženjuenjuse se zasniva na SOAPzasniva na SOAP ((Simple Object Access Simple Object Access ProtocolProtocol) ) protokoluprotokolu

�� OObjekti u razmeni opisuju bjekti u razmeni opisuju se se kao WSDLkao WSDL ((Web Web Services Description LanguageServices Description Language) ) dokumentidokumenti

�� XML DTD kontrolisana grupa XML dokumenata XML DTD kontrolisana grupa XML dokumenata napisananapisana jeje pomopomoćću WSDLu WSDL

Page 32: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563232

Ciljevi UMLCiljevi UML

�� Modelovanje sistema od koncepta do Modelovanje sistema od koncepta do izvrizvrššnih celina korinih celina koriššććenjem OO tehnikaenjem OO tehnika

�� Primenljivost na glomazne probleme u Primenljivost na glomazne probleme u slosložženim sistemima sa kritienim sistemima sa kritiččnim zadacimanim zadacima

�� Stvaranje jezika za modelovanje Stvaranje jezika za modelovanje upotrebljivog i za ljude i za raupotrebljivog i za ljude i za raččunareunare

�� Izrada metamodela sistema koji Izrada metamodela sistema koji projektujemo ili programiramoprojektujemo ili programiramo

Page 33: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563333

NaNaččini koriini koriššććenja UMLenja UML--aa

�� Izrada skicaIzrada skica�� Izrada projektaIzrada projekta�� Programiranje Programiranje

Page 34: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563434

Izrada skicaIzrada skica�� Ubedljivo najUbedljivo najččeeššćća primenaa primena�� Koristi se kao pomoKoristi se kao pomoććno sredstvo za no sredstvo za

opisivanje nekih aspekata sistemaopisivanje nekih aspekata sistema�� U razvoju i reverzibilnoj analiziU razvoju i reverzibilnoj analizi�� Selektivan izbor u primeniSelektivan izbor u primeni�� Koristi se najKoristi se najččeeššćće za opise alternativa, e za opise alternativa,

neformalno i dinamineformalno i dinamiččkiki�� Korisne su u dokumentaciji, radi informisanjaKorisne su u dokumentaciji, radi informisanja�� Ne pridrNe pridržžava se strogo pravila UMLava se strogo pravila UML--aa

Page 35: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563535

Izrada projektaIzrada projekta�� Kreiraju se potpuni opisi projekata i opisi Kreiraju se potpuni opisi projekata i opisi

odlukaodluka�� Projektant kreira uputstva programerimaProjektant kreira uputstva programerima�� Analogija sa tehniAnalogija sa tehniččkim crtekim crtežžima inima inžženjera koji enjera koji

se dostavljaju drugimase dostavljaju drugima�� Obuhvataju sve detalje ili samo odreñenu Obuhvataju sve detalje ili samo odreñenu

oblast, obioblast, običčno do interfejsano do interfejsa�� ČČesto se primenjuje pomoesto se primenjuje pomoćću CASE alatau CASE alata�� Koriste se u reverzibilnoj analizi: iz izvornog Koriste se u reverzibilnoj analizi: iz izvornog

koda kreiraju dijagrame i tumakoda kreiraju dijagrame i tumaččenja smeenja smešštaju taju u skladiu skladišštata

Page 36: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563636

Programiranje pomoProgramiranje pomoćću UMLu UML--aa

�� CASE alati generiCASE alati generiššu kostur programskog kodau kostur programskog koda�� U nekim sluU nekim sluččajevima generiajevima generišše se kompletan e se kompletan

programski kodprogramski kod�� Zahteva veoma sloZahteva veoma složžene alateene alate�� Modelovanje ponaModelovanje ponaššanja: dijagramima anja: dijagramima

interakcije, stanja i aktivnostiinterakcije, stanja i aktivnosti�� Programeri crtaju UML dijagrame koji se Programeri crtaju UML dijagrame koji se

neposredno prevode u izvrneposredno prevode u izvrššni kod (UMLni kod (UML--om om se opisuje izvorni kod)se opisuje izvorni kod)

Page 37: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563737

Notacije i metamodeliNotacije i metamodeli�� UML definiUML definišše notaciju i metamodele notaciju i metamodel�� Notacija je skup grafiNotacija je skup grafiččkih elemenata koji se kih elemenata koji se

koriste u modelima, tj. sintaksa jezika koriste u modelima, tj. sintaksa jezika �� GrafiGrafiččki jezici modelovanja obiki jezici modelovanja običčno nisu no nisu

strogi, a notacija je vistrogi, a notacija je višše intuitivnae intuitivna�� Metamodel je dijagram koji precizno definiMetamodel je dijagram koji precizno definišše e

koncepte jezikakoncepte jezika�� Od vitalnog je znaOd vitalnog je značčaja za korisnike UMLaja za korisnike UML--a a

kao programskog jezikakao programskog jezika

Page 38: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563838

ZaZaššto modelovati?to modelovati?�� Da bismo dobili dobar softver koji zadovoljava Da bismo dobili dobar softver koji zadovoljava

sve vesve većće potrebe korisnikae potrebe korisnika�� AngaAngažžovanje korisnika na disciplinovan naovanje korisnika na disciplinovan naččin in

radi izlaganja stvarnih zahteva sistemaradi izlaganja stvarnih zahteva sistema�� Da bismo razlikovali Da bismo razlikovali ““manje vamanje važžnono”” od od

““nevanevažžnognog””�� Da bismo razvili softver trajnog kvalitetaDa bismo razvili softver trajnog kvaliteta�� Da bismo brzo i efikasno razvili softverDa bismo brzo i efikasno razvili softver�� Da bismo vizuelizovali i kontrolisali arhitekturu Da bismo vizuelizovali i kontrolisali arhitekturu

sistemasistema�� Da bismo bolje razumeli sistem koji razvijamoDa bismo bolje razumeli sistem koji razvijamo

Page 39: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 563939

Funkcije metoda OO modelovanjaFunkcije metoda OO modelovanja

�� Razvoj modela softvera na viRazvoj modela softvera na viššem nivou em nivou apstrakcijeapstrakcije

�� Specifikacija modela pomoSpecifikacija modela pomoćću vizuelnih, u vizuelnih, grafigrafiččkih notacijakih notacija

�� Transformacija apstraktnih, vizuelnih Transformacija apstraktnih, vizuelnih modela u implementacione forme u modela u implementacione forme u programskim jezicimaprogramskim jezicima

Page 40: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564040

ModelovanjeModelovanje�� Centralna aktivnost u izgradnji dobrog Centralna aktivnost u izgradnji dobrog

softverasoftvera�� Model je pojednostavljen prikaz realnostiModel je pojednostavljen prikaz realnosti�� Pravi se da bi se bolje razumeo sistem koji se Pravi se da bi se bolje razumeo sistem koji se

gradigradi�� Kompleksan sistem se bez modela ne moKompleksan sistem se bez modela ne možže e

razumeti kao kompaktna celinarazumeti kao kompaktna celina�� OOM je alternativa tradicionalnom, OOM je alternativa tradicionalnom,

algoritamskom modelovanjualgoritamskom modelovanju

Page 41: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564141

Modelovanje sistemaModelovanje sistema�� Proces razvoja u kojem se definiProces razvoja u kojem se definiššu aktivnosti u aktivnosti

realizacije modela sistema realizacije modela sistema �� Cilj procesa modelovanja je izrada kvalitetnog Cilj procesa modelovanja je izrada kvalitetnog

softvera koji softvera koji ćće zadovoljiti potrebe korisnikae zadovoljiti potrebe korisnika�� Razvoj treba da bude sa predvidivim vremenom Razvoj treba da bude sa predvidivim vremenom

izrade i budizrade i budžžetometom�� Izbor procesa koji Izbor procesa koji ćće se koristiti u razvoju zavisi e se koristiti u razvoju zavisi

od domena problema, tehnolocije koja se od domena problema, tehnolocije koja se koristi u primeni i sposobnosti i vekoristi u primeni i sposobnosti i vešština tina projektantskog timaprojektantskog tima

Page 42: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564242

Ciljevi modelovanjaCiljevi modelovanja

�� Model sluModel služži da prikai da prikažžemo kakav sistem jeste emo kakav sistem jeste ili kakav ili kakav žželimo da bude (vizuelizacija)elimo da bude (vizuelizacija)

�� Modelom se definiModelom se definišše struktura i ponae struktura i ponaššanje anje sistema (specifikacija)sistema (specifikacija)

�� Model predstavlja uzor (Model predstavlja uzor (ššablon) kako treba ablon) kako treba konstruisati sistem (konstrukcija)konstruisati sistem (konstrukcija)

�� Model sadrModel sadržži dokumentaciju projektnih i dokumentaciju projektnih odluka (dokumentacija)odluka (dokumentacija)

Page 43: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564343

Modelovanje kompleksnih sistemaModelovanje kompleksnih sistema

�� Ljudi imaju ograniLjudi imaju ograniččenja u sposobnosti enja u sposobnosti razumevanja kompleksnih problemarazumevanja kompleksnih problema

�� Modelovanjem problem suModelovanjem problem sužžavamo na avamo na pojedine aspekte: pristup pojedine aspekte: pristup ““podeli pa vladajpodeli pa vladaj””

�� Modelovanjem se pojaModelovanjem se pojaččava ljudski intelektava ljudski intelekt�� Dobar izbor modela omoguDobar izbor modela omoguććava rad na ava rad na

viviššem nivou apstrakcijeem nivou apstrakcije�� Softverske kompanije malo rade na polju Softverske kompanije malo rade na polju

formalnog modelovanjaformalnog modelovanja

Page 44: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564444

Principi modelovanjaPrincipi modelovanja

�� Izbor modela ima kljuIzbor modela ima ključčan uticaj na rean uticaj na reššavanje avanje i oblikovanje rei oblikovanje reššenjaenja

�� Svaki model moSvaki model možže imati razlie imati različčite nivoe ite nivoe detaljadetalja

�� Najbolji modeli su povezani sa realnim Najbolji modeli su povezani sa realnim svetomsvetom

�� Nijedan model nije dovoljan sam za sebe, Nijedan model nije dovoljan sam za sebe, svaki slosvaki složženiji sistem najbolje se opisuje eniji sistem najbolje se opisuje skupom nezavisnih modelaskupom nezavisnih modela

Page 45: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564545

OO modelovanjeOO modelovanje�� Glavni sastavni delovi softverskog sistema su Glavni sastavni delovi softverskog sistema su

objekti i klaseobjekti i klase�� Objekat je opObjekat je opššte sredstvo u rete sredstvo u reččniku prostora niku prostora

problema i njegovog reproblema i njegovog reššenjaenja�� Klasa je opKlasa je opššti opis skupa objekatati opis skupa objekata�� Svaki objekat ima identitet, stanje i ponaSvaki objekat ima identitet, stanje i ponaššanjeanje�� Arhitektura OO modela se sastoji iz korisniArhitektura OO modela se sastoji iz korisniččkog kog

interfejsa, osnovnih programa i baze podatakainterfejsa, osnovnih programa i baze podataka

Page 46: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564646

Arhitektura zasnovana na modeluArhitektura zasnovana na modelu� Model Driven Architecture (MDA) je standardna

platforma za razvoj softvera u kompletnom životnom ciklusu dizajna, razvoja, i integracije aplikacija zasnovana na upotrebi modela u toku razvoja

� Podžava Model Driven Engineering softverskih sistema zasnovan na softverskim alatima

�� Standardni pristup koriStandardni pristup koriššććenja UML kao enja UML kao programskog jezikaprogramskog jezika

�� Standardom MDA upravlja OMG od njegovog Standardom MDA upravlja OMG od njegovog kreiranja 2001. godinekreiranja 2001. godine

Page 47: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564747

s

Page 48: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564848

MOF i CWMMOF i CWM�� Specifikacija MOF (MetaObject Facility) Specifikacija MOF (MetaObject Facility) je je

OMGOMG--ovo standardno okruovo standardno okružženje pomoenje pomoćću kojeg u kojeg se modeli mogu prenositi iz jedne u drugu se modeli mogu prenositi iz jedne u drugu aplikaciju, transportovati preko mreaplikaciju, transportovati preko mrežže, e, ččuvati uvati u repozitorijumima i preuzimati u razliu repozitorijumima i preuzimati u različčitim itim formatima, menjati i koristiti za generisanje formatima, menjati i koristiti za generisanje programskog kodaprogramskog koda

�� CWM (CWM (Common Warehouse MetamodelCommon Warehouse Metamodel)) je je OMGOMG--ova specifikacija metapodataka u ova specifikacija metapodataka u razlirazliččite tipove objekata u skladiite tipove objekata u skladišštima tima podatakapodataka

Page 49: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 564949

PIM i PSMPIM i PSM�� Arhitektura MDA deli razvoj u PIM i PSMArhitektura MDA deli razvoj u PIM i PSM�� PIM (Platform Independent Model) je UML PIM (Platform Independent Model) je UML

model koji ne zavisi od tehnologije, sadmodel koji ne zavisi od tehnologije, sadžži OCLi OCL--opise u QVTopise u QVT--standardnim jezicima standardnim jezicima

�� PSM (PlPSM (Platform Specific Model) modeatform Specific Model) model sistema l sistema namenjen odreñenom izvrnamenjen odreñenom izvrššnom okrunom okružženju i enju i sadrsadržži specifii specifiččne tehnolone tehnološške informacije i kreira ke informacije i kreira se za svaku izvrse za svaku izvrššnu platformunu platformu

�� Nakon toga svaki PSM se transformiNakon toga svaki PSM se transformišše u e u programski kod koji programski kod koji ćće se izvoditi na toj e se izvoditi na toj platformiplatformi

Page 50: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 565050

QVTQVT�� QVT (Query/View/Transform) je OMGQVT (Query/View/Transform) je OMG--ov ov

standard za MDA transformaciju modelastandard za MDA transformaciju modela�� QVT se sastoji iz 3 specifiQVT se sastoji iz 3 specifiččna jezika koji u na jezika koji u

sebe integrisebe integriššu OCL 2.0 standard:u OCL 2.0 standard:�� Relations (sa tekstualnom i grafiRelations (sa tekstualnom i grafiččkom kom

sintaksom) i Core su deklarativni jezici na 2 sintaksom) i Core su deklarativni jezici na 2 nivoa apstrakcije izmeñu kojih postoji nivoa apstrakcije izmeñu kojih postoji normativno mapiranjenormativno mapiranje

�� Operational Maping je imperativni jezik kojim Operational Maping je imperativni jezik kojim se prose proććiruju prethodna 2iruju prethodna 2

�� Mehanizam Black Box sluMehanizam Black Box služži za integraciju i za integraciju mogumoguććnosti iz drugih programskih jezikanosti iz drugih programskih jezika

Page 51: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 565151

QVT arhitekturaQVT arhitekturaO

pera

tiona

l

map

ping

Black box

implem

entacija

Relations

Core

Relations –

Core

transformacija

Page 52: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 565252

CIMCIM�� Iznad PIM formira se Computation Iznad PIM formira se Computation

Independent Model (CIM) Independent Model (CIM) �� Ovim modelom se opisuje sitem u svom Ovim modelom se opisuje sitem u svom

poslovnom domenu i u njemu se opisuje poslovnom domenu i u njemu se opisuje kako de okako de oččekuje da sistem treba da radiekuje da sistem treba da radi

�� CIM ne sadrCIM ne sadržži detalje konstrukcije budui detalje konstrukcije buduććeg eg aplikativnog softvera aplikativnog softvera

Page 53: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 565353

CIM

PIM

PSM PSM

kod kod

T T

T T

ručnatransformacija

Page 54: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 565454

Od CIM ka PIMOd CIM ka PIMPoslovni procesi Slučajevi korišćenja

Page 55: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 565555

IzvrIzvrššni UMLni UML�� Autor je Steve MellorAutor je Steve Mellor�� SliSliččan je MDA arhitekturian je MDA arhitekturi�� PoPoččinje sa modelom ekvivalentnom PIMinje sa modelom ekvivalentnom PIM�� Prevodilac modela pretvara taj model u Prevodilac modela pretvara taj model u

konakonaččan sistem (ne koristi PSM)an sistem (ne koristi PSM)�� Prevodilac modela zasnovan je na ponovo Prevodilac modela zasnovan je na ponovo

upotrebljivim arhetipovimaupotrebljivim arhetipovima�� Arhetip opisuje kako da izvrArhetip opisuje kako da izvrššni UML model ni UML model

pretvorimo u kod za odreñenu platformu pretvorimo u kod za odreñenu platformu (koliko platformi toliko arhetipova)(koliko platformi toliko arhetipova)

Page 56: Objektno orijentisano projektovanje - vps.ns.ac.rs · Objektno orijentisano projektovanje Dr Borislav Jošanov, profesor Visoka poslovna škola strukovnih studija Novi Sad

12.10.2010 15:4312.10.2010 15:43 / 56/ 565656

Da nazdravimo za kraj idealnog prvog sastanka.