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

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Januarski rok 2023. godine održan je 26. januara i trajao je 20 minuta.

  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

1. zadatak

Dijagram klasa uz prvi zadatak.

Koje od navedenih tvrdnji su tačne za sledeći dijagram klasa, ako su A i A1 u paketu, a B u drugom?

  1. Metod operacije m() klase A1 može da pozove operaciju m1() klase B.
  2. Metod operacije m() klase A1 može da pozove operaciju m2() klase B.
  3. Metod operacije m() klase A1 može da pozove operaciju m3() klase B.
  4. Relacija između A1 i A predstavlja relaciju generalizacije.
  5. Metod operacije m() klase A1 može da pristupi kraju asocijacije b.

2. zadatak

Koje od sledećih tvrdnji su tačne za dijagrame objekata na jeziku UML?

  1. Moguće je navesti tip atributa objekta, ali ne i njegovu vrednost.
  2. Objekti se povezuju asocijacijama.
  3. Naziv objekta se podvlači.
  4. Moguće je predstaviti neimenovani objekat.
  5. Moguće je predstaviti objekat bez navođenja tipa objekta.

3. zadatak

Koje od ponuđenih tvrdnji su u potpunosti tačne za dijagrame stanja u jeziku UML 2?

  1. Prelaz između dva podstanja koja pripadaju različitim konkurentnim podstanjima složenog stanja je dozvoljen samo ako je naveden kao unutrašnji prelaz složenog stanja.
  2. Neki sistem u celini može biti subjekat za koji je vezan dijagram stanja.
  3. Svaki automat stanja je ili Mealy-evog ili Moor-ovog tipa.
  4. Prelaz iz složenog stanja sa više konkurentnih podstanja se ponaša kao join pseudostanje.
  5. Složeno stanje mora da sadrži početni pseudočvor ili pseudočvor plitke ili duboke istorije.

4. zadatak

Koje od navedenih tvrdnji su tačne za oblasti ekspanzije?

  1. Ulazni i izlazni ekspanzioni čvorovi su objektni čvorovi.
  2. Ulazni ekspanzioni čvorovi simbolizuju zbirke (kolekcije) elemenata koji se obrađuju tako što se nad svakim elementom izvrši aktivnost oblasti ekspanzije.
  3. Oblasti ekspanzije mogu da se pojave na dijagramima stanja kao složena ortogonalna stanja.
  4. Ključna reč <<parallel>> unutar oblasti ekspanzije govori da se elementi ulaznog ekspanzionog čvora obrađuju fizički paralelno (istovremeno).
  5. Oblast ekspanzije koja sekvencijalno obrađuje elemente ulaznog ekspanzionog čvora se obeležava ključnom rečju <<sequential>>.

5. zadatak

Navesti ključnu reč kojim[sic] se označava veza između izvršivog fajla aplikacije (.exe) i uređaja na kojem se ta aplikacija izvršava.

Odgovor: <<deploy>>

6. zadatak

Označiti tačne tvrdnje za push strategiju obaveštavanja posmatrača.

  1. Subjekat posmatračima šalje samo obaveštenje da se njegovo stanje promenilo.
  2. Posmatrač (ili konkretan posmatrač) registruje svoje subjekte.
  3. Nakon obaveštenja o promeni stanja, posmatrači od subjekta mogu da traže njegovo novo stanje.
  4. Subjekat šalje svoje stanje svim posmatračima čim se ono promeni.
  5. Subjekat (ili konkretan subjekat) registruje svoje posmatrače.
  6. Push strategija opterećuje mrežu manjim brojem poruka od pull strategije, ali se načelno prenosi više podataka preko mreže.

7. zadatak

Dijagram sekvence uz sedmi zadatak.

Za sledeći dijagram sekvence koji prikazuje rad projektnog uzorka Podsetnik, koje od navedenih tvrdnji su tačne?

  1. Uloga tipa C odgovara ulozi Podsetnik u uzorku.
  2. Drugi naziv za uzorak Podsetnik je Oznaka (eng. Token).
  3. Uzorak se koristi da se ne bi eksponirali implementacioni detalji uloge Čuvar.
  4. Uzorak se često koristi zajedno sa projektnim uzorkom Komanda.
  5. Uloga tipa A odgovara ulozi Subjekat u uzorku.

8. zadatak

Koje projektne uzorke treba (po principu najboljeg izbora od ponuđenih) koristiti u sledećim situacijama?

  1. Data je klasa A koja ima metode f() i g(). U okviru programskog sistema potrebno je koristiti klasu koja ima metode g() i f1(), gde se metod f1() sastoji od provere nekih graničnih uslova i zatim pozivanja metoda f(). Adapter
  2. Data je slika koju čini veliki broj piksela. Potrebno je obezbediti mogućnost serijskog pristupa pikselima, pri čemu je piksele moguće dohvatati ili redom po redovima ili redom po kolonama. Iterator
  3. Unutrašnje stanje objekata klasa A, B i C ne zavisi od njihove pojave u kontekstu, dok su pojave ovih objekata u kontekstu brojne. Muva

Napomena: Ovde je izloženo više opcija nego što je bilo u samom ispitnom roku, jer opcije nisu sačuvane.

9. zadatak

Korišćenjem projektnog uzorka Apstraktna fabrika obezbeđeno je da se proizvodi metalno ili plastično posuđe, koje može da bude tanjir ili šolja. Koje od navedenih tvrdnji su tačne?

  1. Sistem se po principima objektno orijentisanog projektovanja lako proširuje da se omogući i proizvodnja glinenog posuđa.
  2. Sistem se po principima objektno orijentisanog projektovanja lako proširuje da se omogući i proizvodnja činija.
  3. Za stvaranje objekata posuđa neophodno je iskoristiti uzorak Fabrički metod.
  4. Plastični tanjir i plastična šolja su tipovi iste varijante familije proizvoda.
  5. Metalni tanjir i plastični tanjir su tipovi apstraktnih proizvoda.

10. zadatak

Navesti vrstu Zastupnika koja se uobičajeno koristi da bi se prilikom zahtevanja usluga nekog servisa samo ovlašćenim klijentima omogućilo pružanje odgovarajuće usluge.

Odgovor: protection

Napomena: Ovde je bilo prihvatano više različitih odgovora.