<ul><li>FON </li></ul><ul><li>OSNOVE OBJEKNO-ORJENTISANIH PRISTUPA </li></ul><ul><li>OSNOVNI KONCEPTI UML-A </li></ul><ul>...
  OSNOVE OBJEKTNE ORJENTACIJE Bilo koji  sistem se može posmatrati  kao  skup me đ usobno povezanih objekata.   Pod objekt...
OO  KONCEPTI:  OBJEKAT Pod objektom se podrazumeva entitet koji je sposoban  da čuva svoja stanja i  koji stavlja na raspo...
 
OBJEKTI I LITERALI <ul><li>U složenim sistemima postoji mnoštvo objekata, pa je potreban neki  OBJEKTNI MODEL za predstavl...
TIP OBJEKTA, STANJE I PONA[ANJE <ul><li>Objekti i literali se kategorišu u  tipove.  Svi objekti, odnosno literali istog t...
SPECIFIKACIJA I IMPLEMENTACIJA  TIPA   <ul><li>Svaki tip ima svoju  specifikaciju  i  jednu ili više  implementacija. </li...
IMPLEMENTACIJA TIPA <ul><li>Mada se najopštije implementacija ostvaruje preko </li></ul><ul><ul><ul><li>S trukture podatak...
KLASE, INTERFEJS I TIPOVI U UML-U <ul><ul><li>UML uglavnom poštuje ovaj objektni model.  U </li></ul></ul><ul><ul><li>njem...
PRETSTAVLJANJE TIPA OBJEKTA U UML-u <ul><li>Za tip se ne uvodi poseban koncept već se  tip </li></ul><ul><li>definiše kao ...
 
SINTAKSA  ZA SPECIFIKACIJU KLASE
 
 
OSNOVNI KONCEPTI ZA IZGRADNJU UML MODELA <ul><li>PREDMETI  – osnovni (najvažniji) koncepti (apstrakcije) koji se koriste z...
&quot;PREDMETI&quot; U UML-u <ul><li>DEFINI[U SE SLEDE]E VRSTE &quot;PREDMETA&quot;: </li></ul><ul><li>Strukturni predmeti...
STRUKTURNI &quot;PREDMETI KLASA : osnovni strukturni koncept U UML-u INTERFEJS : servisi (operacije) Koje pruža klasa ili ...
KOLABORACIJA:  interakcija skupa Elemenata koji rade zajedno i daju ponašanje &quot;veće od zbira elemena&quot;  SLU^AJ KO...
STRUKTURNI &quot;PREDMETI KOMPONENTA : fizički, izmenljivi deo sistema, realizacija skupa  interfejsa ^VOR:  fizički eleme...
INTERAKCIJA : poruka koja se  razmenjuje izme đ u  objekata da bi se  omogućilo neko ponašanje  prikaži ^ekanje STANJE : s...
PREDMETI ZA OPIS GRUPISANJA PAKETI : opšti mehanizam za  organizovanje elemenata modela u grupe Paket pretstavlja&quot;pro...
ANOTACIJE <ul><li>Tekstualna objašnjenja u UML-u </li></ul>
VEZE U UML-U ZAVISNOST:  promena u  jednom &quot;predmetu može da utiče na sematiku drugog   ASOCIJACIJA:  opisuje vezu iz...
VEZE U UML-U GENERALIZACIJA: Veza izme đ u dva objkta u kojoj je prvi objekat generalizacija (nadtip) drugog, odnosno drug...
PRIMERI VEZA
KLASE I POJAVLJIVANJA (smer imena veze)
PRIMER ASOCIJACIJE
PRIMER ASOCIJACIJE
Proizvod Sklop Prost deo 1..* * * PRIMERI AGREGACIJE:  specifična  asocijacija, sa smislom &quot;deo od&quot;
KOMPOZICIJA – POSEBNA VRSTA AGREGACIJE Jedan objekat  može biti deo sam jedne kompozicije
GENERALIZACIJA
DODATNE OSOBINE KLASA <ul><li>KARDINALNOST KLASA (BROJ POJAVLJIVANJA OBJEKATA) I ATRIBUTA (BROJ POJAVLJIVANJA ATRIBUTA) SE...
KOLREN, LIST, APSTRAKTNA KLASA POLIMOFIZAM
KLASIFIKATORI <ul><li>Neki  &quot;predmeti&quot;  imaju pojavljivanja (klasa, interfejs, čvor, slučaj korišćenja, a neki n...
DODATNE VRSTE VEZA <ul><li>ZAVISNOST:  promena u jednom &quot;predmetu može da utiče na sematiku drugog. </li></ul><ul><li...
DODATNE VRSTE VEZA
DODATNE VRSTE VEZA Asocijacija kao klasa
DODATNE VRSTE VEZA Kvalifikacija. Pojedine asocijacije se mogu kvalifikovati preko nekog atributa (koji se naziva kvlifika...
ZAJEDNI^KI MEHANIZMI Komentar pridružen Nekom elementu &quot;Tagged value&quot;  prosirenje  semantike, kreiranje nove inf...
ZAJEDNI^KI MEHANIZMI Imenovani deo Neimenovani deo &quot;Ukrasi&quot; (adornments) su tekstualni ili grafički dodaci osnov...
ZAJEDNI^KI MEHANIZMI Različiti načini pretstavljanja stereotipova
ZAJEDNI^KI MEHANIZMI
ZAJEDNI^KI MEHANIZMI OGRANI^ENJA
ZAJEDNI^KI MEHANIZMI OGRANI^ENJA
KOMENTARI UZ MODEL
INTERFEJS <ul><li>Interfejs  je kolekcija operacija koje opisuju &quot;servis&quot; koje pruža klsa ili komponenta nekog s...
INTERFEJSI
INTERFEJSI KOMPONENTE   ULOGA:  Klasa moče da implementira  više interfejsa. Me đ utim, jedno pojavljivanje, u nekom konte...
GENERALIZACIJA generalizacija
ASPEKTI MODELOVANJA KAO PAKETI UML-a
JEZIK ZA SPECIFIKACIJU OGRANI^ENJA (OBJECT CONSTRAINT LANGUAGE SPECIF.) <ul><li>UML dijagrami nisu dovoljni da obuhvate sv...
Upcoming SlideShare
Loading in …5
×

Objektniprist

609 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
609
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Objektniprist

  1. 1. <ul><li>FON </li></ul><ul><li>OSNOVE OBJEKNO-ORJENTISANIH PRISTUPA </li></ul><ul><li>OSNOVNI KONCEPTI UML-A </li></ul><ul><li>Branislav Lazarević </li></ul>
  2. 2. OSNOVE OBJEKTNE ORJENTACIJE Bilo koji sistem se može posmatrati kao skup me đ usobno povezanih objekata. Pod objektima u nekom sistemu se podrazumevaju fizički objekti, koncepti, abstrakcije, bilo šta što ima jasne granice i jasno značenje, što se jasno razlikuje od drugih objekata u sistemu. U realnom sistemu, objekti i način ostvarivanja njihovih veza mogu da budu veoma raznovrsni. U nekoj vrsti modela realnog sistema svi ti raznovrsni objekti i njihove veze predstavljaju se sa odre đ enim (malim) brojem precizno definisih koncepata. U softverskom inženjerstvu, ovi koncepti treba da posluže, s jedne strane, za formiranje jasnog, preciznog i potpunog modela realnog sistema (njegove specifikacije), a sa druge za implementaciju toga modela na računaru.
  3. 3. OO KONCEPTI: OBJEKAT Pod objektom se podrazumeva entitet koji je sposoban da čuva svoja stanja i koji stavlja na raspolaganje okolini skup operacija preko kojih se ta stanja prikazuju ili menjaju. Učaurenje (encapsulation) , sakrivanje informacija (information hiding). U strogo objektnim pristupima jedini način da se pristupi stanjima objekta ili da se ona promene je preko neke, iz skupa definisanih, operacija: jednini vidljivi deo objekta su operacje i to ne način na koji su implementirane, već samo njihovi efekti (specifikacija).
  4. 5. OBJEKTI I LITERALI <ul><li>U složenim sistemima postoji mnoštvo objekata, pa je potreban neki OBJEKTNI MODEL za predstavljane takvog sistema. </li></ul><ul><li>Objektni model (bilo koji model) je intelektualni alat za opis nekog sistema </li></ul><ul><li>Primitivni koncepti objektnog modela su objekat i literal. Razlikuju se samo po tome što objekat ima identifikator, a literar nema. </li></ul>
  5. 6. TIP OBJEKTA, STANJE I PONA[ANJE <ul><li>Objekti i literali se kategorišu u tipove. Svi objekti, odnosno literali istog tipa imaju zajednički skup stanja (odnosno isti skup osobina) i jedinstveno ponašanje( odnosno isti skup operacija). Konkretan objekat se ponekad naziva pojavljivanje (instanca) </li></ul><ul><li>Stanje objekta se pretstavlja vrednostima njegovih osobina. Pod osobinama se podrazumevaju atributi objekta i njegove veze sa drugim objektima u sistemu. Osobine objekta se menjaju u vremenu </li></ul><ul><li>Ponašanje objekta se opisuje preko skupa operacija koje on izvršava. Za svaka operacija može da ima listu ulaznih i izalaznih parametara definisanih tipova, a može i da vrati tipizovan rezultat. </li></ul><ul><li>  </li></ul>
  6. 7. SPECIFIKACIJA I IMPLEMENTACIJA TIPA <ul><li>Svaki tip ima svoju specifikaciju i jednu ili više implementacija. </li></ul><ul><li>Pod specifikacijom se podrazumevaju eksterne karakteristike, vidljive korisniku tipa: operacije koje mogu biti pozvane, osobine kojima se može pristupiti i izuzeci (exceptions) koji mogu biti pobubu đ eni pri izvo đ enju operacija. </li></ul><ul><li>Specifikacija tipa daje se kao: </li></ul><ul><li>     Interfejs koji pretstavlja samo apstraktno ponašanje (operacije tipa) </li></ul><ul><li>Klasa koja pretstavlja i abstraktno stanje (osobine) i apstraktno ponašanje tipa. </li></ul>
  7. 8. IMPLEMENTACIJA TIPA <ul><li>Mada se najopštije implementacija ostvaruje preko </li></ul><ul><ul><ul><li>S trukture podataka u nekom programskom jeziku, za opis stanja i </li></ul></ul></ul><ul><ul><ul><li>Skupa metoda koje pretstavljaju procedure preko kojih su implementirane operacije tipa </li></ul></ul></ul><ul><li>u većini programskih jezika postoji koncep klase, pa se može reći da je klasa osnovni mehanizam za implementaciju tipova objekata. </li></ul>
  8. 9. KLASE, INTERFEJS I TIPOVI U UML-U <ul><ul><li>UML uglavnom poštuje ovaj objektni model. U </li></ul></ul><ul><ul><li>njemu se definiše: </li></ul></ul><ul><li>&quot;Klasa kao opis skupa objekata koji imaju iste atribute, operacije veze i semantiku&quot; </li></ul><ul><li>  </li></ul><ul><li>&quot;Interfejs kao skup operacija koji definiše neki servis klase ili softverske komponente.&quot; Jedna klasa može da ima više servisa, odnosno interfejsa. Drugim rečima može se reći da klasa implementira ogovarajući interfejs i za takav prikaz se definiše posebna vrsta veze u UML-u </li></ul>
  9. 10. PRETSTAVLJANJE TIPA OBJEKTA U UML-u <ul><li>Za tip se ne uvodi poseban koncept već se tip </li></ul><ul><li>definiše kao stereotip klase. </li></ul><ul><li>  </li></ul><ul><li>Stereotip je mehanizam preko koga se može </li></ul><ul><li>proširiti skup koncepata UML-a tako što se </li></ul><ul><li>izvode novi koncepti iz prethodno definisanih. </li></ul><ul><li>Stereotip mogu da definišu korisnici, da bu uveli </li></ul><ul><li>koncepte pogodne za opis njihovog problema. </li></ul><ul><li>Neki stereotipovi su definisani i u samom UML-u. </li></ul>
  10. 12. SINTAKSA ZA SPECIFIKACIJU KLASE
  11. 15. OSNOVNI KONCEPTI ZA IZGRADNJU UML MODELA <ul><li>PREDMETI – osnovni (najvažniji) koncepti (apstrakcije) koji se koriste za modeliranje entiteta realnog i softverskog sistema sistema </li></ul><ul><li>VEZE povezuju predmete u modelu </li></ul><ul><li>DIJAGRAMI prikazuju neku grupu predmeta i njihivih veza . </li></ul>
  12. 16. &quot;PREDMETI&quot; U UML-u <ul><li>DEFINI[U SE SLEDE]E VRSTE &quot;PREDMETA&quot;: </li></ul><ul><li>Strukturni predmeti </li></ul><ul><li>Predmeti za opis (dinamičkog) ponašanja </li></ul><ul><li>Predmeti za grupisanje </li></ul><ul><li>Anotacije </li></ul>
  13. 17. STRUKTURNI &quot;PREDMETI KLASA : osnovni strukturni koncept U UML-u INTERFEJS : servisi (operacije) Koje pruža klasa ili komponenta IPretraživanje
  14. 18. KOLABORACIJA: interakcija skupa Elemenata koji rade zajedno i daju ponašanje &quot;veće od zbira elemena&quot; SLU^AJ KORI[]ENJA : Skup akcija Koje sistem obavlja da bi izvršio neki Zahtev korisnika STRUKTURNI &quot;PREDMETI AKTIVNA KLASA : objekat koji sadrži jedan ili više procesa ili &quot;niti&quot; aktivnosti i koji može da pokrene upravljačku aktivnost nad njima
  15. 19. STRUKTURNI &quot;PREDMETI KOMPONENTA : fizički, izmenljivi deo sistema, realizacija skupa interfejsa ^VOR: fizički elemenat sistema Resursi u nekom čvoru mreže
  16. 20. INTERAKCIJA : poruka koja se razmenjuje izme đ u objekata da bi se omogućilo neko ponašanje prikaži ^ekanje STANJE : sistem menja stanja pod dejstvom doga đ aja PREDMETI ZA OPIS DINAMI^KOG PONA[ANJA
  17. 21. PREDMETI ZA OPIS GRUPISANJA PAKETI : opšti mehanizam za organizovanje elemenata modela u grupe Paket pretstavlja&quot;prostor imena&quot;. Elemenat u paketu se referenciraju preko imena paketa i svoga imena: Klijent::Otpremnica Poslovna pravila
  18. 22. ANOTACIJE <ul><li>Tekstualna objašnjenja u UML-u </li></ul>
  19. 23. VEZE U UML-U ZAVISNOST: promena u jednom &quot;predmetu može da utiče na sematiku drugog ASOCIJACIJA: opisuje vezu izme đ u pojavljivanja objekata, odnosno pretstavlja &quot;klasu&quot; veza izme đ u pojavljivanja objekata
  20. 24. VEZE U UML-U GENERALIZACIJA: Veza izme đ u dva objkta u kojoj je prvi objekat generalizacija (nadtip) drugog, odnosno drugi specijalizacija (podtip) prvog. Podtip nasle đ uje stanja i ponašanje nadtipa. REALIZACIJA: veza Izme đ u specifikacije i implementacije nekog predmeta.
  21. 25. PRIMERI VEZA
  22. 26. KLASE I POJAVLJIVANJA (smer imena veze)
  23. 27. PRIMER ASOCIJACIJE
  24. 28. PRIMER ASOCIJACIJE
  25. 29. Proizvod Sklop Prost deo 1..* * * PRIMERI AGREGACIJE: specifična asocijacija, sa smislom &quot;deo od&quot;
  26. 30. KOMPOZICIJA – POSEBNA VRSTA AGREGACIJE Jedan objekat može biti deo sam jedne kompozicije
  27. 31. GENERALIZACIJA
  28. 32. DODATNE OSOBINE KLASA <ul><li>KARDINALNOST KLASA (BROJ POJAVLJIVANJA OBJEKATA) I ATRIBUTA (BROJ POJAVLJIVANJA ATRIBUTA) SE MOŽE EKSPLICITNO DEFINISATI – VIšEZNA^NI ATRIBUTI </li></ul>
  29. 33. KOLREN, LIST, APSTRAKTNA KLASA POLIMOFIZAM
  30. 34. KLASIFIKATORI <ul><li>Neki &quot;predmeti&quot; imaju pojavljivanja (klasa, interfejs, čvor, slučaj korišćenja, a neki nemaju (paket, veza generalizacije). Predmeti koji imaju pojavljivanja generališu se u koncept: KLASIFIKATORA </li></ul><ul><li>Klasifikatori su: Intefejs, Tip podatka, Signal, Komponenta, ^vor, Slučaj korišćenja, Podsistem </li></ul><ul><li>Neki pojmovi koji su ranije definisani za klase mogu se koristiti za sve klasifikatore (vidljivost i &quot;scope&quot; atributa, na primer) </li></ul>
  31. 35. DODATNE VRSTE VEZA <ul><li>ZAVISNOST: promena u jednom &quot;predmetu može da utiče na sematiku drugog. </li></ul><ul><li>STEREOTIPOVI ZAVISNOSTI: </li></ul><ul><li>bind specifikuje pojavljivanja koja postaju aktuelni parametri templejt klase </li></ul><ul><li>derive specifikuje da se rezultujući entitet može da dobije sračunavanjem na osnovu polaznih. </li></ul><ul><li>friend specifikuje da neki objekat dobija specifičnu (nedeklarisanu) vidljivost u drugoj klasi. </li></ul><ul><li>instanceOF pokazuje da je objekta pojavljivanje nekog klasifikatora </li></ul><ul><li>refine pokazuje da je jedan klasifikator višI nivo apstrakcije od srugog </li></ul><ul><li>…… .. </li></ul>
  32. 36. DODATNE VRSTE VEZA
  33. 37. DODATNE VRSTE VEZA Asocijacija kao klasa
  34. 38. DODATNE VRSTE VEZA Kvalifikacija. Pojedine asocijacije se mogu kvalifikovati preko nekog atributa (koji se naziva kvlifikator) i time smanjiti multiplicitet asocijacije i samim tim učiniti je semantički bogatijom.
  35. 39. ZAJEDNI^KI MEHANIZMI Komentar pridružen Nekom elementu &quot;Tagged value&quot; prosirenje semantike, kreiranje nove informacije Pri specifikaciji nekog elementa
  36. 40. ZAJEDNI^KI MEHANIZMI Imenovani deo Neimenovani deo &quot;Ukrasi&quot; (adornments) su tekstualni ili grafički dodaci osnovnoj notaciji. Ranje su bili prikazani neki &quot;ukrasi&quot;, (dodaci) kao što su oznake za vidljivost atributa i operacija i slično
  37. 41. ZAJEDNI^KI MEHANIZMI Različiti načini pretstavljanja stereotipova
  38. 42. ZAJEDNI^KI MEHANIZMI
  39. 43. ZAJEDNI^KI MEHANIZMI OGRANI^ENJA
  40. 44. ZAJEDNI^KI MEHANIZMI OGRANI^ENJA
  41. 45. KOMENTARI UZ MODEL
  42. 46. INTERFEJS <ul><li>Interfejs je kolekcija operacija koje opisuju &quot;servis&quot; koje pruža klsa ili komponenta nekog sistema. </li></ul><ul><li>Interfejs pretstavlja liniju razgraničenja izme đ u specifikacijei implementacije neke apstrakcije. </li></ul><ul><li>Interfejs se koristi da prikažei dokumentuje granice izme đ u podsistema nekog sistema </li></ul><ul><li>Deklarišući interfejs definiše se željeno ponašanje neke apstrakcije, nezavisno od načina njene implementacije </li></ul>
  43. 47. INTERFEJSI
  44. 48. INTERFEJSI KOMPONENTE ULOGA: Klasa moče da implementira više interfejsa. Me đ utim, jedno pojavljivanje, u nekom kontekstu pretstavlja moče da pretstavi smo jedan relevantni interfejs. Drugim rečima, svaki interfejs definiše jednu ulogu objekta u nekom kontekstu
  45. 49. GENERALIZACIJA generalizacija
  46. 50. ASPEKTI MODELOVANJA KAO PAKETI UML-a
  47. 51. JEZIK ZA SPECIFIKACIJU OGRANI^ENJA (OBJECT CONSTRAINT LANGUAGE SPECIF.) <ul><li>UML dijagrami nisu dovoljni da obuhvate svu semantiku (svo znanje iz) realnog sistema. Zbog toga je neophodan i jedan formalan jezik za specifikaciju ograničenja OBJECT CONSTRAINT LANGUAGE (OCL). </li></ul><ul><li>OCL se koristi i za foramlni opis semantike UML-a </li></ul>

×