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

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Нова страница: {{tocright}} '''Neki rok 20XX. godine''' održan je XX. meseca i trajao je XX. {{rešenja}} <!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. --> <!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). --> == 1. zadatak ==…)
 
 
(Није приказано 8 међуизмена 3 корисника)
Ред 1: Ред 1:
{{tocright}}
{{tocright}}
'''Neki rok 20XX. godine''' održan je XX. meseca i trajao je XX.
'''Januarski rok 2024. godine''' održan je 12. januara i trajao je 20 minuta.
{{rešenja}}
{{rešenja}}


<!-- Ukoliko postoji više grupa, dodati sekcije poput == Grupa A == a sekcije zadataka promeniti sa == X. zadatak == na === X. zadatak ===. -->
 
<!-- Ukoliko se koristi za zadatke iz RM1, na vrhu dodati odeljke == Postavka == i == Mreže == za postavku zadatka i definisanje mreža koje postoje (nije deo postavke ali pomaže pri objašnjenju rešenja). -->


== 1. zadatak ==
== 1. zadatak ==
Ovako izgleda zadatak sa jednim tačnim odgovorom od više ponuđenih (odgovor 3 je označen kao tačan).
Koje od sledećih tvrdnji su tačne za sledeći dijagram klasa?
<div class="abc-list" data-solution="single">
[[Датотека:Ps januar 24 ugnezdjene.jpg|мини]]
# Odgovor 1
<div class="abc-list" data-solution="multiple">
# Odgovor 2
# Klasa B sadrži atribut tipa klase A
# <span class="solution">Odgovor 3</span>
# Klasa A sadrži atribut tipa klase B
# Odgovor 4
# <span class="solution">Nije moguće navoditi ukras multiplikativnosti kod ove relacije</span>
# Klasa B se nalazi u prostoru imena klase A
# Relacija između klasa A i B predstavlja posebnu vrstu relacije asocijacije s ukrasom
</div>
</div>
Objašnjenje: <span class="spoiler" data-solution="explanation">Dobro je da zadaci sa neočiglednim odgovorima imaju objašnjenje ispod sebe.</span>


== 2. zadatak ==
== 2. zadatak ==
Ovako izgleda zadatak sa više tačnih odgovora od više ponuđenih (odgovori 1 i 3 su označeni kao tačni).
Koje od navedenih tvrdnji su tačne za principe modelovanja paketa?
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <span class="solution">Odgovor 1</span>
# <span class="solution">Preporučuje se da se u paket smeštaju klase za koje je verovatno da će se zajedno menjati</span>
# Odgovor 2
# Preporučuje se da u nekom višeslojnom softverskom sistemu klase nižeg sloja (nižeg nivoa apstrakcije) ovise o klasama višeg sloja (višeg nivoa apstrakcije), ne i obrnuto
# <span class="solution">Odgovor 3</span>
# <span class="solution">Preporučuje se da se u paket smeštaju klase za koje je verovatno da će se zajedno menjati</span>
# Odgovor 4
# Preporučuje se da se u paket stavljaju klase koje uzajmano imaju što manji broj relacija
# Preporučuje se da se u paket smeptaju klase koje uzajamno imaju što veći broj relacija s apstrakcijama izvan paketa
</div>
</div>


== 3. zadatak ==
== 3. zadatak ==
Ovako izgledaju zadaci sa odgovorima ponuđenim u padajućem meniju.
Koje od navedenih tvrdnji su tačne za dijagrame stanja u jeziku UML2?
<div class="abc-list" data-solution="select" data-options="Odgovor 1, Odgovor 2, Odgovor 3">
<div class="abc-list" data-solution="multiple">
# Ponuđeno 1 <span class="spoiler">Odgovor 2</span>
# Dijagrami stanja u jeziku UML2 su zasnovani na Petrijevim mrežama (''Petri net'')
# Ponuđeno 2 <span class="spoiler">Odgovor 1</span>
# Dijragami stanja na jeziku UML2 moraju da budu Murovog (''Moore'') tipa
# Ponuđeno 3 <span class="spoiler">Odgovor 3</span>
# <span class="solution">Dijagrami stanja u jeziku UML2 su zasnovani na Harelovim dijagramima (''Harel's charts'')</span>
# Dijagrami stanja na jeziku UML2 moraju da budu Milijevog (''Mealy'') tipa
# <span class="solution">Zaštitni uslovi svaka dva prelaza iz stanja S koja se dešavaju na događaj e1 moraju da budu disjunktni</span>
</div>
</div>


== 4. zadatak ==
== 4. zadatak ==
Ovako izgleda zadatak gde se od korisnika očekuje da unese tačan odgovor, recimo na to šta ispisuje neki kod:
Označiti tačne tvrdnje vezane za dijagrame raspoređivanja:
<syntaxhighlight lang="java">
<div class="abc-list" data-solution="multiple">
class Main {
# <span class="solution">Dijagrami raspoređivanja se često koriste za modelovanje distribuiranih sistema</span>
    public static void main(String[] args) {
# <span class="solution">Čvor na dijagramu raspoređivanja može da bude i softverske prirode</span>
        System.out.println("Ovako izgleda blok koda.");
# Dijagram raspoređivanja može da prikazuje čvorove, artefakte, pakete i objekte
    }
# Na asocijaciji između čvora koji predstavlja server i čvora koji predstavlja klijenta multiplikativnost bi bila 1 na kraju kod čvora klijenta i * na kraju kod čvora servera
}
# Na dijagramu raspoređivanja mogu da se nađu relacije asocijacije, generalizacije i realizacije
</syntaxhighlight>
</div>
Odgovor: <span class="spoiler" data-solution="text">Odgovor na pitanje iznad ide ovde</span>
 
Objašnjenje: <span class="spoiler" data-solution="explanation">Ovakvi zadaci gotovo obavezno moraju da imaju objašnjenje ispod.</span>


== 5. zadatak ==
== 5. zadatak ==
U zadatku može da postoji napomena na postavku ili rešenje zadatka.<ref>Ovako izgleda jedna napomena.</ref>
Koje od navedenih tvrdnji su tačne za ascijacije na dijagramima klasa?
<div class="abc-list" data-solution="multiple">
# <span class="solution">Asocijacija može da povezuje više klasa</span>
# Klasa asocijacije se povezuje s njenom asocijacijom relacijom asocijacije
# <span class="solution">Kvalifikator na kraju asocijacije može da ima više atributa</span>
# Asocijacija podrazumevano nije vlasnik svojih krajeva
# <span class="solution">Klasa asocijacije može da ima svoje atribute</span>
</div>


== 6. zadatak ==
== 6. zadatak ==
Koji projektni uzorak se implementira prilikom implicitnog izvođenja klase iz klase ''Object'' u programskom jeziku ''Java'', gde izvedena klasa implementira metod ''clone()''?
Odgovor: <span class="spoiler" data-solution="text">Prototip</span>
Objašnjenje: <span class="spoiler" data-solution="explanation">Operacija ''kopiraj()'' Protoipa je ekvivalent operaciji ''clone()''</span>


== 7. zadatak ==
== 7. zadatak ==
Kada bi struktura klasa prikazana na dijagramu klasa na slici bila promenjena tako da se isti problem reši na bolji način primenom projektnog uzorka Dekorater (''Decorator''), koliko bi postojalo klasa koje imaju ulogu ''KonkretnaDopuna''? Odgovor dati u formi broja.
[[Датотека:Ps januar 24 dekorater.jpg|ништа]]
Odgovor: <span class="spoiler" data-solution="text">3</span>
Objašnjenje: <span class="spoiler" data-solution="explanation">Tri dopune bi bile '''Secer''', '''Cimet''' i '''Mleko'''</span>


== 8. zadatak ==
== 8. zadatak ==
Implementira se video-igra u kojoj figuriše veliki broj pokretnih objekata koji se pamte u sceni. Objekti su okarakterisani bojom i geometrijom koje se kodiraju s 8B ukupno, kao i (X,Y) koordinatama trenutnog položaja, koje se kodiraju svaka s po 4B. Svi geometrijski oblici iste vrste (na primer, svi krugovi) imaju iste dimenzije. Pokazivači se kodiraju s 4B. Uz predpostavku da objekti ne sadrže nikakve dodatne informacije i primenu odgovarajućeg projektnog uzorka, koliko bi minimalno memorijskog prostora (u bajtovima) bilo zauzeto za 3 crvena trougla, 2 plava kvadrata i 3 zelena kruga na određenim koordinatama u sceni?
Odgovor: <span class="spoiler" data-solution="text">120</span>
Objašnjenje: <span class="spoiler" data-solution="explanation">Koristi se Muva. Crveni Trougao, Plavi Kvadrat i Zeleni Krug su Konkretne Muve. To je 3 muve - 3 * 8 = 24B. Zatim se za svaku pojavu muve pamte koordinate 8 * (4B + 4B) = 64B i pokazivač 8 * 4B + 32B. Ovo je ukupno 24B + 64B + 32B = 120B. Bilo kakva predpostavka o tome kako Fabrika Muva radi i da zauzima memoriju nije priznavana.</span>


== 9. zadatak ==
== 9. zadatak ==
Koji uzorak može da se koristi uz uzorak ''Prototip'' za implementaciju funkcionalnosti "kopiranja-pri-upisu" (''copy-on-write'')?
Odgovor: <span class="spoiler" data-solution="text">Zastupnik</span>


== 10. zadatak ==
== 10. zadatak ==
Saradnja između uzorka ''Komanda'' i ''Sastav'' naziva se


== Napomene ==
Odgovor: <span class="spoiler" data-solution="text">Makrokomanda</span>
<!-- Izbaciti ukoliko ne postoje napomene -->
<references />


[[Категорија:Рокови]]
[[Категорија:Рокови]]
[[Категорија:Назив предмета]]<!-- Zameniti sa nazivom predmeta -->
[[Категорија:Пројектовање софтвера]]

Тренутна верзија на датум 20. јануар 2024. у 21:13

Januarski rok 2024. godine održan je 12. januara i trajao je 20 minuta.

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


1. zadatak

Koje od sledećih tvrdnji su tačne za sledeći dijagram klasa?

Ps januar 24 ugnezdjene.jpg
  1. Klasa B sadrži atribut tipa klase A
  2. Klasa A sadrži atribut tipa klase B
  3. Nije moguće navoditi ukras multiplikativnosti kod ove relacije
  4. Klasa B se nalazi u prostoru imena klase A
  5. Relacija između klasa A i B predstavlja posebnu vrstu relacije asocijacije s ukrasom

2. zadatak

Koje od navedenih tvrdnji su tačne za principe modelovanja paketa?

  1. Preporučuje se da se u paket smeštaju klase za koje je verovatno da će se zajedno menjati
  2. Preporučuje se da u nekom višeslojnom softverskom sistemu klase nižeg sloja (nižeg nivoa apstrakcije) ovise o klasama višeg sloja (višeg nivoa apstrakcije), ne i obrnuto
  3. Preporučuje se da se u paket smeštaju klase za koje je verovatno da će se zajedno menjati
  4. Preporučuje se da se u paket stavljaju klase koje uzajmano imaju što manji broj relacija
  5. Preporučuje se da se u paket smeptaju klase koje uzajamno imaju što veći broj relacija s apstrakcijama izvan paketa

3. zadatak

Koje od navedenih tvrdnji su tačne za dijagrame stanja u jeziku UML2?

  1. Dijagrami stanja u jeziku UML2 su zasnovani na Petrijevim mrežama (Petri net)
  2. Dijragami stanja na jeziku UML2 moraju da budu Murovog (Moore) tipa
  3. Dijagrami stanja u jeziku UML2 su zasnovani na Harelovim dijagramima (Harel's charts)
  4. Dijagrami stanja na jeziku UML2 moraju da budu Milijevog (Mealy) tipa
  5. Zaštitni uslovi svaka dva prelaza iz stanja S koja se dešavaju na događaj e1 moraju da budu disjunktni

4. zadatak

Označiti tačne tvrdnje vezane za dijagrame raspoređivanja:

  1. Dijagrami raspoređivanja se često koriste za modelovanje distribuiranih sistema
  2. Čvor na dijagramu raspoređivanja može da bude i softverske prirode
  3. Dijagram raspoređivanja može da prikazuje čvorove, artefakte, pakete i objekte
  4. Na asocijaciji između čvora koji predstavlja server i čvora koji predstavlja klijenta multiplikativnost bi bila 1 na kraju kod čvora klijenta i * na kraju kod čvora servera
  5. Na dijagramu raspoređivanja mogu da se nađu relacije asocijacije, generalizacije i realizacije

5. zadatak

Koje od navedenih tvrdnji su tačne za ascijacije na dijagramima klasa?

  1. Asocijacija može da povezuje više klasa
  2. Klasa asocijacije se povezuje s njenom asocijacijom relacijom asocijacije
  3. Kvalifikator na kraju asocijacije može da ima više atributa
  4. Asocijacija podrazumevano nije vlasnik svojih krajeva
  5. Klasa asocijacije može da ima svoje atribute

6. zadatak

Koji projektni uzorak se implementira prilikom implicitnog izvođenja klase iz klase Object u programskom jeziku Java, gde izvedena klasa implementira metod clone()?

Odgovor: Prototip

Objašnjenje: Operacija kopiraj() Protoipa je ekvivalent operaciji clone()


7. zadatak

Kada bi struktura klasa prikazana na dijagramu klasa na slici bila promenjena tako da se isti problem reši na bolji način primenom projektnog uzorka Dekorater (Decorator), koliko bi postojalo klasa koje imaju ulogu KonkretnaDopuna? Odgovor dati u formi broja. ништа Odgovor: 3

Objašnjenje: Tri dopune bi bile Secer, Cimet i Mleko

8. zadatak

Implementira se video-igra u kojoj figuriše veliki broj pokretnih objekata koji se pamte u sceni. Objekti su okarakterisani bojom i geometrijom koje se kodiraju s 8B ukupno, kao i (X,Y) koordinatama trenutnog položaja, koje se kodiraju svaka s po 4B. Svi geometrijski oblici iste vrste (na primer, svi krugovi) imaju iste dimenzije. Pokazivači se kodiraju s 4B. Uz predpostavku da objekti ne sadrže nikakve dodatne informacije i primenu odgovarajućeg projektnog uzorka, koliko bi minimalno memorijskog prostora (u bajtovima) bilo zauzeto za 3 crvena trougla, 2 plava kvadrata i 3 zelena kruga na određenim koordinatama u sceni?

Odgovor: 120

Objašnjenje: Koristi se Muva. Crveni Trougao, Plavi Kvadrat i Zeleni Krug su Konkretne Muve. To je 3 muve - 3 * 8 = 24B. Zatim se za svaku pojavu muve pamte koordinate 8 * (4B + 4B) = 64B i pokazivač 8 * 4B + 32B. Ovo je ukupno 24B + 64B + 32B = 120B. Bilo kakva predpostavka o tome kako Fabrika Muva radi i da zauzima memoriju nije priznavana.

9. zadatak

Koji uzorak može da se koristi uz uzorak Prototip za implementaciju funkcionalnosti "kopiranja-pri-upisu" (copy-on-write)?

Odgovor: Zastupnik

10. zadatak

Saradnja između uzorka Komanda i Sastav naziva se

Odgovor: Makrokomanda