Пројектовање софтвера/Јануар 2022

Извор: SI Wiki
< Пројектовање софтвера
Датум измене: 18. фебруар 2022. у 18:01; аутор: Ivan Pešić (разговор | доприноси) (→‎5. zadatak)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу
  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

1. zadatak

šta važi za sledeći dijagram klasa:

Dijagram klasa iz prvog zadatka.
  1. Objekat klase B može da pozove metod a1().
  2. Objekat klase B je odgovoran za životni vek objekta klase A.
  3. Objekat klase A nema prikazan nijedan atribut.
  4. Objekti klase A sadrže objekte klase B.
  5. 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:

  1. Portova
  2. Komponenti
  3. Interfejsa
  4. Saradnji
  5. Klasa

4. zadatak

Povezati konstrukte jezika UML sa dijagramima na kojima se pojavljuju:

Opcije
Jezički konstrukt Vrsta dijagrama
  • Tačka proširenja c
  • Oblast ekspanzije e
  • Završno pseudostanje h
  • Čvor f
  • Izgubljena poruka g
  1. Dijagram klasa
  2. Dijagram paketa
  3. Dijagram slučaja korišćenja
  4. Dijagram složene strukture
  5. Dijagram aktivnosti
  6. Dijagram raspoređivanja
  7. Dijagram interakcije
  8. Dijagram stanja
  9. Dijagram komponenata
  10. Dijagram objekata
  11. Vremenski dijagram

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:

  1. Broj primeraka elemenata koji odgovaraju kvalifikatoru u jednom primerku zbirke.
  2. Broj primeraka zbirke u kojima se može naći jedan ili više primeraka elementa.
  3. Broj primeraka zbirke u kojima se može nalaziti jedan primerak elementa.
  4. Broj primeraka elementa koji se mogu nalaziti u jednom primerku zbirke.
  5. 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)?

  1. 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.
  2. Klase koje se dodatno implementiraju imaju uloge Konkretnog Subjekta i Konkretnog Posmatrača i izvode se iz klasa radnog okvira.
  3. Odgovornost dodatnih klasa je da obezbede da se obaveštavanje posmatrača o promenama stanja subjekta obavlja asinhrono.
  4. Konkretni posmatrač implementira metod koji određuje reakciju na promenu stanja subjekta, kao nadjačan prost korak Šablonskog metoda propisanog u apstraktnom posmatraču.
  5. 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?

  1. Objekti uloge Podsetnik su obavezno aktivni.
  2. Učesnik Podsetnik ima dva interfejsa, gde učesnik Subjekat vidi uski. a učesnik Čuvar vidi širok.
  3. Predstavlja objektni uzorak strukture.
  4. Učesnik Subjekat ima diskreciono pravo da odluči koji deo stanja se čuva.
  5. 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?

  1. Komanda je objektni uzorak ponašanja
  2. Multiplikativnost asocijacije od Izvršioca do Komande na strani Izvršioca je obavezno 1.
  3. Makrokomanda je varijanta Komande.
  4. Komanda može imati više Pokretača.
  5. 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".