Пројектовање софтвера/К1 2022 — разлика између измена
(+k1 2022) |
м (greška u prepisivanju) |
||
| (Нису приказане 4 међуизмене 2 корисника) | |||
| Ред 1: | Ред 1: | ||
{{tocright}} | {{tocright}} | ||
'''Prvi kolokvijum 2022. godine''' održan je regularno u prvoj kolokvijumskoj nedelji (5. nedelja | '''Prvi kolokvijum 2022. godine''' održan je regularno u prvoj kolokvijumskoj nedelji (5. nedelja semestra) i trajao je 20 minuta. | ||
{{rešenja}} | {{rešenja}} | ||
== 1. zadatak == | == 1. zadatak == | ||
Koji od sledećih principa predstavljaju obavezne principe objektno orijentisanog modela? | Koji od sledećih principa predstavljaju obavezne principe objektno orijentisanog modela? | ||
<div class="abc-list" data-solution=" | <div class="abc-list" data-solution="multiple"> | ||
# Konkurentnost | # Konkurentnost | ||
# <span class="solution">Hijerarhija</span> | # <span class="solution">Hijerarhija</span> | ||
| Ред 19: | Ред 19: | ||
== 2. zadatak == | == 2. zadatak == | ||
Izaberite jedan ili više odgovora: | Izaberite jedan ili više odgovora: | ||
<div class="abc-list" data-solution=" | <div class="abc-list" data-solution="multiple"> | ||
# Artefakt je stvar organizacije. | # Artefakt je stvar organizacije. | ||
# <span class="solution">Paket i radni okvir (eng. ''framework'') su stvari organizacije.</span> | # <span class="solution">Paket i radni okvir (eng. ''framework'') su stvari organizacije.</span> | ||
| Ред 33: | Ред 33: | ||
# Asocijacija <span class="spoiler">Apstrakcija veza između objekata odgovarajućih klasa u relaciji</span> | # Asocijacija <span class="spoiler">Apstrakcija veza između objekata odgovarajućih klasa u relaciji</span> | ||
# Generalizacija <span class="spoiler">Povezuje specijalizovane stvari sa opštijim</span> | # Generalizacija <span class="spoiler">Povezuje specijalizovane stvari sa opštijim</span> | ||
# | # Realizacija <span class="spoiler">Semantička relacija između klasifikatora od kojih jedan specificira ugovor a drugi garantuje njegovu implementaciju</span> | ||
</div> | </div> | ||
| Ред 39: | Ред 39: | ||
== 4. zadatak == | == 4. zadatak == | ||
Koja ključna reč treba da stoji umesto znakova pitanja | Koja ključna reč treba da stoji umesto znakova pitanja <<???>> kao oznaka relacije privatnog uvoza između dva paketa? | ||
Odgovor: <span class="spoiler" data-solution="text">access</span> | Odgovor: <span class="spoiler" data-solution="text">access</span> | ||
| Ред 45: | Ред 45: | ||
== 5. zadatak == | == 5. zadatak == | ||
Koji ukrasi mogu da se pojave na vezama, na dijagramu objekata? | Koji ukrasi mogu da se pojave na vezama, na dijagramu objekata? | ||
<div class="abc-list" data-solution=" | <div class="abc-list" data-solution="multiple"> | ||
# multiplikativnost 1..* | # multiplikativnost 1..* | ||
# <span class="solution">simbol agregacije ili kompozicije</span> | # <span class="solution">simbol agregacije ili kompozicije</span> | ||
| Ред 55: | Ред 55: | ||
== 6. zadatak == | == 6. zadatak == | ||
Koje tvrdnje o projektnim uzorcima su tačne? | Koje tvrdnje o projektnim uzorcima su tačne? | ||
<div class="abc-list" data-solution="multiple"> | |||
<div class="abc-list" data-solution=" | |||
# <span class="solution">Svaki objektno orijentisani projektni uzorak je zabeleženo iskustvo projektovanja.</span> | # <span class="solution">Svaki objektno orijentisani projektni uzorak je zabeleženo iskustvo projektovanja.</span> | ||
# <span class="solution">Svaki objektno orijentisani projektni uzorak sistematično imenuje, objašnjava i ocenjuje važno projektno rešenje.</span> | # <span class="solution">Svaki objektno orijentisani projektni uzorak sistematično imenuje, objašnjava i ocenjuje važno projektno rešenje.</span> | ||
# <span class="solution">Svaki objektno orijentisani projektni uzorak identifikuje učestvujuće klase i objekte, njihove relacije, njihove uloge u | # <span class="solution">Svaki objektno orijentisani projektni uzorak identifikuje učestvujuće klase i objekte, njihove relacije, njihove uloge u saradnji i raspodelu odgovornosti.</span> | ||
# Svaki objektno orijentisani projektni uzorak pozitivno doprinosi portabilnosti (prenosivosti) implementiranog softvera. | # Svaki objektno orijentisani projektni uzorak pozitivno doprinosi portabilnosti (prenosivosti) implementiranog softvera. | ||
# <span class="solution">Svaki objektno orijentisani projektni uzorak opisuje reupotrebljivo jezgro rešenja ponavljajućeg problema.</span> | # <span class="solution">Svaki objektno orijentisani projektni uzorak opisuje reupotrebljivo jezgro rešenja ponavljajućeg problema.</span> | ||
| Ред 70: | Ред 67: | ||
== 7. zadatak == | == 7. zadatak == | ||
Koje tvrdnje u vezi sa projektnim uzorkom ''Šablonski metod'' su tačne? | Koje tvrdnje u vezi sa projektnim uzorkom ''Šablonski metod'' su tačne? | ||
<div class="abc-list" data-solution="multiple"> | |||
<div class="abc-list" data-solution=" | |||
# <span class="solution">Podrazumevane (''hook'') metode implementiraju podrazumevano ponašanje u apstraktnoj klasi i ne moraju da budu implementirane u konkretnim klasama.</span> | # <span class="solution">Podrazumevane (''hook'') metode implementiraju podrazumevano ponašanje u apstraktnoj klasi i ne moraju da budu implementirane u konkretnim klasama.</span> | ||
# <span class="solution">Dozvoljeno je da | # <span class="solution">Dozvoljeno je da šablonski metod sadrži pozive samo apstraktnih metoda.</span> | ||
# U klasama koje implementiraju projektni uzorak ''Šablonski metod'' ključno je pozivanje metoda osnovne klase iz metoda izvedene klase. | # U klasama koje implementiraju projektni uzorak ''Šablonski metod'' ključno je pozivanje metoda osnovne klase iz metoda izvedene klase. | ||
# ''Šablonski metod'' omogućava dinamičku promenu koraka nekog algoritma. | # ''Šablonski metod'' omogućava dinamičku promenu koraka nekog algoritma. | ||
# '' | # ''Šablonski metod'' je objektni uzorak ponašanja. | ||
</div> | </div> | ||
== 8. zadatak == | == 8. zadatak == | ||
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Prototip''? | Koje od navedenih tvrdnji su tačne za projektni uzorak ''Prototip''? | ||
<div class="abc-list" data-solution="multiple"> | |||
<div class="abc-list" data-solution=" | |||
# <span class="solution">Uzorak treba koristiti kada sistem treba da bude nezavisan od toga kako se njegovi proizvodi stvaraju i predstavljaju.</span> | # <span class="solution">Uzorak treba koristiti kada sistem treba da bude nezavisan od toga kako se njegovi proizvodi stvaraju i predstavljaju.</span> | ||
# <span class="solution">Uzorak je namenjen stvaranju novih primeraka (objekata) kloniranjem postojećeg primerka.</span> | # <span class="solution">Uzorak je namenjen stvaranju novih primeraka (objekata) kloniranjem postojećeg primerka.</span> | ||
| Ред 95: | Ред 87: | ||
== 9. zadatak == | == 9. zadatak == | ||
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Sastav''? | Koje od navedenih tvrdnji su tačne za projektni uzorak ''Sastav''? | ||
<div class="abc-list" data-solution="multiple"> | |||
<div class="abc-list" data-solution=" | |||
# <span class="solution">Uzorak čini jednostavnim dodavanje nove vrste elemenata.</span> | # <span class="solution">Uzorak čini jednostavnim dodavanje nove vrste elemenata.</span> | ||
# Projektni uzorak ''Sastav'' omogućuje jednostavno ograničavanje vrste elemenata koje neki sastavi sadrže. | # Projektni uzorak ''Sastav'' omogućuje jednostavno ograničavanje vrste elemenata koje neki sastavi sadrže. | ||
# <span class="solution">Omogućava klijentima da uniformno tretiraju individualne objekte i njihove kompozicije.</span> | # <span class="solution">Omogućava klijentima da uniformno tretiraju individualne objekte i njihove kompozicije.</span> | ||
# Projektni uzorak ''Sastav'' predstavlja objektni uzorak kreiranja. | # Projektni uzorak ''Sastav'' predstavlja objektni uzorak kreiranja. | ||
# Klasa | # Klasa koja predstavlja učesnika apstraktnog tipa '''''Element''''' ne treba da sadrži u ugovoru sve metode učesnika konkretnog tipa '''Sastav'''. | ||
</div> | </div> | ||
| Ред 108: | Ред 98: | ||
Koliko bi se ukupno objekata napravilo ukoliko bi bilo potrebno napraviti tekst komponentu sa dva klizača i jednim okvirom? Uzeti da se za stvaranje objekata koriste klase koje su prikazane na klasnom dijagramu ispod. | Koliko bi se ukupno objekata napravilo ukoliko bi bilo potrebno napraviti tekst komponentu sa dva klizača i jednim okvirom? Uzeti da se za stvaranje objekata koriste klase koje su prikazane na klasnom dijagramu ispod. | ||
[[Датотека:PS K1 2022 zadatak 10.svg|center|frame|Slika uz deseti zadatak.]] | |||
Odgovor: <span class="spoiler" data-solution="text">4</span> | Odgovor: <span class="spoiler" data-solution="text">4</span> | ||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија: | [[Категорија:Пројектовање софтвера]] | ||
Тренутна верзија на датум 22. октобар 2023. у 18:16
Prvi kolokvijum 2022. godine održan je regularno u prvoj kolokvijumskoj nedelji (5. nedelja semestra) i trajao je 20 minuta.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Koji od sledećih principa predstavljaju obavezne principe objektno orijentisanog modela?
- Konkurentnost
- Hijerarhija
- Modularnost
- Jednostavnost
- Perzistencija
- Kapsulacija
- Prenosivost
- Apstrakcija
- Fleksibilnost
2. zadatak
Izaberite jedan ili više odgovora:
- Artefakt je stvar organizacije.
- Paket i radni okvir (eng. framework) su stvari organizacije.
- Slučaj korišćenja (eng. use-case) je stvar ponašanja.
- Automat stanja je stvar ponašanja.
- Klasa, aktivna klasa i interfejs su stvari strukure[sic].
3. zadatak
Za relacije koje se pojavljuju na dijagramima klasa izabrati opis koji ih najbolje određuje:
- Zavisnost Povezuje stvari kod kojih izmena jedne stvari utiče na ponašanje druge stvari
- Asocijacija Apstrakcija veza između objekata odgovarajućih klasa u relaciji
- Generalizacija Povezuje specijalizovane stvari sa opštijim
- Realizacija Semantička relacija između klasifikatora od kojih jedan specificira ugovor a drugi garantuje njegovu implementaciju
Napomena: Bilo je ponuđeno još 3 odgovora, ali izgubljeni su zubom vremena. Neformalno rečeno nešto kao "povezuje stvari tako da jedna igra ulogu celine a druge ulogu dela" (misli se na agregaciju) i "povezuje stvari tako da postoji odnos celina/deo ali je celina odgovorna za životni vek dela" (misli se na kompoziciju)
4. zadatak
Koja ključna reč treba da stoji umesto znakova pitanja <<???>> kao oznaka relacije privatnog uvoza između dva paketa?
Odgovor: access
5. zadatak
Koji ukrasi mogu da se pojave na vezama, na dijagramu objekata?
- multiplikativnost 1..*
- simbol agregacije ili kompozicije
- ugnežđivanje (+ u kružiću)
- vidljivost (pravo pristupa) uloge na kraju veze, preko objekta na drugom kraju veze
- jednosmerna ili dvosmerna navigabilnost (strelice)
6. zadatak
Koje tvrdnje o projektnim uzorcima su tačne?
- Svaki objektno orijentisani projektni uzorak je zabeleženo iskustvo projektovanja.
- Svaki objektno orijentisani projektni uzorak sistematično imenuje, objašnjava i ocenjuje važno projektno rešenje.
- Svaki objektno orijentisani projektni uzorak identifikuje učestvujuće klase i objekte, njihove relacije, njihove uloge u saradnji i raspodelu odgovornosti.
- Svaki objektno orijentisani projektni uzorak pozitivno doprinosi portabilnosti (prenosivosti) implementiranog softvera.
- Svaki objektno orijentisani projektni uzorak opisuje reupotrebljivo jezgro rešenja ponavljajućeg problema.
- Svaki objektno orijentisani projektni uzorak predstavlja gotovo rešenje problema koje se nalazi u biblioteci klasa ili radnom okviru.
- Svaki objektno orijentisani projektni uzorak pozitivno doprinosi efikasnosti (brzini) implementiranog softvera.
7. zadatak
Koje tvrdnje u vezi sa projektnim uzorkom Šablonski metod su tačne?
- Podrazumevane (hook) metode implementiraju podrazumevano ponašanje u apstraktnoj klasi i ne moraju da budu implementirane u konkretnim klasama.
- Dozvoljeno je da šablonski metod sadrži pozive samo apstraktnih metoda.
- U klasama koje implementiraju projektni uzorak Šablonski metod ključno je pozivanje metoda osnovne klase iz metoda izvedene klase.
- Šablonski metod omogućava dinamičku promenu koraka nekog algoritma.
- Šablonski metod je objektni uzorak ponašanja.
8. zadatak
Koje od navedenih tvrdnji su tačne za projektni uzorak Prototip?
- Uzorak treba koristiti kada sistem treba da bude nezavisan od toga kako se njegovi proizvodi stvaraju i predstavljaju.
- Uzorak je namenjen stvaranju novih primeraka (objekata) kloniranjem postojećeg primerka.
- Uzorak se često koristi u kombinaciji sa projektnim uzorkom Unikat.
- Ne mora svaka potklasa koja predstavlja učesnika apstraktne klase Prototip da implementira operaciju za kopiranje.
- Uzorak treba koristiti kada se klase specificiraju u vreme izvršavanja.
9. zadatak
Koje od navedenih tvrdnji su tačne za projektni uzorak Sastav?
- Uzorak čini jednostavnim dodavanje nove vrste elemenata.
- Projektni uzorak Sastav omogućuje jednostavno ograničavanje vrste elemenata koje neki sastavi sadrže.
- Omogućava klijentima da uniformno tretiraju individualne objekte i njihove kompozicije.
- Projektni uzorak Sastav predstavlja objektni uzorak kreiranja.
- Klasa koja predstavlja učesnika apstraktnog tipa Element ne treba da sadrži u ugovoru sve metode učesnika konkretnog tipa Sastav.
10. zadatak
Koliko bi se ukupno objekata napravilo ukoliko bi bilo potrebno napraviti tekst komponentu sa dva klizača i jednim okvirom? Uzeti da se za stvaranje objekata koriste klase koje su prikazane na klasnom dijagramu ispod.
Odgovor: 4