1. Opisati ulogu GUI kontrole Menu? Sistem sadr i veliku kolièinu informacija i izvr ava razlièite funkcije.

S obzirom na tu namjenu sistem mora obezbjediti naèin da ka e korisnicima o informacijama koje treb aju ili ta trebaju uraditi.To se posti e i prikazivanjem liste izbora ili alternati ve koje korisnik ima na odgovarajuæoj taèci dok koristi sistem,ili kreiranjem vi e lis ti izbor koji vode ljude od serije generalnog opisa kroz poveæanje specifiène katego rije sljedeæi ponuÏene liste izbora sve dok se najni i nivo ne postigne, odnosno dok s e ne postigne eljeni izbor. Ta lista izbora se najèe æe naziva meni. Meni je glavna for ma navigacije kroz sistem.ili kreiranjem vi e listi izbor koji vode ljude od serij e generalnog opisa kroz poveæanje specifiène kategorije sljedeæi ponuÏene liste izbora s ve dok se najni i nivo ne postigne, odnosno dok se ne postigne eljeni izbor. Ta lis ta izbora se najèe æe naziva meni. Meni je glavna forma navigacije kroz sistem. 2. Koji su osnovni tipovi grafièkih menija? Meni linija (Menu bar) Pull-Down Meniji Kaskadni meniji Pop-up meniji Meni sa ikonama 3. Koja se kontrola koristi za meni, koje su njene osobine i metode, a i koji je njen osnovni dogaðaj. Definisati i deklarisati dogaðaj koristeæi sintaksu Visual S tudio-a. Za meni se koristi kontrola MenuStrip. MenuStrip svojstva: MenuItems ; HasChildren ; RightToLeft.... Na meni mozemo dodati ToolStripMenuItem (PROBAJTE U VISUAL STUDIO - U!!! ), i to tri vrste : MenuItem ,ComboBox, TextBox. ToolStripMenuItem svojstva : Checked ; CheckOnClick ; Index ; Sh ortcutKeyDisplayString .... ToolStripMenuItem Dogadaj : Click - Generi e se kada se item kl ikne ili se koristi shortcut key . 4. ta su SDI aplikacije a ta su MDI aplikacije.

Aplikacije koje imaju interface preko jednog prozora su SDI (Single Document Int erface ).To znaci da istovremeno moze biti otvoren samo jedan prozor/dokument.TA kav je npr. Paint. Aplikacije koje mogu editovati vise dokumenata u isto vrijeme - MDI (multiple do cument interface). 5. ta je potrebno uraditi (navesti sekvencu iskaza) da bi se dijete forma dodala na roditelj kontrolu Form. 1.Kreiramo formu (koja ce nam biti roditelj); 2.Postavimo njenu osobinu IsMdiContainer na true ( u properties - ima); 3.U istom projektu kreiramo novu formu (koja ce biti dijete ) i nazovemo je npr. Dijete; 4.Sada u formi roditelj moramo #include "Dijete.h" i napravimo neki doga daj koji ce nam prikazati tu formu dijete.Npr: Mozemo napraviti button i u njemu generisati Click dogadaj(To zn aci da ce se pojaviti ta forma dijete kada kliknemo na Button)Dobijemo ovo za pocetak: private: System::Void button1_Click(System::Object^ sender, Sys tem::EventArgs^ e) { } Sada unutar tog dogadaja mi dodamo ovo: private: System::Void button1_Click(System::Object^ sender, Sys tem::EventArgs^ e) {

7. boje i fontove svoje osnovne klase 10. Abort. //kreiramo dijet e dijete -> MdiParent() = this. Sleep. ArrangeIcons. Suspend. klikom na Cascade promijenio Layout MDI forme. } //prikazi dijete //stavimo da mu 6. napisati dogaðaj koji bi izborom tj. predstavljaju baziène cjeline za izvr avanje koda pod savremen im operativnim sistemima. Tile. je roditelj this. ova forma dijete -> Show(). ta sve nasljeðuje izvedena forma od osnovne forme? Izvedena Form klasa sadr i funkcionalnosti od svoje osnovne klase vezane z a kontrolu Form. Napisati program koji æe aktivirati dvije niti. varijable i kontrole i osnovne klase. itd. Niti (jedna ili vi e) pripadaju jednom slo enijem procesu. Koje su osnovne metode klase Thread. Koji su koraci kreiranja vlastitih kontrola? 11. private: System::Void cascadeToolStripMenuItem_Click(System::Obj ect^ sender.Child ^dijete = gcnew Child(). PulseAll 14. } 8. 13.dll> using namespace System. 9. a koje klase Monitor? Thread : Start. 12. ta je nit thread? Niti (engl. TileHorizontal. tj. threads). ta se posti e sa vizuelnim nasljeðivanjem? Omogucava da se postigne vizuelna konzistentnost kroz aplikaciju. System::EventArgs^ e) { this->LayoutMdi( MdiLayout::Cascade ). . Pulse. Zadatak svake niti æe biti da sp avaju sluèajni period vremena. U kojem obliku se mogu prikazati djeca na roditelj formi (layout MDI). metode. TileVertical. layout kontrola.Izvedena klasa takoÏer nasljeÏuje sve vizuelne aspekte kao velièinu. MessagePrinter. Ukoliko imamo meni Layout i podmenije Cascade. Monitor : Wait. ali ukljuèuje sve osobine.Threading n amespace). Cascade.NET koriste za upravljanje nitima? Dvije klase vezane za vi enitne aplikacije su Thread i Monitor (System. using namespace System::Threading. Koje klase se u . public ref class MessagePrinter { int sleepTime.h #using <mscorlib. Nit je programska cjelina koja treba da obavi jedan za datak.

KVANTUM . current->Name ).h" #include "MessagePrinter. &Messa gePrinter::Print ) ).. int main() { MessagePrinter *printer1 = new MessagePrinter(). Thread *thread2 = new Thread ( new ThreadStart( printer2. nit2->Start(). } }. using namespace System::Data. static Random *random = new Random(). ta se posti e sa postavljanjem priorteta niti. // ThreadTester. thread2->Name = "nit2". public: MessagePrinter() { sleepTime = random->Next( 5001 ) } // random vrijeme spavanja 0 . // postavlja nit u stanje spavanja Thread::Sleep( sleepTime ). Monitor metode __________ i __________ zahtjevaju i oslabaðaju lock na objekat . Koristimo Monitor metode Enter i Exit za izbjegavanje problema. ta je deadlock i kako se mo e izbjeæi opisati koje klase i metode se pri tome kor iste. return 0.cpp // Glavni program za MessagePrinter. Ako je grupa od jednako-prioritenih niti svaka nit dobija dio vremena nazvan _______________. } 15. ENTER EXIT 18. Osiguravamo da niti sa najvecim prioritetom dobiju procesor prije ostali h. Thread *thread1 = new Thread ( new ThreadStart( printer1. 16. za vrijeme izvr avanja programa. dok simultano nit2 ne mo e nastaviti jer èeka (direktno ili indirektno) da nit 1 odradi svoj task da bi nastavila. 17. MessagePrinter *printer2 = new MessagePrinter(). using namespace System::Collections. //To je ko ono iz OS -a cini mi se.h" using namespace System. i da obave to sto imaju. nit1->Start(). Deadlock se de ava kada nit koja èeka (nazivimo je nit1) ne mo e nastaviti izvr avanje j er èeka (direktno ili indirektno) da druga nit (nit2) odradi svoj task da bi nasta vila.5 sekundi Print() { // pointer na konkurentno izvr ivu nit Thread *current = Thread::CurrentThread. thread1->Name = "nit1". tako da akci je koje omoguæavaju druge niti da nastave izvr avanje nikada se ne desi. #include "stdafx. Dvije niti èekaju jedna na drugu. using namespace System::ComponentModel.&Messag ePrinter::Print ) ). Console::WriteLine( "Gotovo spavanje".

} Main za test bi izgledao: int main() try } catch(MyException^ pex) { Console::WriteLine("Caught MyException in main()").(pex->errNo)). Koji su koraci kreiranja sopstvene klase za upravljanje exception-ima. Za dodatne poene : Ono cime Neira gadja Antoniju :P 20. pex->Message). de ava se rijetko. Naziv 'izuzetak' ('exception') da iako se problem de ava. } return 0. Ilust rirati primjerom. errNo(num) {} //Konstruktor }. Koje su osobine Exception klase. dodajmo kod funkciju koja uzrokuje izuzetak: 19. ili nesto slicno. //Napisali smo i zuzetak koji ima poruku i neki kao svoj broj(errNo).ta je exception-izuzetak ? Izuzetak (exception) je indikacija problema koji se de ava za vrijeme izvr a vanja programa. void func(int a) { if (a <= 0) throw new MyException( "Neki izuzetak". Koja je uloga _finally bloka u kombinaciji sa try catch-finally blokom. int num) : Exception(msg). 22. } { { func(0). Console::WriteLine("Error number is : ". 1000). Console::WriteLine("Message is : ". pa valjda da znamo da je sve OK. Message : Vraæa poruku povezanu sa izuzetkom StackTrace : Vraæa string koji sadr i detalje o steku . mada moze i bez toga MyException(String^ msg. Defini emo klasu MyException ref class MyException : public System::Exception { //NASLIJEDJUJE SE IZ System ::Exception !!! public: int errNo. 21. _finally se odraðuje i ako se desi i ne desi exception. Upravljanje gre kama omoguæava programerima da program nastavi izvr a vanje kao da se problem nije ni desio.

2.. godina roðenja 1980. U to vrijemo ova definicija je bila najbolja raspolo iva i dugo je i bila primjenji vana. Potrebni su sljedeæi izuzeci postavljeni za konstruktor klase: -IzuzetakIlegalanMaticniBroj . Navesti najèe æe uzroke de avanja izuzetaka. plata 800.identifikacioni broj nije 13-cifr eni cijeli broj -IzuzetakIlegalnaGodinaRodenja godina roðenja prije 1900 godine . 1. plata 800. koji je pot rebno odr avati u namjeni mjerenja i pobolj anja kvaliteta softvera (na ovom princip u zasnovana tzv.00 -unos podataka sa standardnog ulaza sa podacima o Uposleniku pri èemu je 1211980186521. u svojoj knjizi Art of Software Testing . 1983 definicija testiranja se promijenila i ukljuèuje odreÏivanje kvaliteta so ftvera u odnosu na samo pronala anje gre aka. Navesti definicije testiranja programa kroz istoriju. Ali problem sa ovim definicijama je vidokrug (scope) pa se po javljuju u posljednje vrijeme i definicije tipa: 3. godina roðenja 1980. (Sve ono sto se moze naci u mom klasicnom programu:)) OVAJ RADITE SAMI: 24. plata. 1979. Testiranje je mjerenje kvaliteta softvera.70. godin a roðenja.00 i poziv set metoda sa vrijednostima koje izazivaju izuzetke. dijeljenje sa nulom. prekoracenje. Ilustrira ti primjenu klase na sljedeæi naèin: -unos podataka sa standarnog ulaza sa podacima o Uposleniku pri èe mu je matièni broj 12346789. pri èemu set metode uzrokuju gore spomenute izuzetke. plata -800 -unos podataka sa standardnog ulaza sa podacima o Uposleniku pri èemu je 1211980186521.Source Vraæa string koji sadr i ime objekta ili aplikacije koji je uzrokova o gre ku 23. Shvatanje testiranja se mijenjalo godinama.Objaniti ulogu i znaèaj testiranja pri procesu razvoja softvera. Glenford Myers je objasnio testiranje kao proces izvr avanja programa ili sistema sa ciljom pronala enja gre aka.. 2002 Testiranje je konkurentni proces procesu razvoja softvera.Definisanu klasu Uposlenik sa atributima: maticni broj. pozivanje met ode koj nije podrzana. STEP metodologija) 26. U principu testiranje se odvijalo na kraju softverskog razvoja i osnovna namjena je pronala e nje gre aka. Gornje dvije definicije su jo uvijek validne jer obe adresiraju posebna gledi ta te stiranja softvera. Bi ll Hetzel je opisao testiranje kao svaku aktivnost sa ciljem procjene atributa ( pona anja) programa ili sistema. godina roðenja 1880.IzuzetakIlegalnaPlata nije realna vrijednost veæa od nule Takoðe. godina roðenja 1980. . plata 800. Napisati C++ program za implementaciju gore pomenutog. pogresna konverzija. -unos podataka sa standardnog ulaza sa podacima o Uposleniku pri èemu je 1211980186521. U Complete Guide to Software Testing . Npr. svi atribute klasa treba da sadrze set metode. 25. index izvan ranga.

Navesti tehnike testiranja i napisati za svaku 1-2 reèenice. Dinamièko black-box testiranje Testiranje sofvera bez uvida u n jegov kod je dinamièko black-box testiranje. 29. Napisati program koji demonstrira kako razlièiti izuzeci se obraðuju sa: catch ( Exception exceptionParameter ) . _________ blok povezan sa try blokom se uvijek izvr ava. Kod dinamièkog black-box testiranj a postoje jo dodatna dva pristupa testiranju softvera : testiraj da proÏe i testiraj da padne . ta se de ava ako se izuzetak desi izvan try bloka? Onda izleti npr. 1.Kvalitet isporuèenog softvera u mnogome ovisi o trudu utro enom na testiranju datog. Dinamièko je zato to se program izvr ava. Tj. da bi softver bio dobar. Statièko black-box testiranje . MALO JE NEASNO PITANJE 32. arhitekture i koda softvera s ciljem da se pronaÏe bug bez pokretanja softvera. MISLIM DA MISLI NA Syst em::Exception . a po to je white-box znaèi da se ima i uvida u sami kod i prati njegovo izvr avanje iznutra. glupo pitanje. dobija izlaze i provjerava njihovu ispravnost.Testiranje specifikacije je statièko bla ck-box testiranje. 4. ovakav prozorcic : An unhandled exception of type 'System. Jednostavno reèeno black-box testiranje tes tira pona anje softvera kada se koristi. Dinamicko white-box testiranje Po to je testiranje dinamièko znaèi da se testira softver u fazi izvr avanja. I pita te hoces li Continue ili Break. 28. Black-box je zato to tester ne po znaje kako program taèno radi. VALJDA ONAJ FINNALY 31. 30. Izvedene klase se izvode iz klase _______________.exe Additional information: Dijeljenje nulom. Tester unosi ulaze. samim tim je statièko testiranje. Specifikacija je dokument i nije program koji se izvr ava. 2. Kada postoji.ArgumentException' occurr ed in Izuzeci. Taj proces se takoÏe naziva i strukturalna analiz a. 27. . Dinamièko white-box testiranje bi se moglo nazvati i rentgensko testiranje . moramo ga testirati da nadjemo greske ili nesto sl. Ako se nije desio izuzetak u try bloku gdje se nastavlja izvr avanje program n akon to try blok izvr avanje? Valjda preskoci catch blok i nastavlja normalno sa daljnim programom. zato je jako bitno ne zanemariti testiranje pri razvoju softvera. Tester ga koristi na naèin kao to æe ga koristi korisnik. 3. Statièko white-box testiranje je proces pa ljivog i metodolo kog p regleda dizajna.

33. Napisati program koji podi e ovaj exception u sluèaju sabir anja operatora koji su razlièitog tipa. Klasa za upravljanje gre kama System::ArithmeticException indicira gre ke vezane za aritmetièke operacije. .

Sign up to vote on this title
UsefulNot useful