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.