Пројектовање софтвера/Јануар 2026
Јануарски рок 2026. године одржан је 2. месеца и трајао је 1,5h.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Nekoliko klasa implementira različite odgovornosti i ima svojstva koja se mogu nezavisno kombinovati. Umesto pravljenja klasa koje ugrađuju kombinacije svojstava i odgovornosti tih klasa (ugrađivanjem ili višestrukim izvođenjem), razmotrićete primenu projektnog obrasca:
- Adapter
- Decorator
- Strategy
- Nijedan od navedenih, već ovaj: ____________
Objašnjenje: Pogledati prezentacije o projektnim uzorcima.
2. zadatak
Primenom projektnog obrasca Template Method na koncept komande (Command), obezbediti podršku za to da sve komande, osim onoga što rade specifično, uvek rade i sledeće: proveravaju prava pristupa tekućeg korisnika za izvršavanje date komande (i bacaju izuzetak ako tog prava nema), zapisuju trag o izvršenju date komande (logging) i hvataju i obrađuju sve bačene izuzetke koji nisu uhvaćeni na nižem, specifičnom nivou.
3. zadatak
(Precrtati netačno) Na jeziku UML, paket može direktno sadržavati (kao svoje neposredne elemente): klase, svojstva, operacije, asocijacije i druge pakete.
Odgovor: Nije odgovoreno.
4. zadatak
Prikazati UML dijagram klasa za sledeći opis dela konceptualnog modela. Plan aktivnosti (Activity plan) određuje parcijalno uređen skup Aktivnosti (Activity). Jedna aktivnost A može zavisiti od nekoliko drugih aktivnosti B, sa značenjem da A ne može započeti pre nego što se sve aktivnosti B okončaju; nisu dozvoljene ciklične neposredne ili posredne ovakve zavisnosti. Za aktivnost se može dobiti skup svih aktivnosti od kojih ona direktno ili indirektno zavisi. Aktivnost može biti manuelna, pri čemu se ona započinje i završava direktnim operacijama korisnika, ili automatska, pri čemu ona započinje čim su okončane sve aktivnosti od kojih ona zavisi.
Objašnjenje: Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.
5. zadatak
Prikazati deo šeme relacione baze podataka kojom se implementira dati deo konceptualnog modela. Tabele za prikazane klase imaju tehničke primarne ključeve i još neke atribute.
6. zadatak
Prikazati kako se N-arna asocijacija koja povezuje tri klase može alternativno modelovati.
7. zadatak
Prikazati dijagram interakcije u kojoj učestvuju pošiljalac i primalac i koji prikazuje situaciju u kojoj pošiljalac šalje dve poruke primaocu asinhrono, a primalac ih prima u proizvoljnom redosledu (sa preticanjem poruka ili bez njega).
8. zadatak
Šta znači izvršavanje do završetka (engl. run to completion) u semantici izvršavanja mašina stanja?
Odgovor: Nije odgovoreno.
9. zadatak
Protumačiti sledeći dijagram.
10. zadatak
Ukratko opisati i objasniti troslojnu (three-tier) arhitekturu softvera.
Odgovor: Nije odgovoreno.
Objašnjenje: Pogledati 360. slajd Milićevljeve prezentacije sa predavanja.