Razvoj poslovnih aplikacija, EFO 1. Kolokvij pitanja Kolokvij će se sastojati od 12 pitanja, od toga će biti 3 skupine pitanja: 1. Skupina: 5 pitanja s zatvorenog tipa s ponuđenim odgovorima (svako pitanje po 2 boda, ukupno 10 bodova) 2. Skupina: 5 pitanja otvorenog tipa - u kojima treba napisati kraći odgovor (svako pitanje po 4 boda, ukupno 20 bodova) 3. Skupina: 2 pitanja u kojima treba napisati malo više naredbi programskog koda (svako pitanje po 10 bodova, ukupno 20 bodova) Sveukupno: 50 bodova na kolokviju Primjeri pitanja iz 1. ili 2. skupine (za 2 ili 4 boda po pitanju) - ovisno o tome hoće li pitanje biti zatvorenog tipa (s ponuđenim odgovorima ili otvorenog tipa (da student upisuje odgovor): Pitanja će biti sličnog tipa (ne identična ovim napisanima). Poglavlje 1 Agilni razvoj softvera 1. Što je cilj agilnih metoda razvoja softvera? 2. Nabrojite barem 3 agilne metode razvoja softvera. 3. Kako se zove najčešće korištena agilna metoda razvoja softvera? 4. Što od navedenog nije princip razvoja agilnih metoda? (bit će navedeni ponuđeni odgovori) 5. Kako se zove najčešće korišteni tradicionalni pristup razvoja softvera s kojim se agilne metode često uspoređuju? 6. Usporedite karakteristike agilnog razvoja softvera u odnosu na tradicionalne metode (tablica 2, pogl. 1). 7. Koja su 4 kriterija za izražavanja koristi koje tvrtke imaju od agilnih metoda? (ne navesti samo jednu riječ za svaki kriterij nego i objasniti. 8. Koje su uloge članova tima kod SCRUM metode agilnog razvoja softvera? 9. Koje obaveze ima scrum master kod agilnog razvoja softvera? 10. Koje obaveze ima vlasnik projekta kod agilnog razvoja softvera? 11. Koje obaveze ima scrum tim kod agilnog razvoja softvera? 12. Tko su stakeholder-i kod agilnog razvoja softvera? 13. Koje su tri faze rada kod SCRUM metode agilnog razvoja softvera? Objasnite svaku. 14. Što uključuje prva faza rada SCRUM metode kod agilnog razvoja softvera? 15. Što uključuje druga faza rada SCRUM metode kod agilnog razvoja softvera? 16. Što uključuje prva treća rada SCRUM metode kod agilnog razvoja softvera? 17. Koja su tri pitanja na koja svaki član SCRUM tima odgovara na dnevnim sastancima? Poglavlje 2 OO Analiza i dizajn aplikacija, MVC model
18. Što omogućava objektno-orjentirani dizajn aplikacija? 19. Objasnite razliku između objektnog i algoritamskog (ili proceduralnog) pristupa izradi aplikacija? 20. Što znači kratica OOAD i objasnite taj pojam. 21. Koja su tri aspekta objektno-orjentirane analize i dizajna aplikacija? 22. Objasnite OOA aplikacija. 23. Objasnite OOD aplikacija 24. Objasnite OOP aplikacija. 25. Što su objekti u objektnom programiranju? 26. Što su instance u objektnom programiranju? 27. Što je klasa u objektnom programiranju? 28. Ako u nekom OOP postoji objekt Student i objekt IvanMaric, što je od toga klasa, a što instanca? 29. Ako klasa Student ima svojstva: ime, prezime, spol, godinarodjenja, koja će svojstva imati instanca IvanMaric klase Student? 30. Za što služi UML jezik? 31. Koje su dvije glavne skupine UML dijagrama i navedite barem 3 dijagrama u svakoj skupini. 32. Ako u UML dijagramu piše: Pero: Student, što je time predstavljeno? 33. U okviru u obliku pravokutnika nacrtajte kako biste u UML dijagramu prikazali klasu Student, koja ima svojstva: ime (tekst), prezime (tekst), spol (tekst), godinarodjenja (cijeli broj) i metode: UpisStudenata(), BrisanjeStudenata(), EditStudenata()? 34. Što prikazuju dijagrami komponenti kod UML dijagrama? 35. Zašto se u posljednje vrijeme programiranje sučelja odvaja od programiranja same obrade podataka? 36. Koja su tri dijela arhitekture današnjih aplikacija i kratko objasnite što radi svaki dio? 37. Što predstavlja Model (Model) dio arhitekture aplikacija? 38. Što predstavlja Controller (Kontroler) dio arhitekture aplikacija? 39. Što predstavlja View (Pogled) dio arhitekture aplikacija? 40. Na slici je prikazana deklaracija jedne klase i njezinih elemenata. Odgovorite na pitanja: public class SifarnikCvijeca public Guid SifarnikCvijecaID get; set; public string Vrsta get; set; public string PodVrsta get; set; public string Sifra get; set; public string Naziv get; set; - Koji je naziv klase? - Što znači ključna riječ public kod deklaracije klase? - Što su ŠifarnikCvijecaID, Vrsta, PodVrsta, Sifra i Naziv? - Koji tip podataka će moći biti spremljen u svojstvo Vrsta? - Koji tip podataka će moći biti spremljen u svojstvo Sifra? - Koliko svojstava ima klasa na slici? 41. Koja su dva glavna dijela Modela neke aplikacije? Objasnite svaki. 42. Koja su tri modela baze podataka koja se koriste kod projektiranja baze podataka?
43. Koji je model podataka prikazan na slici (konceptualni, logički ili fizički) bit će prikazana slika. 44. Što prikazuju simboli tzv. Crow feet (vraninih stopala)? 45. Kakvu vezu u bazi prikazuje simbol vraninih stopala prikazan na slici? bit će prikazana slika (odgovor može biti: nula-prema-više (0, N), nula-na-jedan (0, 1), jedan-na-više (1, N), višeprema-više (M, N) ili jedan-na-jedan (1, 1)) 46. Ako je donjom slikom prikazan dio dijagrama fizičkog modela baze podataka neke cvjećarnice, odgovorite na pitanja: NarStavke PK NarStavkeID uniqueidentifier FK1 SifarnikCvijecaID uniqueidentifier FK2 NarZaglavljeID uniqueidentifier Kolicina decimal(18;2) Placeno bit Isporuceno decimal(18;2) SifarnikCvijeca PK SifarnikCvijecaID uniqueidentifier Vrsta varchar(10) Podvrsta varchar(10) Sifra varchar(10) Naziv NarZaglavlje PK NarZaglavljeID uniqueidentifier FK1 SifarnikPotrosacaID uniqueidentifier UkupnaKolicina decimal(18;2) Placeno bit Isporuceno bit KorisnikID uniqueidentifier DatumVrijeme datetime SifarnikPotrosaca PK SifarnikPotrosacaID uniqueidentifier Ime Prezime DrugiNaziv Adresa PostanskiBroj varchar(5) Zupanija Mjesto Telefon DrugiKontakt - preko kojeg atributa (polja) su povezane tablice: NarStavke i SifarnikCvijeca? - preko kojeg atributa (polja) su povezane tablice: NarStavke i NarZaglavlje? - preko kojeg atributa (polja) su povezane tablice: NarZaglavlje i SifarnikPotrosaca? 47. Kako se zove okvir za rad s bazom podataka iz MVC aplikacija koji mapira tablice iz baze i promatra ih kao klase koje programer može koristiti u programiranju? 48. Koja su tri pristupa kreiranju baze podataka kod Entity Framework pristupa? 49. Objasnite code-first pristup kreiranju baze podataka iz aplikacije? 50. Čime se bavi View (Pogled) dio arhitekture aplikacija? 51. Koje su tri vrste pogleda u aplikacijama? 52. Koja je funkcija dijela MVC arhitekture aplikacije pod nazivom Controller (Kontroler)? 53. Ako zamislite da u web aplikaciji želite klikom na neko dugme prikazivati kulinarske recepte, što bi se definiralo u dijelovima Model, View i Controller? 54. Ako zamislite da u web aplikaciji želite napraviti konverter valuta (preračunavanje nekog iznosa iz strane valute u HRK), što bi se definiralo u dijelovima Model, View i Controller? 55. Ako zamislite da u web aplikaciji želite napraviti obračun plaća djelatnika, što bi se definiralo u dijelovima Model, View i Controller? 56. Ako instalirate na svoje računalo MS Visual Studio razvojnu okolinu za kreiranje web aplikacija, koje ćete tri komponente instalirati i za što služi svaka komponenta?
Poglavlje 3 OOP 57. Što je OOP? 58. Navedite barem 4 objektno-orjentirana programska jezika. 59. Na Slici je prikazana deklaracija jedne klase. Odgovorite na pitanja: class Kuca public decimal Kvadratura get; set; public decimal BrojSoba get; set; public void OtvoriVrata() a public void UkljuciGrijanje() b - Koji je naziv klase deklarirane na slici? - Koja su svojstva deklarirana unutar klase? - Što je označeno slovom a (svojstvo, metoda, varijabla,...) unutar klase? - Što je označeno slovom b (svojstvo, metoda, varijabla,...) unutar klase? 60. Što će kreirati naredba: Kuca instancakuca = new Kuca(); (ili može biti zadan drugi primjer, npr. Student std = new Student(); ili dr.) 61. Napišite naredbu kojom ćete kreirati instancu klase Proizvod (dajte proizvoljni naziv instanci). 62. Kako se zove nareba koja u sebi sadrži ključnu riječ new? 63. Što znači atribut static u naredbi za deklaraciju neke metode, npr. public static void OkreniTermostatNa20(string imesobe) ImeSobeStatic = imesobe; 64. Što će napraviti naredba: instancakuca.ukljucigrijanje(); (ili npr. std.upisstudenta();) 65. Napišite naredbu kojom ćete na instanci kuca1 pozvati metodu ZakljucajKucu. 66. Koje sve elemente može imati neka klasa u OOP? 67. Koja su tri osnovna koncepta u OOP? 68. Što je ekapsulacija (učahurivanje) u OOP? 69. Što je nasljeđivanje u OOP? 70. Što je polimorfizam u OOP? 71. Ako klasa Proizvod ima svojstva: sifraproizvoda, nazivproizvoda, cijenaproizvoda, koja će svojstva obavezno morati imati klasa PrehrambeniProizvod ako je ona naslijeđena od klase Proizvod? 72. Nabrojite tri najčešće tehnike kojima se postiže polimorfizam u OOP? 73. Što je method overloading? 74. Što je operator overloading?
75. Što je method overriding? 76. Na slici je naveden primjer za: method overloading, operator overloadin ili method overriding? mogu biti i drugačiji primjeri zadani u testu public class MyLogger public void LogError(Exception e) // Implementation goes here public bool LogError(Exception e, string message) // Implementation goes here 77. Koji je nastavak (ekstenzija) datoteke u kojoj se nalazi izvorni kod pisan u programskom jeziku C#? 78. Kako zovemo jednim imenom prostore koji sadrže ugrađene klase, usluge ili tipove koje možemo koristiti i u svojoj aplikaciji, a pozivaju se naredbom using u C# jeziku? (npr. using System; Ili using.system.collections.generic;)? 79. Kad kreirate neku novu konzolnu aplikaciju u C# jeziku, program će automatski upisati ove naredbe: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HelloWorld class Program static void Main(string[] args) - Što je nazvano nazivom Hello World, što s nazivom Program, a što sa nazivom Main? 80. Koja je osnovna svrha prostora za nazive? 81. Ako napišemo naredbu: int izlaznavrijednost= 125; koji je tip varijable izlaznavrijednost? 82. Ako napišemo naredbu: string pozdravnaporuka = Zdravo ; Koji je tip varijable pozdravnaporuka? 83. Napišite naredbu kojom ćete deklarirati cjelobrojnu varijablu sifraartikla i dodijeliti joj vrijednost 1000. 84. Napišite naredbu kojom ćete deklarirati decimalnu brojčanu varijablu cijenaartikla i dodijeliti joj neku vrijednost (dodijelite sami). 85. Napišite naredbu kojom ćete deklarirati tekstualnu varijablu vrijemedanas, i dodijeliti joj vrijednost Sunčano. 86. Što označava tip polja double u OOP? 87. Što označava tip polja int u OOP? 88. Što označava tip polja string u OOP?
89. Što označava tip polja decimal u OOP? 90. Napišite opći oblik pisanja iskaza IF u C# jeziku. 91. Što će napraviti ove naredbe: string[] nizimena = new[] "Pero", "Ivan", "Marko", "Josip"; foreach (string jednoime in nizimena) Console.WriteLine(jednoIme); 92. Napišite opći oblik pisanja petlje FOR u C# jeziku. 93. Što će napraviti ove naredbe: for (int i = 0; i < 10; i++) Console.WriteLine("Marko"); 94. Napišite opći oblik pisanja petlje WHILE DO. 95. Što će napraviti ove naredbe: int i = 0; while (i < 10) Console.WriteLine("Marko"); i++; 96. Što je metoda u OOP? 97. Što znači ključna riječ void ispred imena metode? 98. Što će napraviti ova metoda: public void metoda1() string pozdrav = Zdravo ; Console.WriteLine (pozdrav); 99. Što će napraviti ova metoda: public string metoda1() string pozdrav = Zdravo ; return pozdrav; 100. Što će napraviti ova metoda: public void metoda2(string pozdrav) Console.WriteLine (pozdrav); 101. Deklarirajte svojstvo (na kraći ili duži način) OcjenaStudenta kao cijeli broj. 102. Deklarirajte svojstvo (na kraći ili duži način) prezimestudenta kao tekst. 103. Deklarirajte svojstvo (na kraći ili duži način) visinastudenta kao decimalni broj. 104. Što je niz u OOP?
105. Deklarirajte niz od 3 imena studenata i dodijelite im vrijednosti. 106. Što je lista u OOP? 107. Napišite opći oblik za deklariranje liste. 108. Deklarirajte listu koja će biti tipa klase Student, listi dodijelite naziv listastudenata 109. Napišite naredbu kojom ćete u listu koja je nazvana nizkuca dodati instancu kuca1 (samo tu jednu naredbu koja poziva metodu koja dodaje novu instancu u listu). 110. Nadopunite tipove svojstava u klasi Djelatnik tako da se u svojstvo PrezimeIme može spremiti tekst, u svojstvo Placa decimalni broj, te u svojstvo DatumRodjenja datum. public class Djelatnik public DjelatnikID get; set; public PrezimeIme get; set; public Placa get; set; public DatumRodjenja get; set; Primjeri pitanja iz 3. skupine (za 10 bodova po pitanju) Pitanja će biti sličnog tipa (ne identična ovim napisanima). 1. Napišite naredbe u jeziku C# za konzolnu aplikaciju koja će u na ekranu u konzoli ispisati poruku Dobrodošli u moju aplikaciju 10 puta. 2. Napišite naredbe u jeziku C# koje s pomoću iskaza IF provjeravaju je li Cijena > 1500, te ako je, tada treba na konzoli ispisati poruku Skupo, a ako nije onda treba na konzoli ispisati poruku Jeftino. Prije samog iskaza u posebnoj naredbi deklarirajte varijablu Cijena. 3. Napišite naredbe u jeziku C# koje s pomoću iskaza SWITCH...CASE provjeravaju je li Ocjena 1, 2, 3, 4 ili 5. Ako je Ocjena 1, na konzoli treba ispisati poruku nedovoljan, ako je Ocjena 2 treba na konzoli ispisati poruku dovoljan itd. za sve ocjene. Prije samog iskaza u posebnoj naredbi deklarirajte varijablu Ocjena. 4. Deklarirajte u jeziku C# niz od 3 imena studenata i dodijelite im vrijednosti. 5. Pretpostavite da je već prije deklarirana klasa pod nazivom Kuca koja ima dva svojstva: Povrsina i BrojSoba. Deklarirajte u jeziku C# jednu listu pod nazivom ListaKuca u koju ćete moći spremiti instance klase Kuca. Zatim kreirajte instancu kuca1 klase Kuca. Nakon toga svojstvima te instance dodijelite neke numeričke vrijednosti (npr. da Povrsina bude 100, a BrojSoba da bude 4). Na kraju dodajte tu instancu kuca1 u listu. 6. Deklarirajte u jeziku C# klasu Student i njezina tri svojstva (na kraći ili duži način): MatBrojStudenta cjelobrojnog tipa, ImeStudenta tekstualnog tipa i DatumUpisa datumskog tipa. 7. Objasnite što će napraviti ove naredbe C# jezika (objasnite svaku naredbu redom):
using System; namespace Varijable class Program static void Main(string[] args) Izracun(); static void Izracun(int brojdjeljenik = 20, int brojdjelitelj = 10) int brojizlaznavrijednost = brojdjeljenik / brojdjelitelj; Console.WriteLine(brojIzlaznaVrijednost); Console.ReadLine(); 8. Objasnite što će napraviti ove naredbe C# jezika (objasnite svaku naredbu redom): string[] nizstudenata = new[] "Pero", "Ivan", "Marko", "Josip"; Console.WriteLine("Studenti:"); foreach (string student in nizstudenata) Console.WriteLine(student); Console.Readline(); int[] nizocjena = new[] 4, 2, 5, 3; Console.WriteLine("Ocjene: "); foreach (string ocjena in nizocjena) Console.WriteLine(ocjena); Console.Readline(); 9. Objasnite što će napraviti ove naredbe C# jezika (objasnite svaku naredbu):
public class Artikl public int ArtiklID get; set; public string NazivArtikla get; set; public int Kolicina get; set; public decimal CijenaArtikla get; set; public void ProsjecnaCijena() Prodaja.IzracunajProsjek(); 10. Objasnite što će napraviti ove naredbe C# jezika (objasnite svaku naredbu redom) i napišite o kojem se tu obliku polimorfizma radi: public class Kuca public virtual void UkljuciGrijanje() Console.WriteLine("Uključivanje grijanja u Kuca klasi..."); public class KucaKatnicaSBazenom : Kuca public override void UkljuciGrijanje() Console.WriteLine("Uključivanje grijanja u KucaKatnicaSBazenom klasi...");