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

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

1. zadatak

Napisati osobinu koja se koristi da se označi klasa koja nema potomke, tj. iz koje se ne može izvoditi. Iskoristiti pravilnu sintaksu za navođenje osobine.

Odgovor: {leaf}

2. zadatak

Odabrati ispravne dijagrame aktivnosti koji generišu generišu slučajan broj i sve dok generisana vrednost ne bude jednaka 0.

  1. Dijagram iz stavke pod a.
  2. Dijagram iz stavke pod b.
  3. Dijagram iz stavke pod c.
  4. Dijagram iz stavke pod d.
  5. Dijagram iz stavke pod e.

Objašnjenje: Na prvom dijagramu aktivnost kreće od početnog čvora i ne može da uđe u akciju generisanja dok ne pristigne žeton po drugoj ulaznoj grani, što se nikada neće desiti. U trećem dijagramu dva ulazna žetona će se u prvoj iteraciji spojiti u akciji generisanja i izaći kao jedan žeton, a zatim će blokirati aktivnost na sledećem pokušaju da uđu u akciju zbog toga što se na drugoj grani nikada neće pojaviti žeton. Na četvrtom dijagramu aktivnost se blokira već kod konkurentnog spajanja jer po tim granama neće doći žetoni.

3. zadatak

Označiti elemente stanja po UML2:

  1. Podstanje
  2. Samo-tranzicije
  3. Odloženi događaji
  4. Unutrašnje tranzicije
  5. Tranzicije u druga stanja

4. zadatak

Modelira se sistem u kom se na Parkingu nalaze Automobili. Potrebno je koristeći kvalifikator selektovati automobile po njihovoj boji. Multiplikativnost koja odgovara opisanom slučaju je:

  1. Na strani Automobil *
  2. Na strani kvalifikatora 0..1
  3. Na strani Automobil 1
  4. Na strani kvalifikatora *
  5. Na strani Automobil 0..1

5. zadatak

Označiti tačne tvrdnje za pakete na jeziku UML:

  1. Paket može grupisati artefakte.
  2. Spoljašni paket implicitno uvozi imena sadržanog paketa.
  3. Paket je vlasnik sadržanih elemenata.
  4. Nekvalifikovana imena moraju biti jedinstvena u čitavom sistemu.
  5. Paket može sadržati druge pakete.

6. zadatak

Povezati data zaduženja sa ulogama projektnog uzorka Fasada.

Opcije
Zaduženja Uloge
  • Ne zna za klasu i objekat Fasade. b
  • Zahteve klijenta prosleđuje klasama podsistema. a
  • Implementira potrebne funkcionalnosti. b
  • Zna koja klasa podsistema je odgovorna za koje funkcionalnosti. a
  1. Fasada
  2. Klase podsistema
  3. Subjekat
  4. Konkretan subjekat
  5. Klijent

7. zadatak

Upariti uzorke sa njihovim alternativnim nazivima.

Opcije
Uzorci Alternativni nazivi
  • Kurzor (Cursor) g
  • Omotač (Wrapper) d
  • Ručka/telo (Handle/Body) e
  • Oznaka (Token) b
  • Virtuelni konstruktor (Virtual constructor) f
  • Transakcija (Transaction) c
  • Surogat (Surogate) a
  1. Zastupnik
  2. Podsetnik
  3. Komanda
  4. Dekorater
  5. Most
  6. Fabrički metod
  7. Iterator
  8. Klasni adapter

8. zadatak

Označiti tačna tvrđena za projektni uzorak Adapter:

  1. Adapter može sadržati dodatne javne metode koje Klijent ne koristi s obzirom da Adapter vidi preko interfejsa Cilj.
  2. Adapter se koristi kako bi interfejs jedne klase prilagodio interfejsu koji klijent očekuje.
  3. Dvosmerni adapter se može koristiti i kao Cilj i kao Adaptirani.
  4. Prilikom korišćenja projektnog uzorka Adapter nije potrebno menjati kod interfejsa Cilj, kao i klasa Klijent i Adaptirani.

9. zadatak

U sistemu postoji 10 objekata Korisnik koji međusobno komuniciraju svaki sa svakim. Ukoliko se u sistem uvede projektni uzorak Posrednik preko kog bi objekti komunicirali, koliko će biti manje veza potrebno u sistemu? Smatrati da su veze bidirekcione i da je potreban jedan objekat Posrednika.

Odgovor: 35

Objašnjenje: Ukoliko 10 korisnika komuniciraju svaki sa svakim to je ukupno 45 veza u sistemu, a ako komuniciraju preko posrednika to je 10.

10. zadatak

Označiti tačna tvrđena za projektni uzorak Dekorater:

  1. Konstrukcija projektnog uzorka ne dozvoljava da objekat klase Dopuna dekoriše druge objekte klase Dopuna.
  2. Korišćenje Dekoratera otežava testiranje.
  3. Preporučljivo je da Komponenta nema atribute.
  4. Prilikom dekorisanja objekata, nije bitan redosled konkretnih dopuna, već samo njihov broj.
  5. Dopuna menja interfejs Komponente kako bi proširila funkcionalnosti.