Lekcija 10 Flashcards

1
Q

10.1. Šta su UML sekvencijalni dijagrami? Koja je veza između UML dijagrama korišćenja i sekvencijalnih dijagrama? Dajte primer dva povezana sekvencijalna dijagrama. Prvi se odnosi na visok nivo apstrakcije sistema, a drugi – na niski, detaljni nivo. Čemu služi sekvencijalni model?

A
  • UML sekvencijalni dijagrami se koriste za modelovanje interakcije između aktera i objekata u sistemu, ili samih objekata. Sekvencijalni dijagram prikazuje redosled odvijanja interakcija (slanje poruka između objekata) za određeni slučaj korišćenja ili primer (instancu) slučaja korišćenja.
  • Sekvencijalni dijagram pokazuje svojim porukama, koje operacije
    (metode) primajući objekti (klase) moraju da poseduju, jer treba da
    realiyuju zahteve koje poruke donose.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

10.2. Šta je UML model stanja? Šta je stanje objekta? Kako model menja stanje? Zašto se koriste modeli stanja? Dajte neki primer model stanja i objasnite navedena stanja. Dajte dijagram stanja lifta.

A
  • Model stanja prikazuje stanja i njihovu promenu usled dejstva pojedinih događaja kod objekata.
  • Stanje objekta odražava trenutno vrednosti njegovih atributa.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

10.3. Šta je interfejs? Koja je uloga interfejsa? Koja je veza interfejsa i klasa? Da li jedna klasa može imati više interfejsa? Da li jedan interfejs može da bude povezan sa više klasa? Šta su zaglavlja(signature operacija/metoda? Šta one sadrže? Šta je povratna vrednost metoda? Šta je semantika interfejsa? Šta su servisi, šta oni rade?

A
  • Interfejs nekog objekta definiše poruke na koje objekat reaguje. Svaka poruka se definiše tzv. potpisom tj. nazivom operacije koju objekat
    sadrži i njenih parametara.
  • Interfejs ne određuje kako će objekat tj. Klasa koja predstavlja taj objekat, primeniti i izvršiti neku operaciju. Promene koje se rade unutar jedne klase koja implementira interfejs, ne moraju da izazivaju nikakve promene u
    komunikaciji sa drugim klasama, ako se signature poruka koje razmenjuju (interakcije) ne menjaju.
  • Svaka poruka se definiše potpisom (signature), tj. Nazivom metode koju objekat sadrži i argumenata koji su neophodni da bi ta operacija mogla uspešno da se izvrši.
  • Interfejs sadrži listu servisa, koje objekat koji je povezan sa interfejsom nudi spoljnjem okruženju. Ti servisi menjaju vrednosti podataka u objektu ili čitaju i prosleđuju njihove vrednosti.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

10.4. Šta je šablon? Šta je šablon projektovanja? Koje informacije sadrži opis jednog šablona za projektovanje. Opišite šablon „posmatrač“ (engl. Observer). Kada se koristi ovaj šablon? Dajte primer primene ovog šablona.

A

Šablon je opis problema i suština njegovog rešenja koje se može više puta koristiti u različitim slučajevima. Šabloni su način da se ponovo upotrebi znanje i iskustvo drugih projektanata. One obezbeđuju ponovnu upotrebljivost projektnih rešenja koja su se pokazala dobrim u praksi.

Šablon projektovanja čini mali broj klasa koji pute delegiranja ili nasleđivanja, obezbeđuju robusno i prilagodljivo rešenje. Te klase se mogu prilagoditi i dopuniti pri projektovanju specifičnog sistema koji se razvija. Šabloni projektovanja daju standardnu terminologiju i specifični su za određeni scenario.

Observer šablon omogućava definisanje “jedan-na-mnoge” zavisnost između objekata, tako da kada se jednom objektu promeni stanje, svi objekti zavisni od njega se automatski obaveštavaju i menjaju.

Primene:
1. Kada apstrakcija ima dva aspekta, i kada jedan zavisi od drugoga
2. Kada promena jednog objekta zahteva promenu drugih objekata, a vi ne znate koliko je takvih objekata
3. Kada bi trebalo da jedan objekat da obavesti druge objekte bez potreba da zna ko su ti objekti ne želite da ovi objekti budu čvrsto povezani

Primer: Prezentacioni deo i aplikacioni podaci grafičkog korisničkog interfejsa. Ostvaruje se nezavisnost prezentacionog dela od dela sa podacima

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

10.5. Koja je korist od primene šablona projektovanja? Koji problemi mogu nastati u primeni šablona? Kako se ovi problemi rešavaju? Kako se nalazite pogodan šablon?

A

Šablon projektovanja čini mali broj klasa koji pute delegiranja ili nasleđivanja, obezbeđuju robusno i prilagodljivo rešenje. Te klase se mogu prilagoditi i dopuniti pri projektovanju specifičnog sistema koji se razvija. Šabloni projektovanja daju standardnu terminologiju i specifični su za određeni scenario.

U slučaju ponovne upotrebe izvršnih komponenti, javlja se problem ograničenja koja se javljaju usled odluka vezanih za detaljno projektovanje, a koje su doneli implementeri (programeri) tih izvršnih komponenata. Ta ograničenja mogu biti vezana za izabrane algoritme u tim komponentama, ali i za tipove interfejsa komponenata. U slučaju kada su ova vrlo konkretna rešenja u sukobu sa zahtevima postavljenim pri projektovanju novog sistema, ponovna upotreba takvih komponenti postaje nemoguća ili unosi veliku neefikasnost rada sistema. Zbog toga, upotreba šablona (mustri) ne znači upotrebu gotovih, izvršnih komponenata, već samo ponovnu upotrebu ideja, koncepata, iskustva rešavanja sličnog problema, što otvara mogućnost reorganizacije sistema tako da se može upotrebiti odgovarajuća šablon.

Ako se radi na tom, opštem nivou, mogu se naći odgovarajući šabloni u knjizi projektnih šablona i uspešno primeniti.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly