Пројектовање софтвера/Јануар 2022
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
šta važi za sledeći dijagram klasa:
- Objekat klase B može da pozove metod a1().
- Objekat klase B je odgovoran za životni vek objekta klase A.
- Objekat klase A nema prikazan nijedan atribut.
- Objekti klase A sadrže objekte klase B.
- Objekat klase B sadrži proizvoljan broj objekata klase A.
2. zadatak
Koja ključna reč za čvorove objekata na dijagramu aktivnosti se koristi za prikazivanje upravljanja tokovima objekata iz više izvora prema više odredišta?
Odgovor: <<centralBuffer>>
Objašnjenje: Odgovor <<central buffer>>
ili central buffer
je bio priznavan sa 75% bodova nakon žalbi.
3. zadatak
Dijagrami složene strukture mogu da prikažu unutrašnju strukturu:
- Portova
- Komponenti
- Interfejsa
- Saradnji
- Klasa
4. zadatak
Povezati konstrukte jezika UML sa dijagramima na kojima se pojavljuju:
Jezički konstrukt | Vrsta dijagrama |
---|---|
|
|
Objašnjenje: Završno stanje na dijagramu stanja zapravo nije pseudostanje, već specijalno stanje, pa je neoznačavanje odgovora na ovom pitanju nakon žalbi donosilo sve bodove.
5. zadatak
Multiplikativnost na strani elementa zbirke, povezane relacijom asocijacije sa kvalifikatorom na strani zbirke, određuje:
- Broj primeraka elemenata koji odgovaraju kvalifikatoru u jednom primerku zbirke.
- Broj primeraka zbirke u kojima se može naći jedan ili više primeraka elementa.
- Broj primeraka zbirke u kojima se može nalaziti jedan primerak elementa.
- Broj primeraka elementa koji se mogu nalaziti u jednom primerku zbirke.
- Broj primeraka elemenata koji odgovaraju kvalifikatoru ukupno u svim primercima zbirke.
6. zadatak
Ako se pri razvoju sistema koristi radni okvir koji obezbeđuje arhitekturu Izdavač-Pretplatnik (eng. Publisher - Subscriber), šta od navedenog važi za korisničke klase koje je potrebno dodatno implementirati u razvijanom sistemu da bi bila podržana komunikacija između Izdavača i pretplatnika po projektnom uzorku Posmatrač sa modelom preuzimanja (eng. pull model)?
- Radni okvir obezbeđuje samo interfejse apstraktnog posmatrača i apstraktnog subjekta, a klase koje se dodaju, implementirajući te interfejse obezbeđuju kompletnu logiku komunikacije.
- Klase koje se dodatno implementiraju imaju uloge Konkretnog Subjekta i Konkretnog Posmatrača i izvode se iz klasa radnog okvira.
- Odgovornost dodatnih klasa je da obezbede da se obaveštavanje posmatrača o promenama stanja subjekta obavlja asinhrono.
- Konkretni posmatrač implementira metod koji određuje reakciju na promenu stanja subjekta, kao nadjačan prost korak Šablonskog metoda propisanog u apstraktnom posmatraču.
- Vođenje i ažuriranje zbirke prijavljenih posmatrača se implementira u dodatoj klasi konkretnog subjekta.
Objašnjenje: Stavka pod d je na kolokvijumu bila označena kao tačna, ali zapravo nije.
7. zadatak
Koje od navedenih tvrdnji su tačne za projektni uzorak Podsetnik?
- Objekti uloge Podsetnik su obavezno aktivni.
- Učesnik Podsetnik ima dva interfejsa, gde učesnik Subjekat vidi uski. a učesnik Čuvar vidi širok.
- Predstavlja objektni uzorak strukture.
- Učesnik Subjekat ima diskreciono pravo da odluči koji deo stanja se čuva.
- Podsetnik može da se koristi zajedno sa Iteratorom za čuvanje podatka o tekućem elementu.
8. zadatak
Koji projektni uzorak razdvaja apstrakciju od njene implementacije da bi se mogle nezavisno menjati?
Odgovor: Most
9. zadatak
Koje od navedenih tvrdnji su tačne za projektni uzorak Komanda?
- Komanda je objektni uzorak ponašanja
- Multiplikativnost asocijacije od Izvršioca do Komande na strani Izvršioca je obavezno 1.
- Makrokomanda je varijanta Komande.
- Komanda može imati više Pokretača.
- Konkretne komande se često realizuju kao Unikat.
10. zadatak
Kako se naziva vrsta zastupnika koja obezbeđuje lokalnog predstavnika objekta koji se nalazi u drugom adresnom prostoru?
Odgovor: udaljen
Objašnjenje: Može i "ambasador" ili "remote".