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

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(nova stranica)
 
м (Objašnjenje za 5. zadatak)
 
(Није приказано 7 међуизмена 3 корисника)
Ред 1: Ред 1:
{{tocright}}
{{tocright}}
{{rešenja}}
{{rešenja}}
== 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 <code>x>5</code> ispunjen, pokreće aktivnost iz koje se poziva operacija <code>f()</code> kao 3. po redu.
<div class="abc-list" data-solution="single">
# <span class="solution">2B.1.4*[x>5].3:f()</span>
# 3.1B.4[x>5].2:f()
# 2.B1.4*||[x>5].3:f()
# 2.1B.*[x>5]4.3:f()
# 2.B1.[x>5]*4.3:f()
</div>
== 2. zadatak ==
Povezati načine pristupa drugoj strani konektora kod dijagrama komunikacije sa njihovim ukrasima:
{| class="wikitable"
|+ Opcije
! Pristup
! Ukras
|-
| <div data-solution="select" data-options="a,b,c,d,e,f,g">
* Objektu uloge se pristupa preko primerka asocijacije - veze <span class="spoiler">b</span>
* Objekat uloge je u nekom okružujućem dosegu imena <span class="spoiler">c</span>
* Objekat uloge je argument operacije <span class="spoiler">e</span>
* Objekat uloge je u lokalnom dosegu imena <span class="spoiler">d</span>
* Objekat uloge sam sebi može da šalje poruku <span class="spoiler">f</span>
</div>
| <div class="abc-list">
# argument
# association
# global
# local
# parameter
# self
# this
</div>
|}
== 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: <span class="spoiler" data-solution="text">extension points</span>
== 4. zadatak ==
Koje od navedenih tvrdnji su tačne za sledeći dijagram stanja:
[[Датотека:PS K2 2021 zadatak 4.svg|center|frame|Slika uz četvrti zadatak.]]
<div class="abc-list" data-solution="multiple">
# Ovakav automat stanja prihvata kao ispravnu i kompletnu praznu sekvencu znakova.
# Ovakav automat stanja prihvata kao ispravnu i kompletnu sledeću sekvencu znakova: <code>;</code>
# Ovo je primer automata ''Moor''-ovog tipa.
# <span class="solution">Ovakav automat stanja prihvata kao ispravnu i kompletnu sledeću sekvencu znakova: <code><>;</code></span>
# <span class="solution">Ovakav automat stanja prihvata kao ispravnu i kompletnu sledeću sekvencu znakova: <code><a>bbb;</code></span>
# <span class="solution">Ovaj automat radi beskonačno.</span>
</div>
== 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).
[[Датотека:PS K2 2021 zadatak 5.svg|center|frame|Slika uz peti zadatak.]]
Odgovor: <span class="spoiler" data-solution="text">z,z1,z11,t11,f1,z12,t12,t1,t,f3,z,z1,z12,t12,t1,t,f2,x,x1</span>
Objašnjenje: <div class="spoiler" data-solution="explanation">
# Pri pokretanju, ulazi se u stanje B i izvršava se z.
# Pri ulasku u B prelazi se u njegovo podstanje B1 i izvršava se z1.
# Pri ulasku u B1 po prvi put prelazi se u njegovo podstanje B11 i izvršava se z11.
# Čekamo u B11 dok se ne desi događaj e1, kada izlazimo iz B11 i izvršava se t11.
# Prilikom prelaska izvršava se f1.
# Prelazimo u B12, i pri ulasku izvršava se z12.
# Čekamo u B12 kad dolazi e3, i tada izlazimo i iz B12, i iz B1 i iz B, pa se izvršavaju t12, t1 i t.
# Prilikom prelaska izvršava se f3.
# Vraćamo se nazad u B, zatim ulazimo opet u B1 i izvršavaju se z i z1.
# Nakon ulaska u B1 vraćamo se u B12, a ne u B1, jer je početno stanje sa čuvanjem plitke istorije, i izvršava se z12.
# Čekamo u B12 dok se ne desi e2, i kao i ranije izvršavaju se t12, t1 i t pri izlasku.
# Prilikom prelaska izvršava se f2.
# Ulazi se u A, kada se izvršava x.
# Nakon ulaska u A prelazi se u njegovo podstanje A1, i izvršava se x1.
</div>
== 6. zadatak ==
Koje od sledećih tvrdnji su tačne za projektni uzorak ''Iterator'':
<div class="abc-list" data-solution="multiple">
# <span class="solution">Kurzor je naziv specifične vrste iteratora.</span>
# Unutrašnji iterator je fleksibilniji od spoljašnjeg.
# <span class="solution">Kod spoljašnjeg iteratora je na klijentu odgovornost za progres obilaska.</span>
# Agregat ne sme da definiše algoritam obilaska ni za jednu vrstu iteratora.
# Unutrašnji iterator mora posedovati javni metod za dohvatanje tekućeg elementa.
</div>
== 7. zadatak ==
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Stanje'':
<div class="abc-list" data-solution="multiple">
# Predstavlja klasni uzorak ponašanja.
# Mana uzorka je što prelasci između stanja konteksta nisu eksplicitni.
# <span class="solution">Objekti stanja se često realizuju preko projektnog uzorka ''Unikat''.</span>
# <span class="solution">Prilikom promene stanja, spolja izgleda kao da objekat konteksta menja svoju klasu.</span>
# Konkretan objekat stanja ne sme da menja stanje svog konteksta.
</div>
== 8. zadatak ==
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Podsetnik''?
<div class="abc-list" data-solution="multiple">
# <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''.
# ''Subjekat'' odlučuje u kom trenutku će da sačuva svoje kompletno stanje ili deo stanja.
# <span class="solution">''Subjekat'' kreira objekat ''Podsetnika''.</span>
# Objekat ''Podsetnika'' nema unutrašnje stanje.
</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 ==
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Muva''?
<div class="abc-list" data-solution="multiple">
# Klijenti stvaraju objekte muve njenim kloniranjem ili direktnom konstrukcijom.
# <span class="solution">Objekti deljenih muva mogu biti varijacije ''Unikata'' sa ograničenim brojem objekata.</span>
# <span class="solution">Glavna mana ovog uzorka su potencijalni troškovi pronalaženja ili izračunavanja spoljašnjeg stanja muve.</span>
# Često se kombinuje sa uzorkom ''Sastav'', tako da se formira stablo sa deljenim muvama u čvorovima i nedeljivim muvama u listovima.
# <span class="solution">Koristi se sa ciljem da se izbegne hiperprodukcija objekata.</span>
</div>
== 10. zadatak ==
Koje od navedenih tvrdnji su tačne za projektni uzorak Adapter?
<div class="abc-list" data-solution="multiple">
# Klasa ''Cilj'' predstavlja klasu koju treba adaptirati prema očekivanom interfejsu za klijenta.
# <span class="solution">Objektni uzorak ''Adapter'' treba koristiti kada je potrebno istovremeno adaptirati više potklasa neke klase.</span>
# <span class="solution">Klasa ''Adapter'' sme imati metode koje nisu deo interfejsa ''Cilj''.</span>
# Dvosmerni adapter realizuje i klasni i objektni adapter.
# <span class="solution">Klasni uzorak ''Adapter'' dopušta klasi ''Adapter'' da nadjača i tako redefiniše neke metode adaptirane klase.</span>
</div>


[[Категорија:Рокови]]
[[Категорија:Рокови]]
[[Категорија:Пројектовање софтвера]]
[[Категорија:Пројектовање софтвера]]

Тренутна верзија на датум 29. јул 2022. у 19:54

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

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

Objašnjenje:

  1. Pri pokretanju, ulazi se u stanje B i izvršava se z.
  2. Pri ulasku u B prelazi se u njegovo podstanje B1 i izvršava se z1.
  3. Pri ulasku u B1 po prvi put prelazi se u njegovo podstanje B11 i izvršava se z11.
  4. Čekamo u B11 dok se ne desi događaj e1, kada izlazimo iz B11 i izvršava se t11.
  5. Prilikom prelaska izvršava se f1.
  6. Prelazimo u B12, i pri ulasku izvršava se z12.
  7. Čekamo u B12 kad dolazi e3, i tada izlazimo i iz B12, i iz B1 i iz B, pa se izvršavaju t12, t1 i t.
  8. Prilikom prelaska izvršava se f3.
  9. Vraćamo se nazad u B, zatim ulazimo opet u B1 i izvršavaju se z i z1.
  10. Nakon ulaska u B1 vraćamo se u B12, a ne u B1, jer je početno stanje sa čuvanjem plitke istorije, i izvršava se z12.
  11. Čekamo u B12 dok se ne desi e2, i kao i ranije izvršavaju se t12, t1 i t pri izlasku.
  12. Prilikom prelaska izvršava se f2.
  13. Ulazi se u A, kada se izvršava x.
  14. Nakon ulaska u A prelazi se u njegovo podstanje A1, i izvršava se 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 realizuje i klasni i objektni adapter.
  5. Klasni uzorak Adapter dopušta klasi Adapter da nadjača i tako redefiniše neke metode adaptirane klase.