You are on page 1of 1

Elektronski fakultet u Nišu 10.02.2015. god.

Katedra za računarstvo

OBJEKTNO ORIJENTISANO PROJEKTOVANJE


Pitanja
1. (10 poena) Model vodopada.
2. (10 poena) Use-case dijagrami.
3. (10 poena) Relacije u UML-u.
4. (10 poena) Dati definiciju i objasniti osnovne elemente Projektnih obrazaca.
5. (10 poena) Objasniti Observer projektni obrazac i dati primer korišćenja.
6. (10 poena) Šta je to MFC? Objasniti arhitekturu 4 klase kod MFC baziranih aplikacija.
Zadaci
1. (20 poena) Modelovati i ilustrovati UML dijagramom klasa softver za automatsko generisanje ispitnih blanketa.
Softver treba da obezbedi generisanje blanketa za različite predmete, a na osnovu šablona blanketa za taj
predmet. Šablon blanketa definiše koliko pitanja i/ili zadataka blanket sadrži i iz kojih su oblasti. Jedno
pitanje/zadatak može biti iz više oblasti, a jedna oblast može biti veza za više pitanja/zadataka. Generisanje
blanketa se vrši za neki ispitni rok, a na osnovu baze pitanja i zadataka koji su razvrstani po definisanim
oblastima. Za svako pitanje/zadatak se, pored samog teksta, čuva i broj pojavljivanja na generisanim blanketima
što se uzima u obzir pri generisanju novog blanketa. Sistem treba da obezbedi čuvanje istorije generisanih
blanketa, tj. kombinacije pitanja/zadataka koje čine blanket.
2. (20 poena)
a) Definisati projektni obrazac Composite. Dati definiciju, nacrtati osnovni dijagram klasa i opisati glavne
učesnike.
b) Potrebno je modelovati sistem klasa koje će najefikasniji način definisati svemirske brodove i oružja koje će
igrač imati na raspolaganju.
Igrač ima na raspolaganju 3 različite vrste svemirskih brodova – Fighter, Walker i Racer. Svi oni imaju
jedno glavno oružje (p-Weapon) koje se postavlja kada se brod pravi i ono se ne može menjati kasnije.
Sem toga brodovi mogu (ali i ne moraju) da imaju i sekundarno oružje (s-Weapon), apokaliptičko oružje
(a-Weapon) i štit. Sva tri dodatka tokom igre mogu da budu odbačeni ili zamenjeni drugim.
Brodovi mogu da pucaju iz svakog od oružja pojedinačno ili iz svih odjednom (ne mogu npr. da pucaju samo
iz p-Weapon i s-Weapon, a da a-Weapon miruje). Da bi počeli da koriste drugo oružje (ili sva tri) moraju na
trenutak da prestanu da pucaju. Kada brod koristi štit, onda može da puca samo a-Weapon.
Tokom igre brodovi mogu da sakupljaju razna ojačanja (power-ups) koja se fizički dodaju na postojeća
oružja (štitovi ne mogu da se ojačavaju već samo da se zamene) i trajno menjaju njihove osobine. Ne postoji
ograničenje u broju i redosledu pojačanja oružja koji se mogu dodati. Power-ups se ne mogu pojedinačno
odbaciti, već se kompletno gube kada se oružje odbaci, odnosno kada brod bude uništen. Postoji 19 različitih
vrsta power-up entitieta i zovi se P1 do P19.
Kao p-Weapon i s-Weapon brodovi mogu da koriste PlasmaCannon, ForcePusher, BoomaRifle i
SonicBlaster. Kao a-Weapon služe A1Bomb, ThermalImploder i SunGun. Postoje samo dve vrste štita
ThermalShield i ImpactShield.
Modelovati sistem klasa, uz koriscenje projektnih obrazaca, tako da se jednostavno u sistem mogu dodati
novi brodovi, oružja, pojačanja i štitiovi bez promene koda u centralnom delu sistema.
Dati primer u kodu koji odslikava sledeću sekvencu akcija nad jednim brodom:
1) Izgradjen je novi Fighter sa i njegov 6) Brod uzima ThermalImploder i ForcePusher
p-Weapon je PlasmaCannon 7) Brod uzima P11
2) Brod uzima P4 8) Brod odbacuje a-Weapon i uzima
3) Brod uzima PlasmaCannon ThermalShield
4) Brod uzima P1 9) Brod uzima P3
5) Brod odbacuje s-Weapon 10) Brod uzima BoomaRifle i P8
Napisati koja oružja i kako ojačana ima brod na kraju.
NAPOMENA: Za polaganje ispita neophodno je osvojiti minimum 30 poena na pitanjima i 20 poena na zadacima.

You might also like