Пројектовање софтвера/К2 2021 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (Zadatak 4)
м (Ispravka nakon žalbi)
Ред 86: Ред 86:
# <span class="solution">Klasa ''Podsetnik'' ispoljava dva interfejsa - uski prema klasi ''Čuvar'' i široki prema klasi ''Subjekat''.</span>
# <span class="solution">Klasa ''Podsetnik'' ispoljava dva interfejsa - uski prema klasi ''Čuvar'' i široki prema klasi ''Subjekat''.</span>
# ''Čuvar'' proverava i koristi stanje objekta ''Podsetnik''.
# ''Čuvar'' proverava i koristi stanje objekta ''Podsetnik''.
# <span class="solution">''Subjekat'' odlučuje u kom trenutku će da sačuva svoje kompletno stanje ili deo stanja.</span>
# ''Subjekat'' odlučuje u kom trenutku će da sačuva svoje kompletno stanje ili deo stanja.
# <span class="solution">''Subjekat'' kreira objekat ''Podsetnika''.</span>
# <span class="solution">''Subjekat'' kreira objekat ''Podsetnika''.</span>
# Objekat ''Podsetnika'' nema unutrašnje stanje.
# Objekat ''Podsetnika'' nema unutrašnje stanje.
</div>
</div>
Objašnjenje: <span class="spoiler" data-solution="explanation">Stavka pod c je na kolokvijumu bila označena kao tačna, ali pošto čuvanje izvršava Čuvar prihvaćena je žalba za ovo.</span>


== 9. zadatak ==
== 9. zadatak ==

Верзија на датум 22. јануар 2022. у 17:31

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

1. zadatak

Izabrati odgovarajuću sintaksu za sekvenciranje poruka, koja odgovara sledećem opisu:

U toku posmatrane interakcije, u aktivnosti koja sledi na strani prijema 2. poruke dolazi do konkuretnog grananja; u niti B se poziva 1. operacija po redu, koja izaziva aktivnost u kojoj se kao 4. poruka po redu, dok god je uslov x>5 ispunjen, pokreće aktivnost iz koje se poziva operacija f() kao 3. po redu.

  1. 2B.1.4*[x>5].3:f()
  2. 3.1B.4[x>5].2:f()
  3. 2.B1.4*||[x>5].3:f()
  4. 2.1B.*[x>5]4.3:f()
  5. 2.B1.[x>5]*4.3:f()

2. zadatak

Povezati načine pristupa drugoj strani konektora kod dijagrama komunikacije sa njihovim ukrasima:

Opcije
Pristup Ukras
  • Objektu uloge se pristupa preko primerka asocijacije - veze b
  • Objekat uloge je u nekom okružujućem dosegu imena c
  • Objekat uloge je argument operacije e
  • Objekat uloge je u lokalnom dosegu imena d
  • Objekat uloge sam sebi može da šalje poruku f
  1. argument
  2. association
  3. global
  4. local
  5. parameter
  6. self
  7. this

3. zadatak

Kako se na jeziku UML označava sekcija slučaja korišćenja, u kojoj se naznače tačke ponašanja u kojim se dati slučaj korišćenja proširuje drugim slučajevima korišćenja?

Odgovor: extension points

4. zadatak

Koje od navedenih tvrdnji su tačne za sledeći dijagram stanja:

Slika uz četvrti zadatak.
  1. Ovakav automat stanja prihvata kao ispravnu i kompletnu praznu sekvencu znakova.
  2. Ovakav automat stanja prihvata kao ispravnu i kompletnu sledeću sekvencu znakova: ;
  3. Ovo je primer automata Moor-ovog tipa.
  4. Ovakav automat stanja prihvata kao ispravnu i kompletnu sledeću sekvencu znakova: <>;
  5. Ovakav automat stanja prihvata kao ispravnu i kompletnu sledeću sekvencu znakova: <a>bbb;
  6. Ovaj automat radi beskonačno.

5. zadatak

Sistem modelovan priloženim dijagramom stanja se pušta u rad. Redom se dešavaju događaji e1, e3, e2. Navesti akcije koje sistem izvršava kao posledicu navedene sekvence događaja, po redosledu izvršavanja. Odgovor (sekvencu akcija) dati navođenjem naziva akcija razdvojenih zapetama, bez razmaka. Primer: ako se redom izvršavaju akcije sa nazivima akcija1, akcija2 i akcija3, odgovor treba dati u formatu "akcija1,akcija2,akcija3" (bez znakova navoda).

Slika uz peti zadatak.

Odgovor: z,z1,z11,t11,f1,z12,t12,t1,t,f3,z,z1,z12,t12,t1,t,f2,x,x1

6. zadatak

Koje od sledećih tvrdnji su tačne za projektni uzorak Iterator:

  1. Kurzor je naziv specifične vrste iteratora.
  2. Unutrašnji iterator je fleksibilniji od spoljašnjeg.
  3. Kod spoljašnjeg iteratora je na klijentu odgovornost za progres obilaska.
  4. Agregat ne sme da definiše algoritam obilaska ni za jednu vrstu iteratora.
  5. Unutrašnji iterator mora posedovati javni metod za dohvatanje tekućeg elementa.

7. zadatak

Koje od navedenih tvrdnji su tačne za projektni uzorak Stanje:

  1. Predstavlja klasni uzorak ponašanja.
  2. Mana uzorka je što prelasci između stanja konteksta nisu eksplicitni.
  3. Objekti stanja se često realizuju preko projektnog uzorka Unikat.
  4. Prilikom promene stanja, spolja izgleda kao da objekat konteksta menja svoju klasu.
  5. Konkretan objekat stanja ne sme da menja stanje svog konteksta.

8. zadatak

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

  1. Klasa Podsetnik ispoljava dva interfejsa - uski prema klasi Čuvar i široki prema klasi Subjekat.
  2. Čuvar proverava i koristi stanje objekta Podsetnik.
  3. Subjekat odlučuje u kom trenutku će da sačuva svoje kompletno stanje ili deo stanja.
  4. Subjekat kreira objekat Podsetnika.
  5. Objekat Podsetnika nema unutrašnje stanje.

Objašnjenje: Stavka pod c je na kolokvijumu bila označena kao tačna, ali pošto čuvanje izvršava Čuvar prihvaćena je žalba za ovo.

9. zadatak

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

  1. Klijenti stvaraju objekte muve njenim kloniranjem ili direktnom konstrukcijom.
  2. Objekti deljenih muva mogu biti varijacije Unikata sa ograničenim brojem objekata.
  3. Glavna mana ovog uzorka su potencijalni troškovi pronalaženja ili izračunavanja spoljašnjeg stanja muve.
  4. Često se kombinuje sa uzorkom Sastav, tako da se formira stablo sa deljenim muvama u čvorovima i nedeljivim muvama u listovima.
  5. Koristi se sa ciljem da se izbegne hiperprodukcija objekata.

10. zadatak

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

  1. Klasa Cilj predstavlja klasu koju treba adaptirati prema očekivanom interfejsu za klijenta.
  2. Objektni uzorak Adapter treba koristiti kada je potrebno istovremeno adaptirati više potklasa neke klase.
  3. Klasa Adapter sme imati metode koje nisu deo interfejsa Cilj.
  4. Dvosmerni adapter i klasni i objektni adapter.
  5. Klasni uzorak Adapter dopušta klasi Adapter da nadjača i tako redefiniše neke metode adaptirane klase.