Пројектовање софтвера/Фебруар 2022 — разлика између измена
Пређи на навигацију
Пређи на претрагу
м (Ipak je ovo) |
Нема описа измене |
||
| Ред 18: | Ред 18: | ||
[[Датотека:PS februar 2022 zadatak 2 dijagram sekvence.svg|мини|Dijagram iz drugog zadatka.]] | [[Датотека:PS februar 2022 zadatak 2 dijagram sekvence.svg|мини|Dijagram iz drugog zadatka.]] | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# Prikazani dijagram je dijagram sekvence. | # <span class="solution">Prikazani dijagram je dijagram sekvence.</span> | ||
# Objekat sa <code>{transient}</code> ograničenjem se stvara i uništava u toku sekvence. | # <span class="solution">Objekat sa <code>{transient}</code> ograničenjem se stvara i uništava u toku sekvence.</span> | ||
# Metoda <code>promptKomanda()</code> je sinhrona. | # Metoda <code>promptKomanda()</code> je sinhrona. | ||
# Metoda <code><<create>></code> stvara objekat tipa <code>Transakcija</code>. | # <span class="solution">Metoda <code><<create>></code> stvara objekat tipa <code>Transakcija</code>.</span> | ||
# Metoda <code>provera()</code> nema parametre. | # Metoda <code>provera()</code> nema parametre. | ||
</div> | </div> | ||
== 3. zadatak == | == 3. zadatak == | ||
Koji dijagram se koristi za modeliranje izvršnog okruženja? | |||
<div class="abc-list" data-solution="single"> | |||
# raspoređivanja | |||
# klasa | |||
# <span class="solution">komponenata</span> | |||
# interakcija | |||
# aktivnosti | |||
</div> | |||
== 4. zadatak == | == 4. zadatak == | ||
| Ред 44: | Ред 49: | ||
[[Датотека:PS februar 2022 zadatak 5 dijagram klasa.svg|мини|Dijagram klasa iz petog zadatka.]] | [[Датотека:PS februar 2022 zadatak 5 dijagram klasa.svg|мини|Dijagram klasa iz petog zadatka.]] | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# Objekat klase B može da preko asocijacije pristupi objektu klase A. | |||
# <span class="solution">Metod klase A može preko asocijacije da pristupi objektima klase C.</span> | # <span class="solution">Metod klase A može preko asocijacije da pristupi objektima klase C.</span> | ||
# Metod klase B može preko asocijacije da pristupi objektima klase C. | # Metod klase B može preko asocijacije da pristupi objektima klase C. | ||
| Ред 57: | Ред 63: | ||
# Fabrički metod | # Fabrički metod | ||
# <span class="solution">Dekorater</span> | # <span class="solution">Dekorater</span> | ||
# Strategija | |||
# Podsetnik | |||
# ... | |||
</div> | </div> | ||
== 7. zadatak == | == 7. zadatak == | ||
Koju ulogu ima | Koju ulogu u Podsetniku ima Konkretna komanda u slučaju da se komanda koristi za poništavanje operacija (undo)? | ||
<div class="abc-list" data-solution="single"> | <div class="abc-list" data-solution="single"> | ||
# Klijent | # Klijent | ||
| Ред 66: | Ред 75: | ||
# <span class="solution">Čuvar</span> | # <span class="solution">Čuvar</span> | ||
# Podsetnik | # Podsetnik | ||
# Fabrika | |||
</div> | </div> | ||
| Ред 71: | Ред 81: | ||
Označiti tačne tvrdnje za projektni uzorak Fabrički metod. | Označiti tačne tvrdnje za projektni uzorak Fabrički metod. | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# Uzorak eliminiše potrebu da se klijentski kod vezuje za aplikativno-specifične klase. | # <span class="solution">Uzorak eliminiše potrebu da se klijentski kod vezuje za aplikativno-specifične klase.</span> | ||
# Apstraktna fabrika se često implementira pomoću Fabričkog metoda. | # Apstraktna fabrika se često implementira pomoću Fabričkog metoda. | ||
# Učesnik Fabrika mora da zna za postojanje Konkretnih proizvoda. | # Učesnik Fabrika mora da zna za postojanje Konkretnih proizvoda. | ||
| Ред 83: | Ред 93: | ||
# Graditelj stvara cele objekte odjednom. | # Graditelj stvara cele objekte odjednom. | ||
# <span class="solution">Graditelj stvara objekte iz delova.</span> | # <span class="solution">Graditelj stvara objekte iz delova.</span> | ||
# Upravljač stvara objekte Konkretnog graditelja. | |||
# ... | # ... | ||
</div> | </div> | ||
| Ред 91: | Ред 102: | ||
# Virtuelni zastupnik je ambasador. | # Virtuelni zastupnik je ambasador. | ||
# Svaki zastupnik mora da što duže odlaže kreiranje objekta kojeg zastupa. | # Svaki zastupnik mora da što duže odlaže kreiranje objekta kojeg zastupa. | ||
# Uzorak Zastupnik | # <span class="solution">Uzorak Zastupnik često ima sličnu objektnu i klasnu strukturu kao Dekorater.</span> | ||
# Zastupnik je klasni uzorak strukture. | # Zastupnik je klasni uzorak strukture. | ||
# <span class="solution">Zastupnik se koristi za implementaciju copy-on-write funkcionalnosti.</span> | |||
</div> | </div> | ||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија:Пројектовање софтвера]] | [[Категорија:Пројектовање софтвера]] | ||
Верзија на датум 22. фебруар 2022. у 19:24
- Овај рок није решен. Помозите SI Wiki тако што ћете га решити.
Februarski ispit 2022. godine održan je 22. februara. Tekst zadataka ispod je po sećanju studenata.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Povezati definicije principa OO modela sa njihovim nazivima:
- Osobina koja razlikuje aktivne objekte od pasivnih: konkurentnost
- Osobina sistema da se razlaže na skup kohezivnih i slabo spregnutih modula: modularnost
- Osobina da se objekti različitih klasa ne mogu uopšte ili mogu zamenjivati na ograničene načine: tipizacija
- Osobina po kojoj se postojanje objekta može protezati kroz vreme ili prostor: perzistencija
- Rangiranje ili uređivanje apstrakcija: hijerarhija
2. zadatak
Označiti tačne tvrdnje za dati dijagram:
- Prikazani dijagram je dijagram sekvence.
- Objekat sa
{transient}ograničenjem se stvara i uništava u toku sekvence. - Metoda
promptKomanda()je sinhrona. - Metoda
<<create>>stvara objekat tipaTransakcija. - Metoda
provera()nema parametre.
3. zadatak
Koji dijagram se koristi za modeliranje izvršnog okruženja?
- raspoređivanja
- klasa
- komponenata
- interakcija
- aktivnosti
4. zadatak
Kolika je multiplikativnost sa suprotne strane kvalifikatora na datom dijagramu?
Датотека:PS februar 2022 zadatak 4 dijagram klasa.svg
Dijagram klasa iz četvrtog zadatka.
- *
- 0..1
- 1
- 1..*
5. zadatak
Označiti tačna tvrđenja za dijagram klasa:
- Objekat klase B može da preko asocijacije pristupi objektu klase A.
- Metod klase A može preko asocijacije da pristupi objektima klase C.
- Metod klase B može preko asocijacije da pristupi objektima klase C.
- Objekat klase A može da poziva privatne metode objekta klase C.
- Metod klase C može preko asocijacije da pristupi objektima klase A.
6. zadatak
Sa kojim projektnim uzorcima se slaže projektni uzorak Prototip:
- Sastav
- Unikat
- Fabrički metod
- Dekorater
- Strategija
- Podsetnik
- ...
7. zadatak
Koju ulogu u Podsetniku ima Konkretna komanda u slučaju da se komanda koristi za poništavanje operacija (undo)?
- Klijent
- Subjekat
- Čuvar
- Podsetnik
- Fabrika
8. zadatak
Označiti tačne tvrdnje za projektni uzorak Fabrički metod.
- Uzorak eliminiše potrebu da se klijentski kod vezuje za aplikativno-specifične klase.
- Apstraktna fabrika se često implementira pomoću Fabričkog metoda.
- Učesnik Fabrika mora da zna za postojanje Konkretnih proizvoda.
- Drugo ime za Fabrički metod je virtuelni konstruktor.
- Fabrički metod je objektni uzorak kreiranja.
9. zadatak
Označiti tačne tvrdnje u vezi sa projektnim uzorkom Graditelj.
- Graditelj stvara cele objekte odjednom.
- Graditelj stvara objekte iz delova.
- Upravljač stvara objekte Konkretnog graditelja.
- ...
10. zadatak
Označiti tačne tvrdnje u vezi sa projektnim uzorkom Zastupnik.
- Virtuelni zastupnik je ambasador.
- Svaki zastupnik mora da što duže odlaže kreiranje objekta kojeg zastupa.
- Uzorak Zastupnik često ima sličnu objektnu i klasnu strukturu kao Dekorater.
- Zastupnik je klasni uzorak strukture.
- Zastupnik se koristi za implementaciju copy-on-write funkcionalnosti.