Пројектовање софтвера/К1 2023 — разлика између измена
м (Po standardu ovo pitanje nije tačno, za slučaj da neko u budućnosti bude gledao odgovor na ovo pitanje bez da pogleda napomenu) |
|||
(Није приказано 5 међуизмена 2 корисника) | |||
Ред 1: | Ред 1: | ||
{{tocright}} | {{tocright}} | ||
''' | '''Prvi kolokvijum 2023. godine''' održan je 1. novembra i trajao je 20 minuta. | ||
{{rešenja}} | {{rešenja}} | ||
== 1. zadatak == | == 1. zadatak == | ||
Povezati pojmove s odgovarajućim definicijama principa (elemenata) OO modela | Povezati pojmove s odgovarajućim definicijama principa (elemenata) OO modela. | ||
<div class="abc-list" data-solution="select" data-options="modularnost, apstrakcija, kapsulacija, perzistencija, tipizacija, hijerarhija, polimorfizam, konkurentnost"> | <div class="abc-list" data-solution="select" data-options="modularnost, apstrakcija, kapsulacija, perzistencija, tipizacija, hijerarhija, polimorfizam, konkurentnost"> | ||
# Osobina sistema da se razlaže na skup kohezivnih i slabo spregnutih elemenata <span class="spoiler">modularnost</span> | # Osobina sistema da se razlaže na skup kohezivnih i slabo spregnutih elemenata <span class="spoiler">modularnost</span> | ||
Ред 36: | Ред 33: | ||
# Generalizacija | # Generalizacija | ||
</div> | </div> | ||
Objašnjenje: <span class="spoiler" data-solution="explanation">Ne može da bude kompozicija jer biblioteka nije odgovorna za životni vek knjige i može da postoji biblioteka bez ijedne knjige.</span> | Objašnjenje: <span class="spoiler" data-solution="explanation">Ne može da bude kompozicija jer biblioteka nije odgovorna za životni vek knjige i može da postoji biblioteka bez ijedne knjige.</span> | ||
== 4. zadatak == | == 4. zadatak == | ||
Dat je sledeći dijagram paketa koji sadrže klase s operacijama čije su liste parametara suspendovane iz prikaza: | Dat je sledeći dijagram paketa koji sadrže klase s operacijama čije su liste parametara suspendovane iz prikaza: | ||
[[Датотека: | [[Датотека:PS K1 2023 zadatak 4.svg|frame|none|Dijagram paketa iz četvrtog zadatka.]] | ||
Ako su klase A, B, C i D javne u svojim paketima, koje od sledećih deklaracija operacija s dijagrama su i ispravne | Ako su klase A, B, C i D javne u svojim paketima, koje od sledećih deklaracija operacija s dijagrama su i ispravne | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
Ред 59: | Ред 55: | ||
# <span class="solution">Element niza objekata može da se prikaže kao poseban objekat</span> | # <span class="solution">Element niza objekata može da se prikaže kao poseban objekat</span> | ||
# Aktivan objekat se isto prikazuje kao bilo koji drugi (pasivan) objekat | # Aktivan objekat se isto prikazuje kao bilo koji drugi (pasivan) objekat | ||
# Naziv objekta se piše podebljanim (bold) slovima | # Naziv objekta se piše podebljanim (bold) slovima<ref>Ovo je prvo bilo označeno kao netačno, ali su posle žalbi priznata oba odgovora jer se u nekim alatima nazivi pišu podebljano, a u nekim ne. UML 2 standard ne propisuje da nazivi objekata moraju da se pišu podebljanim slovima.</ref> | ||
</div> | </div> | ||
Ред 103: | Ред 99: | ||
</div> | </div> | ||
Objašnjenje: <span class="spoiler" data-solution="explanation">e. je netačno jer je stablo m-arno, ne binarno</span> | Objašnjenje: <span class="spoiler" data-solution="explanation">e. je netačno jer je stablo m-arno, ne binarno</span> | ||
== 10. zadatak == | == 10. zadatak == | ||
Koje od navedenih tvrdnji su tačne za projektni uzorak ''Dekorater'' (eng. ''Decorator''): | Koje od navedenih tvrdnji su tačne za projektni uzorak ''Dekorater'' (eng. ''Decorator''):<ref>Ponuđeni odgovri nisu bili sačuvani egzaktno već su rekonstruisani iz sećanja</ref> | ||
<ref>Ponuđeni odgovri nisu bili sačuvani egzaktno već su rekonstruisani iz sećanja</ref> | |||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# ''Dekorater'' dinamički menja interfejs dekorisanog elementa | # ''Dekorater'' dinamički menja interfejs dekorisanog elementa | ||
Ред 113: | Ред 107: | ||
# <span class="solution">Odgovornosti klasi subjekta se mogu dinamički dodavati</span> | # <span class="solution">Odgovornosti klasi subjekta se mogu dinamički dodavati</span> | ||
# Konkretna dopuna može da se koristi bez subjekta | # Konkretna dopuna može da se koristi bez subjekta | ||
# | # Uzorak propisuje redosled dekorisanja. | ||
</div> | </div> | ||
== Napomene == | == Napomene == | ||
<references /> | <references /> | ||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија:Пројектовање софтвера]] | [[Категорија:Пројектовање софтвера]] |
Тренутна верзија на датум 5. новембар 2023. у 04:45
Prvi kolokvijum 2023. godine održan je 1. novembra i trajao je 20 minuta.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Povezati pojmove s odgovarajućim definicijama principa (elemenata) OO modela.
- Osobina sistema da se razlaže na skup kohezivnih i slabo spregnutih elemenata modularnost
- Proces sakrivanja onih elemenata apstrakcije koji definišu strukturu i ponašanje kapsulacija
- Uprošćeni opis ili specifikacija sistema koja naglašava neke od detalja, dok potiskuje druge apstrakcija
- Rangiranje ili uređivanje apstrakcija hijerarhija
2. zadatak
Povezati definicije s odgovarajućim pojmovima
- Statički delovi modela, predstavljaju fizičke ili konceptualne elemente (imenice) Stvari strukture
- Organizacioni delovi modela, kutije u koje model može biti dekomponovan Stvari grupisanja
- Objašnjavajući delovi modela, komentari koji se primenjuju na bilo koji element Stvari anotacije
- Dinamički delovi modela, predstavljaju ponašanje kroz prostor i vreme Stvari ponašanja
- Apstrakcije koje su "građani prvog reda" u modelu Stvari
3. zadatak
Pri modelovanju nekog sistema za veći broj biblioteka, javila se potreba za klasama Biblioteka i Knjiga. Izabrati UML relaciju koja najviše odgovara odnosu datih klasa.
Izaberite jedan odgovor
- Asocijacija
- Realizacija
- Agregacija
- Kompozicija
- Generalizacija
Objašnjenje: Ne može da bude kompozicija jer biblioteka nije odgovorna za životni vek knjige i može da postoji biblioteka bez ijedne knjige.
4. zadatak
Dat je sledeći dijagram paketa koji sadrže klase s operacijama čije su liste parametara suspendovane iz prikaza:
Ako su klase A, B, C i D javne u svojim paketima, koje od sledećih deklaracija operacija s dijagrama su i ispravne
- +oc(b:B):A
- +ob(a:P1::A):C
- +oa(c:P2::C):B
- +oa(b:B):P3::C
- +oa(d:P3::D):P4::D
Objašnjenje: Kada je klasa javna u paketu 1 njenom imenu se može pristupiti preko Paket1::Klasa odakle god, a kao Klasa samo u paketu 1. Kada paket 1 uradi import iz paketa 2, svim javnim klasama paketa 2 se može pristupiti kao da su javne klase paketa 1. Znači preko Paket1::Klasa, Paket2::Klasa ili samo kao Klasa u paketima 1 i 2. Kada paket 1 uradi access iz paketa 2 onda javni članovi paketa 2 postaju privatni članovi paketa 1 pa je moguće Paket2::Klasa ili samo kao Klasa u paketima 1 i 2, ali nikako Paket1::Klasa; takođe, ukoliko paket 0 radi import ili access iz paketa 1, on neće uvesti ništa uvezeno iz paketa 2
5. zadatak
Koje od navedenih tvrdnji su tačne za dijagrame objekata?
- Objekat može da menja svoje stanje na istom dijagramu
- Ime objekta je neophodno navesti
- Element niza objekata može da se prikaže kao poseban objekat
- Aktivan objekat se isto prikazuje kao bilo koji drugi (pasivan) objekat
- Naziv objekta se piše podebljanim (bold) slovima[1]
6. zadatak
Označiti tvrdnje koje su tačne za projektni uzorak Unikat (eng. Singleton):
- Konstruktor klase s ulogom Unikat ne sme da bude s javnim pravom pristupa
- Korišćenje projektnog uzorka Unikat je bolje od korišćenja globalne promenljive, jer omogućava globalnu tačku pristupa
- Unikat pruža bolju fleksibilnost u odnosu na uslužne klase, jer ne koristi statičke atribute
- Primerak (objekat) klase unikata uvek postoji od početka izvršavanja programa
- U sistemima s više niti bez dodatne sinhronizacije moguće je pojava utrkivanja (eng. race hazard) pri pozivanju metoda za dohvatanje primerka
Objašnjenje: e. je tačno jer do utrkivanja može da dođe ukoliko dve niti pozovu metod za dohvatanje pristupa pre nego što je on kreiran, pa prva izgubi procesor nakon što ispita (pirmerak == null) a pre nego što pozove konstruktor, čime se stvaraju dva objekta
7. zadatak
Koje od navedenih tvrdnji su tačne za projektni uzorak Šablonski metod (eng. Template Method):
- Prosti koraci algoritma u Apstraktnoj klasi moraju da budu apstraktni
- Uzorak koristi ideju invertovane kontorlne strukture
- Predstavlja objektni uzorak ponašanja
- Apstraktna klasa uvek definiše redosled koraka u algoritmu
- Metodi izvedene klase uvek pozivaju metode iz osnovne
8. zadatak
Označiti tvrdnje koje su tačne za projektni uzorak Prototip (eng. Prototype):
- Saradnja funckioniše tako pto se u okviru nadjačanog metoda kopija() u klasi Konkretnog prototipa kopirani objekat registruje u registru kopija, odakle ga zatim Klijent može dohvatiti
- Mana uzorka je što klijent mora da bude upoznat sa svim konkretnim prototipima
- Dobra strana uzorka je što nove vrste proizvoda mogu da se dodaju u vreme izvršenja
- Uz projektni uzorak Sastav se često kombinuje i Prototip
- Uzorak predstavlja klasni uzorak stvaranja
9. zadatak
Označiti tvrdnje koje su tačne za projektni uzorak Sastav (eng. Composite):
- Klasa List mora da definiše metod dodavanja elementa
- Klasa Sklop mora da definiše metod dodavanja elementa
- Objekat klase Sklop ne sme da bude deo drugog objekta klase Sklop
- Klase Sklop i Element su u relaciji agregacije (agregat je Sklop)
- Uzorak komponuje objekte u strukturu binarnog stabla
Objašnjenje: e. je netačno jer je stablo m-arno, ne binarno
10. zadatak
Koje od navedenih tvrdnji su tačne za projektni uzorak Dekorater (eng. Decorator):[2]
- Dekorater dinamički menja interfejs dekorisanog elementa
- Dekorater je objektni uzorak ponašanja
- Odgovornosti klasi subjekta se mogu dinamički dodavati
- Konkretna dopuna može da se koristi bez subjekta
- Uzorak propisuje redosled dekorisanja.
Napomene
- ↑ Ovo je prvo bilo označeno kao netačno, ali su posle žalbi priznata oba odgovora jer se u nekim alatima nazivi pišu podebljano, a u nekim ne. UML 2 standard ne propisuje da nazivi objekata moraju da se pišu podebljanim slovima.
- ↑ Ponuđeni odgovri nisu bili sačuvani egzaktno već su rekonstruisani iz sećanja