Пројектовање софтвера/Јануар 2022 — разлика између измена
(WIP) |
м (→5. zadatak) |
||
| (Није приказано 6 међуизмена 3 корисника) | |||
| Ред 3: | Ред 3: | ||
== 1. zadatak == | == 1. zadatak == | ||
šta važi za sledeći dijagram klasa: | |||
[[Датотека:PS Januar 2022 zadatak 1 dijagram klasa.svg|мини|Dijagram klasa iz prvog zadatka.]] | |||
<div class="abc-list" data-solution="multiple"> | |||
# Objekat klase B može da pozove metod a1(). | |||
# <span class="solution">Objekat klase B je odgovoran za životni vek objekta klase A.</span> | |||
# <span class="solution">Objekat klase A nema prikazan nijedan atribut.</span> | |||
# Objekti klase A sadrže objekte klase B. | |||
# Objekat klase B sadrži proizvoljan broj objekata klase A. | |||
</div> | |||
== 2. zadatak == | == 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: <span class="spoiler" data-solution="text"><<centralBuffer>></span> | |||
Objašnjenje: <span class="spoiler" data-solution="explanation">Odgovor <code><<central buffer>></code> ili <code>central buffer</code> je bio priznavan sa 75% bodova nakon žalbi.</span> | |||
== 3. zadatak == | == 3. zadatak == | ||
Dijagrami složene strukture mogu da prikažu unutrašnju strukturu: | |||
<div class="abc-list" data-solution="multiple"> | |||
# Portova | |||
# <span class="solution">Komponenti</span> | |||
# Interfejsa | |||
# <span class="solution">Saradnji</span> | |||
# <span class="solution">Klasa</span> | |||
</div> | |||
== 4. zadatak == | == 4. zadatak == | ||
Povezati konstrukte jezika UML sa dijagramima na kojima se pojavljuju: | |||
{| class="wikitable" | |||
|+ Opcije | |||
! Jezički konstrukt | |||
! Vrsta dijagrama | |||
|- | |||
| <div data-solution="select" data-options="a,b,c,d,e,f,g,h,i,j,k"> | |||
* Tačka proširenja <span class="spoiler">c</span> | |||
* Oblast ekspanzije <span class="spoiler">e</span> | |||
* Završno pseudostanje <span class="spoiler">h</span> | |||
* Čvor <span class="spoiler">f</span> | |||
* Izgubljena poruka <span class="spoiler">g</span> | |||
</div> | |||
| <div class="abc-list"> | |||
# Dijagram klasa | |||
# Dijagram paketa | |||
# Dijagram slučaja korišćenja | |||
# Dijagram složene strukture | |||
# Dijagram aktivnosti | |||
# Dijagram raspoređivanja | |||
# Dijagram interakcije | |||
# Dijagram stanja | |||
# Dijagram komponenata | |||
# Dijagram objekata | |||
# Vremenski dijagram | |||
</div> | |||
|} | |||
Objašnjenje: <span class="spoiler" data-solution="explanation">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.</span> | |||
== 5. zadatak == | == 5. zadatak == | ||
Multiplikativnost na strani elementa zbirke, povezane relacijom asocijacije sa kvalifikatorom na strani zbirke, određuje: | |||
<div class="abc-list" data-solution="single"> | |||
# <span class="solution">Broj primeraka elemenata koji odgovaraju kvalifikatoru u jednom primerku zbirke.</span> | |||
# 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. | |||
</div> | |||
== 6. zadatak == | == 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'')? | |||
<div class="abc-list" data-solution="multiple"> | |||
# 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. | |||
# <span class="solution">Klase koje se dodatno implementiraju imaju uloge Konkretnog Subjekta i Konkretnog Posmatrača i izvode se iz klasa radnog okvira.</span> | |||
# 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. | |||
</div> | |||
Objašnjenje: <span class="spoiler" data-solution="explanation">Stavka pod d je na kolokvijumu bila označena kao tačna, ali zapravo nije.</span> | |||
== 7. zadatak == | == 7. zadatak == | ||
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Podsetnik''? | |||
<div class="abc-list" data-solution="multiple"> | |||
# 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. | |||
# <span class="solution">Učesnik ''Subjekat'' ima diskreciono pravo da odluči koji deo stanja se čuva.</span> | |||
# <span class="solution">''Podsetnik'' može da se koristi zajedno sa ''Iteratorom'' za čuvanje podatka o tekućem elementu.</span> | |||
</div> | |||
== 8. zadatak == | == 8. zadatak == | ||
Koji projektni uzorak razdvaja apstrakciju od njene implementacije da bi se mogle nezavisno menjati? | |||
Odgovor: <span class="spoiler" data-solution="text">Most</span> | |||
== 9. zadatak == | == 9. zadatak == | ||
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Komanda''? | |||
<div class="abc-list" data-solution="multiple"> | |||
# <span class="solution">''Komanda'' je objektni uzorak ponašanja</span> | |||
# Multiplikativnost asocijacije od ''Izvršioca'' do ''Komande'' na strani ''Izvršioca'' je obavezno 1. | |||
# <span class="solution">''Makrokomanda'' je varijanta ''Komande''.</span> | |||
# <span class="solution">''Komanda'' može imati više ''Pokretača''.</span> | |||
# Konkretne komande se često realizuju kao ''Unikat''. | |||
</div> | |||
== 10. zadatak == | == 10. zadatak == | ||
Kako se naziva vrsta zastupnika koja obezbeđuje lokalnog predstavnika objekta koji se nalazi u drugom adresnom prostoru? | |||
Odgovor: <span class="spoiler" data-solution="text">udaljen</span> | |||
Objašnjenje: <span class="spoiler" data-solution="explanation">Može i "ambasador" ili "remote".</span> | |||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија:Пројектовање софтвера]] | [[Категорија:Пројектовање софтвера]] | ||
Тренутна верзија на датум 18. фебруар 2022. у 19:01
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
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".