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

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

Januarski rok 2024. godine održan je 12. januara i trajao je 20 minuta.

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


1. zadatak

Koje od sledećih tvrdnji su tačne za sledeći dijagram klasa?

  1. Klasa B sadrži atribut tipa klase A
  2. Klasa A sadrži atribut tipa klase B
  3. Nije moguće navoditi ukras multiplikativnosti kod ove relacije
  4. Klasa B se nalazi u prostoru imena klase A
  5. Relacija između klasa A i B predstavlja posebnu vrstu relacije asocijacije s ukrasom

2. zadatak

Koje od navedenih tvrdnji su tačne za principe modelovanja paketa?

  1. Preporučuje se da se u paket smeštaju klase za koje je verovatno da će se zajedno menjati
  2. Preporučuje se da u nekom višeslojnom softverskom sistemu klase nižeg sloja (nižeg nivoa apstrakcije) ovise o klasama višeg sloja (višeg nivoa apstrakcije), ne i obrnuto
  3. Preporučuje se da se u paket smeštaju klase za koje je verovatno da će se zajedno menjati
  4. Preporučuje se da se u paket stavljaju klase koje uzajmano imaju što manji broj relacija
  5. Preporučuje se da se u paket smeptaju klase koje uzajamno imaju što veći broj relacija s apstrakcijama izvan paketa

3. zadatak

Koje od navedenih tvrdnji su tačne za dijagrame sranja u jeziku UML2?

  1. Dijagrami sranja u jeziku UML2 su zasnovani na Petrijevim mrežama (Petri net)
  2. Dijragami sranja na jeziku UML2 moraju da budu Murovog (Moore) tipa
  3. Dijagrami sranja na jeziku UML2 moraju da budu Milijevog (Mealy) tipa
  4. Dijagrami sranja u jeziku UML2 su zasnovani na Harelovim dijagramima (Harel's charts)
  5. Zaštitni uslovi svaka dva prelaza iz sranja S koja se dešavaju na događaj e1 moraju da budu disjunktni

4. zadatak

Označiti tačne tvrdnje vezane za dijagrame raspoređivanja:

  1. Dijagrami raspoređivanja se često koriste za modelovanje distribuiranih sistema
  2. Čvor na dijagramu raspoređivanja može da bude i softverske prirode
  3. Dijagram raspoređivanja može da prikazuje čvorove, artefakte, pakete i objekte
  4. Na asocijaciji između čvora koji predstavlja server i čvora koji predstavlja klijenta multiplikativnost bi bila 1 na kraju kod čvora klijenta i * na kraju kod čvora servera
  5. Na dijagramu raspoređivanja mogu da se nađu relacije asocijacije, generalizacije i realizacije

5. zadatak

Koje od navedenih tvrdnji su tačne za ascijacije na dijagramima klasa?

  1. Asocijacija može da povezuje više klasa
  2. Klasa asocijacije se povezuje s njenom asocijacijom relacijom asocijacije
  3. Kvalifikator na kraju asocijacije može da ima više atributa
  4. Asocijacija podrazumevano nije vlasnik svojih krajeva
  5. Klasa asocijacije može da ima svoje atribute

6. zadatak

Koji projektni uzorak se implementira prilikom implicitnog izvođenja klase iz klase Object u programskom jeziku Java, gde izvedena klasa implementira metod clone()?

Odgovor: Prototip

Objašnjenje: Operacija kopiraj() Protoipa je ekvivalent operaciji clone()


6. zadatak

Kada bi struktura klasa prikazana na dijagramu klasa na slici bila promenjena tako da se isti problem reši na bolji način primenom projektnog uzorka Dekorater (Decorator), koliko bi postojalo klasa koje imaju ulogu KonkretnaDopuna? Odgovor dati u formi broja.

Odgovor: 3

Objašnjenje: Tri dopune bi bile Secer, Cimet i Mleko

7. zadatak

Implementira se video-igra u kojoj figuriše veliki broj pokretnih objekata koji se pamte u sceni. Objekti su okarakterisai bojom i geometrijom koje se kodiraju s 8B ukupno, kao i (X,Y) koordinatama trenutnog položaja, koje se kodiraju svaka s po 4B. Svi geometrijski oblici iste vrste (na primer, svi krugovi) imaju iste dimenzije. Pokazivači se kodiraju s 4B. Uz predpostavku da objekti ne sadrže nikakve dodatne informacije i primenu odgovarajućeg projektnog uzorka, koliko bi minimalno memorijskog prostora (u bajtovima) bilo zauzeto za 3 crvena trougla, 2 plava kvadrata i 3 zelena kruga na određenim koordinatama u sceni?

Odgovor: 120

Objašnjenje: Koristi se Muva. Crveni Trougao, Plavi Kvadrat i Zeleni Krug su Konretne Muve. To je 3 muve - 3 * 8 = 24B. Zatim se za svaku pojavu muve pamte koordinate 8 * (4B + 4B) = 64B i pokazivač 8 * 4B + 32B. Ovo je ukupno 24B + 64B + 32B = 120B. Bilo kakva predpostavka o tome kako Fabrika Muva radi i da zauzima memoriju nije priznavana.

9. zadatak

Koji uzorak može da se koristi uz uzorak Prototip za implementaciju funkcionalnosti "kopiranja-pri-upisu" (copy-on-write)?

Odgovor: Zastupnik

2. zadatak

Ovako izgleda zadatak sa više tačnih odgovora od više ponuđenih (odgovori 1 i 3 su označeni kao tačni).

  1. Odgovor 1
  2. Odgovor 2
  3. Odgovor 3
  4. Odgovor 4


3. zadatak

Ovako izgledaju zadaci sa odgovorima ponuđenim u padajućem meniju.

  1. Ponuđeno 1 Odgovor 2
  2. Ponuđeno 2 Odgovor 1
  3. Ponuđeno 3 Odgovor 3

4. zadatak

Ovako izgleda zadatak gde se od korisnika očekuje da unese tačan odgovor, recimo na to šta ispisuje neki kod:

class Main {
    public static void main(String[] args) {
        System.out.println("Ovako izgleda blok koda.");
    }
}

Odgovor: Odgovor na pitanje iznad ide ovde

Objašnjenje: Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.

5. zadatak

U zadatku može da postoji napomena na postavku ili rešenje zadatka.[1]

6. zadatak

7. zadatak

8. zadatak

9. zadatak

10. zadatak

Napomene

  1. Ovako izgleda jedna napomena.