Пројектовање софтвера/К1 2022

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

Prvi kolokvijum 2022. godine održan je regularno u prvoj kolokvijumskoj nedelji (5. nedelja semestra) i trajao je 20 minuta.

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

1. zadatak

Koji od sledećih principa predstavljaju obavezne principe objektno orijentisanog modela?

  1. Konkurentnost
  2. Hijerarhija
  3. Modularnost
  4. Jednostavnost
  5. Perzistencija
  6. Kapsulacija
  7. Prenosivost
  8. Apstrakcija
  9. Fleksibilnost

2. zadatak

Izaberite jedan ili više odgovora:

  1. Artefakt je stvar organizacije.
  2. Paket i radni okvir (eng. framework) su stvari organizacije.
  3. Slučaj korišćenja (eng. use-case) je stvar ponašanja.
  4. Automat stanja je stvar ponašanja.
  5. Klasa, aktivna klasa i interfejs su stvari strukure[sic].

3. zadatak

Za relacije koje se pojavljuju na dijagramima klasa izabrati opis koji ih najbolje određuje:

  1. Zavisnost Povezuje stvari kod kojih izmena jedne stvari utiče na ponašanje druge stvari
  2. Asocijacija Apstrakcija veza između objekata odgovarajućih klasa u relaciji
  3. Generalizacija Povezuje specijalizovane stvari sa opštijim
  4. Realizacija Semantička relacija između klasifikatora od kojih jedan specificira ugovor a drugi garantuje njegovu implementaciju

Napomena: Bilo je ponuđeno još 3 odgovora, ali izgubljeni su zubom vremena. Neformalno rečeno nešto kao "povezuje stvari tako da jedna igra ulogu celine a druge ulogu dela" (misli se na agregaciju) i "povezuje stvari tako da postoji odnos celina/deo ali je celina odgovorna za životni vek dela" (misli se na kompoziciju)

4. zadatak

Koja ključna reč treba da stoji umesto znakova pitanja <<???>> kao oznaka relacije privatnog uvoza između dva paketa?

Odgovor: access

5. zadatak

Koji ukrasi mogu da se pojave na vezama, na dijagramu objekata?

  1. multiplikativnost 1..*
  2. simbol agregacije ili kompozicije
  3. ugnežđivanje (+ u kružiću)
  4. vidljivost (pravo pristupa) uloge na kraju veze, preko objekta na drugom kraju veze
  5. jednosmerna ili dvosmerna navigabilnost (strelice)

6. zadatak

Koje tvrdnje o projektnim uzorcima su tačne?

  1. Svaki objektno orijentisani projektni uzorak je zabeleženo iskustvo projektovanja.
  2. Svaki objektno orijentisani projektni uzorak sistematično imenuje, objašnjava i ocenjuje važno projektno rešenje.
  3. Svaki objektno orijentisani projektni uzorak identifikuje učestvujuće klase i objekte, njihove relacije, njihove uloge u saradnji i raspodelu odgovornosti.
  4. Svaki objektno orijentisani projektni uzorak pozitivno doprinosi portabilnosti (prenosivosti) implementiranog softvera.
  5. Svaki objektno orijentisani projektni uzorak opisuje reupotrebljivo jezgro rešenja ponavljajućeg problema.
  6. Svaki objektno orijentisani projektni uzorak predstavlja gotovo rešenje problema koje se nalazi u biblioteci klasa ili radnom okviru.
  7. Svaki objektno orijentisani projektni uzorak pozitivno doprinosi efikasnosti (brzini) implementiranog softvera.

7. zadatak

Koje tvrdnje u vezi sa projektnim uzorkom Šablonski metod su tačne?

  1. Podrazumevane (hook) metode implementiraju podrazumevano ponašanje u apstraktnoj klasi i ne moraju da budu implementirane u konkretnim klasama.
  2. Dozvoljeno je da šablonski metod sadrži pozive samo apstraktnih metoda.
  3. U klasama koje implementiraju projektni uzorak Šablonski metod ključno je pozivanje metoda osnovne klase iz metoda izvedene klase.
  4. Šablonski metod omogućava dinamičku promenu koraka nekog algoritma.
  5. Šablonski metod je objektni uzorak ponašanja.

8. zadatak

Koje od navedenih tvrdnji su tačne za projektni uzorak Prototip?

  1. Uzorak treba koristiti kada sistem treba da bude nezavisan od toga kako se njegovi proizvodi stvaraju i predstavljaju.
  2. Uzorak je namenjen stvaranju novih primeraka (objekata) kloniranjem postojećeg primerka.
  3. Uzorak se često koristi u kombinaciji sa projektnim uzorkom Unikat.
  4. Ne mora svaka potklasa koja predstavlja učesnika apstraktne klase Prototip da implementira operaciju za kopiranje.
  5. Uzorak treba koristiti kada se klase specificiraju u vreme izvršavanja.

9. zadatak

Koje od navedenih tvrdnji su tačne za projektni uzorak Sastav?

  1. Uzorak čini jednostavnim dodavanje nove vrste elemenata.
  2. Projektni uzorak Sastav omogućuje jednostavno ograničavanje vrste elemenata koje neki sastavi sadrže.
  3. Omogućava klijentima da uniformno tretiraju individualne objekte i njihove kompozicije.
  4. Projektni uzorak Sastav predstavlja objektni uzorak kreiranja.
  5. Klasa koja predstavlja učesnika apstraktnog tipa Element ne treba da sadrži u ugovoru sve metode učesnika konkretnog tipa Sastav.

10. zadatak

Koliko bi se ukupno objekata napravilo ukoliko bi bilo potrebno napraviti tekst komponentu sa dva klizača i jednim okvirom? Uzeti da se za stvaranje objekata koriste klase koje su prikazane na klasnom dijagramu ispod.

Slika uz deseti zadatak.

Odgovor: 4