Пројектовање софтвера/К1 2022
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