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

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Направљена празна страница)
 
(→‎Испит Јануар 2020: Fale dijagrami u 2. zadatku.)
Ред 1: Ред 1:
== 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: <span class="spoiler" data-solution="text">{leaf}</span>
== 2. zadatak ==
Odabrati ispravne dijagrame aktivnosti koji generišu generišu slučajan broj i sve dok generisana vrednost ne bude jednaka 0.
== 3. zadatak ==
Označiti elemente stanja po UML2:
<div class="abc-list" data-solution="multiple">
# <span class="solution">Podstanje</span>
# Samo-tranzicije
# <span class="solution">Odloženi događaji</span>
# <span class="solution">Unutrašnje tranzicije</span>
# Tranzicije u druga stanja
</div>
== 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:
<div class="abc-list" data-solution="single">
# <span class="solution">Na strani Automobil *</span>
# Na strani kvalifikatora 0..1
# Na strani Automobil 1
# Na strani kvalifikatora *
# Na strani Automobil 0..1
</div>
== 5. zadatak ==
Označiti tačne tvrdnje za pakete na jeziku UML:
<div class="abc-list" data-solution="multiple">
# <span class="solution">Paket može grupisati artefakte.</span>
# Spoljašni paket implicitno uvozi imena sadržanog paketa.
# <span class="solution">Paket je vlasnik sadržanih elemenata.</span>
# Nekvalifikovana imena moraju biti jedinstvena u čitavom sistemu.
# <span class="solution">Paket može sadržati druge pakete.</span>
</div>
== 6. zadatak ==
Povezati data zaduženja sa ulogama projektnog uzorka Fasada.
{| class="wikitable"
|+ Opcije
! Zaduženja
! Uloge
|-
| <div data-solution="select" data-options="a,b,c,d,e">
* Ne zna za klasu i objekat Fasade. <span class="spoiler">b</span>
* Zahteve klijenta prosleđuje klasama podsistema. <span class="spoiler">a</span>
* Implementira potrebne funkcionalnosti. <span class="spoiler">b</span>
* Zna koja klasa podsistema je odgovorna za koje funkcionalnosti. <span class="spoiler">a</span>
</div>
| <div class="abc-list">
# Fasada
# Klase podsistema
# Subjekat
# Konkretan subjekat
# Klijent
</div>
|}
== 7. zadatak ==
Upariti uzorke sa njihovim alternativnim nazivima.
{| class="wikitable"
|+ Opcije
! Uzorci
! Alternativni nazivi
|-
| <div data-solution="select" data-options="a,b,c,d,e,f,g,h">
* Kurzor (Cursor) <span class="spoiler">g</span>
* Omotač (Wrapper) <span class="spoiler">d</span>
* Ručka/telo (Handle/Body) <span class="spoiler">e</span>
* Oznaka (Token) <span class="spoiler">b</span>
* Virtuelni konstruktor (Virtual constructor) <span class="spoiler">f</span>
* Transakcija (Transaction) <span class="spoiler">c</span>
* Surogat (Surogate) <span class="spoiler">a</span>
</div>
| <div class="abc-list">
# Zastupnik
# Podsetnik
# Komanda
# Dekorater
# Most
# Fabrički metod
# Iterator
# Klasni adapter
</div>
|}
== 8. zadatak ==
Označiti tačna tvrđena za projektni uzorak Adapter:
<div class="abc-list" data-solution="multiple">
# <span class="solution">Adapter može sadržati dodatne javne metode koje Klijent ne koristi s obzirom da Adapter vidi preko interfejsa Cilj.</span>
# <span class="solution">Adapter se koristi kako bi interfejs jedne klase prilagodio interfejsu koji klijent očekuje.</span>
# <span class="solution">Dvosmerni adapter se može koristiti i kao Cilj i kao Adaptirani.</span>
# <span class="solution">Prilikom korišćenja projektnog uzorka Adapter nije potrebno menjati kod interfejsa Cilj, kao i klasa Klijent i Adaptirani.</span>
</div>
== 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: <span class="spoiler" data-solution="text">35</span>
== 10. zadatak ==
Označiti tačna tvrđena za projektni uzorak Dekorater:
<div class="abc-list" data-solution="multiple">
# Konstrukcija projektnog uzorka ne dozvoljava da objekat klase Dopuna dekoriše druge objekte klase Dopuna.
# <span class="solution">Korišćenje Dekoratera otežava testiranje.</span>
# <span class="solution">Preporučljivo je da Komponenta nema atribute.</span>
# Prilikom dekorisanja objekata, nije bitan redosled konkretnih dopuna, već samo njihov broj.
# Dopuna menja interfejs Komponente kako bi proširila funkcionalnosti.
</div>

Верзија на датум 21. јануар 2022. у 18:05

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.


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

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.