Пројектовање софтвера/Питалице — разлика између измена
м (Ovo nije poenta Posrednika nego Fasade) |
м (Objašnjenje na šta se misli u stavci pod e) |
||
Ред 156: | Ред 156: | ||
# <span class="solution">Implementira operacije zahtevanog interfejsa</span> | # <span class="solution">Implementira operacije zahtevanog interfejsa</span> | ||
</div> | </div> | ||
Objašnjenje: <span class="spoiler" data-solution="explanation">Stavka pod e je tačna ukoliko se misli na interfejs zahtevan od komponente. Ukoliko se misli na interfejs koji komponenta zahteva, komponenta te operacije ne implementira.</span> | |||
== 18. zadatak == | == 18. zadatak == |
Верзија на датум 23. јануар 2022. у 22:25
Na ovoj stranici skupljeni su razni ispitni primeri koji su se možda pojavili na ispitu ali im se ne zna rok pojavljivanja ili jednostavno nije bilo dovoljno dobro formulisanih pitalica iz tog roka kako bi se odvojili u stranicu roka.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Izabrati tačne tvrdnje za uzorak Prototip:
- Osim uz pomoć fabričkog metoda, apstraktna fabrika se može implementirati i uz pomoć prototipa.
- Potklase konkretnog prototipa nisu u obavezi da implementiraju metodu
clone()
. - Prototip je objektni uzorak strukture.
- Prototip se često realizuje kao unikat.
- Poželjno je koristiti uzorak prototip prilikom pravljenja radnih okvira (framework).
2. zadatak
U MVC (model–view–controller) okviru mogu se uočiti sledeći projektni uzorci:
- Unikat
- Sastav
- Prototip
- Posmatrač
- Iterator
- Dekorater
- Strategija
- Šablonski metod
- Adapter
3. zadatak
Odnos interfejs → klasa i klasa → objekat, redom, isti je kao i odnos:
- slučaj korišćenja → saradnja i saradnja → scenario
- saradnja → slučaj korišćenja i slučaj korišćenja → scenario
- slučaj korišćenja → scenario i slučaj korišćenja → saradnja
- slučaj korišćenja → saradnja i slučaj korišćenja → scenario
4. zadatak
Izabrati tačne tvrdnje za dijagrame interakcije:
- Veza je komunikaciona putanja između uloga.
- Dijagram komunikacije je vrsta dijagrama strukture.
- Na dijagramu sekvence vertikalna osa predstavlja vreme, a horizontalna uloge.
- alt fragment je fragment koji se izvršava samo ukoliko je ispunjen uslov.
- Poruka koja nije atomična predstavlja se strelicom ukoso naniže.
5. zadatak
Koliko iznosi multiplikativnost y projektnom uzorku Iterator na strani asocijacije konkretnog iteratora?
Odgovor: *
6. zadatak
Izabrati tačne tvrdnje za uzorak Podsetnik:
- Čuvar i subjekat imaju isti interfejs ka podsetniku.
- Podsetnik je u obavezi da čuva objekat koji ga je snimio.
- Podsetnik dozvoljava pristup stanju samo subjektu.
- Podsetnik je objektni uzorak ponašanja.
- Podsetnik omogućava podršku za copy-on-write funkcionalnost.
7. zadatak
Izabrati nazive pojmova sa slike:
- Sekvencijalno grananje (decision)
- Konkurentno spajanje (join)
- Kraj toka
- Početni čvor
- Krajnji čvor
8. zadatak
Izabrati tačne tvrdnje:
- Y je klasa.
- a je klasa.
- Broj 2 na strani asocijacije kod B znači da su dva objekta B y vezi sa tačno jednim objektom A.
- Broj 2 na asocijaciji predstavlja multiplikativnost.
- Broj 2 u uglastim zagradama predstavlja multiplikativnost.
9. zadatak
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
Da bi se definisala multiplikativnost ternarne asocijacije potrebno je:
- Uzeti vrednost jedan za multiplikativnost jedne klase i odrediti multiplikativnost ostale dve.
- Utvrditi multiplikativnost posmatrajući svaku klasu zasebno.
- Uzeti vrednost jedan za multiplikativnost preostale dve klase i odrediti multiplikativnost treće.
- Ponašati se kao da je asocijacija binarna i odrediti multiplikativnost u parovima.
10. zadatak
Odabrati domen i namenu sledećih projektnih uzoraka: (objektni/klasni uzorak strukture/stvaranja/ponašanja)
- Lanac odgovornosti: objektni uzorak ponašanja
- Komanda: objektni uzorak ponašanja
- Graditelj: objektni uzorak stvaranja
- Zastupnik: objektni uzorak strukture
- Most: objektni uzorak strukture
11. zadatak
Poređajte pojmove objektno-orijentisane metodologije po hronološkom redosledu: 1. objektno-orijentisana analiza; 2. objektno-orijentisano programiranje; 3. objektno orijentisano projektovanje
- 2, 1, 3
- 1, 2, 3
- 1, 3, 2
- 2, 3, 1
12. zadatak
Osnovni principi objektno-orijentisanog modela su:
- Perzistentnost
- Kapsulacija
- Hijerarhija
- Konkurentnost
- Apstrakcija
- Modularnost
13. zadatak
Apstrakcija realnog sistema iz određenog ugla posmatranja, a u skladu njegovog boljeg razumevanja predstavlja model tog sistema.
14. zadatak
UML je jezik za ______, što znači da je moguće mapirati model iz UML-a u programske jezike poput Jave ili C++, a čak i u tabelu relacione baze podataka podataka.
- dokumentovanje
- vizuelizaciju
- konstrukciju
- modelovanje
15. zadatak
Stvari strukture predstavljaju statičke delove modela i prikazuju logičke ili fizičke elemente.
16. zadatak
Projektni uzorci se u UML notaciji predstavljaju jednom vrstom stvari strukture:
- Klasom
- Scenarijom
- Slučajem korišćenja
- Saradnjom
17. zadatak
Odrediti tačnost tvrdnji koje važe za stvar strukture - komponentu:
- Realizuje implementirane interfejse
- Sadrži atribute
- Sadrži zahtevane interfejse
- Može se zameniti drugom, adekvatnom komponentom bez narušavanja modela
- Implementira operacije zahtevanog interfejsa
Objašnjenje: Stavka pod e je tačna ukoliko se misli na interfejs zahtevan od komponente. Ukoliko se misli na interfejs koji komponenta zahteva, komponenta te operacije ne implementira.
18. zadatak
Vrste relacija su:
- Realizacija
- Veza
- Interakcija
- Asocijacija
19. zadatak
Izabrati dijagrame ponašanja:
- Dijagram raspoređivanja
- Dijagram stanja
- Dijagram komponenata
- Dijagram interakcije
20. zadatak
<<exception>>
je primer:
- Stereotipa
- Ograničenja
- Obeležene vrednosti
21. zadatak
Apstraktna klasa se označava:
- Ograničenjem
{abstract}
- Pisanjem imena klase iskošenim (italic) slovima
- Pisanjem imena klase podebljanim (bold) slovima
- stereotipom
<<abstract>>
22. zadatak
Obeležiti sintaksno ispravno napisane atribute
- flag:Boolean[1..*]=true
- #flag-Boolean=false
- !flag:Boolean=true
- ~/flag:Boolean
Objašnjenje: #flag-Boolean=false
je sintaksno ispravno napisan atribut sa nazivom flag-Boolean
. Da li se ovo pitanje zaista pojavilo na nekom ispitu nije poznato.
23. zadatak
Stereotip koji modelira eksplicitno generisanje iz šablona je (uneti bez <<>>
): bind
24. zadatak
Na slici važi:
- Klijent zavisi od interfejsa
- K realizuje interfejs
25. zadatak
Simbol koji se nalazi u grafičkoj reprezentaciji ugnježđivanja klase je:
- ~
- !
- -
- +
- #
Objašnjenje: Tehnički, znak za ugnežđivanje klasa je mnogo približniji XOR (⊕) znaku.
26. zadatak
Neka se klasa panel
nalazi u potpaketu awt
paketa java
. Tada se puno (kvalifikovano) ime na UML dijagramu predstavlja kao:
java(awt(panel))
java:awt:panel
java.awt.panel
java::awt::panel
27. zadatak
Uvoženje paketa realizuje se ključnom reči:
<<import>>
<<contain>>
<<access>>
28. zadatak
Dijagram objekata je instanca klasnog dijagrama; prikazuje snimak stanja sistema u određenom vremenskom trenutku.
29. zadatak
Obeležiti tačne tvrdnje:
- Poruka može biti sinhrona i asinhrona
- Kada se sinhrona poruka pošalje, primalac se "zaključava" za sve ostale sinhrone poruke, dok se aktivnost predviđena tom porukom ne izvrši
- Signal je sinhrona poruka
30. zadatak
Na slici je grafička reprezentacija dijagrama: sekvence
31. zadatak
Na slici iz prethodnog zadatak blok označen sa : C
(treći s leva na desno) predstavlja:
- Anonimnu ulogu tipa C
- Anonimni objekat klase C
- Ulogu sa nazivom C
- Objekat sa nazivom C
32. zadatak
Ako je poruka označena kao 3b.5.2:dohvati()
, to znači da se u niti b porukom sa rednim brojem 5 pokreću dalje aktivnosti.
33. zadatak
Element projektnog uzorka koji opisuje uopšten projektni problem, strukture klasa ili objekata simptomatične za nefleksibilni dizajn i uslove koji se moraju ispuniti za primenu datog uzorka je:
- naziv
- postavka problema
- opis rešenja
- diskusija posledica
34. zadatak
Ovaj uzorak primenjujemo kada se objekti komponuju u strukturu stabla i omogućava da se uniformno tretiraju individualni objekti kao i njihove kompozicije. Reč je o projektnom uzorku Sastav
35. zadatak
Ovaj uzorak primenjujemo kada mora postojati tačno jedan objekat klase koji mora biti pristupačan klijentima preko poznate tačke pristupa c tim da klasa treba da bude proširiva izvođenjem. Reč je o projektnom uzorku Unikat
36. zadatak
U projektnom uzorku Posmatrač koje strane asocijacije treba da sadrže glavu strelice? (prvo se gleda asocijacija 1 pa asocijacija 2)
- → i ←
- ← i ←
- ← i →
- ⇿ i ⇿
- → i →
37. zadatak
Na slici je prikazan projektni uzorak Dekorater. Promenom ukrasa 1 sa iste strane asocijacije kao i -komponenta
u ukras *, dobija se projektni uzorak Sastav.
38. zadatak
Izabrati vrstu iteratora koja najbolje odgovara ponuđenim tvrdnjama
- Na klijentu je odgovornost za progres obilaska: Spoljašnji
- Klijent samo zahteva od iteratora da izvrši neku operaciju: Unutrašnji
- Dobar za obilazak struktura oblika stabla: Unutrašnji
- Klijent eksplicitno zahteva od iteratora sledeći element: Spoljašnji
39. zadatak
Ovaj projektni uzorak se koristi kada se dinamički dodaje odgovornost nekom objektu i kada treba izbeći "eksploziju" klasa zbog prevelikog broja proširivanja izvođenjem. Reč je o uzorku Dekorater.
40. zadatak
Izabrati tačne tvrdnje:
- Posrednik je uzorak koji smanjuje uparivanja klijenata sa podsistemom.
- Poređenje identiteta bilo koje dve pojave "lakog" objekta u kontekstu uvek vraća vrednost true.
- Forsiranje interakcije kroz posrednika može da ugrozi performanse.
- Kod projektnog uzorka Fasada dozvoljena je komunikacija klijenta direktno sa klasama podsistema.
- Posrednik koristi jednosmerni protokol u komunikaciji sa kolegama.
41. zadatak
Koliko iznosi vrednost x posle izvršavanja događaja sledećim redosledom: e2 e3 e2 e4 e5?
Odgovor: 17
Objašnjenje:
- Početno stanje, izvršava se x=3
- Ulazi se u stanje A, izvršava se x++, x=4
- Početno stanje u stanju A, ulazi se u stanje B, izvršava se x=x/2, x=2
- Dešava se događaj e2, izlazi se iz stanja B, izvršava se x=x+3, x=5
- Pri izvršavanju e2 izvršava se x=x*2, x=10
- Ulazi se u stanje C i dešava se e3, čime se vraća u stanje B i izvršava x=x/2, x=5
- Opet se dešava e2, izlazi se iz stanja B, izvršava se x=x+3, x=8
- Pri izvršavanju e2 se opet izvršava x=x*2, x=16
- Ulazi se u stanje C i dešava se e4, izvršava se x++, x=17
- Dešava se e5, izlazi se iz stanja C i stanja A, izvršava se x--, x=16
- Ulazi se u stanje D, izvršava se x++, x=17
42. zadatak
Odabrati domen i namenu sledećih projektnih uzoraka: (objektni/klasni uzorak strukture/stvaranja/ponašanja)
- Apstraktna fabrika: objektni uzorak stvaranja
- Fabrički metod: klasni uzorak stvaranja
- Muva: objektni uzorak strukture
- Stanje: objektni uzorak ponašanja
- Šablonski metod: klasni uzorak ponašanja
43. zadatak
Izabrati tačne tvrdnje:
- Artefakt kao pojava komponente predstavlja se stereotipom
<<occurence>>
. - Akcija se sastoji od jedne ili više aktivnosti (ali ne može da se desi da nema aktivnosti).
- Particije mogu imati hijerarhijsku dubinu veću od 1.
- Klase se mogu pojaviti na dijagramu komponenata.
- Poželjno je koristiti centralni bafer prilikom modelovanja tabele baze podataka.
- Akcije su atomične.