13
Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja Kolokvij će se sastojati od 12 pitanja, od toga će biti: 5 pitanja s ponuđenim odgovorima (svako pitanje po 2 boda, ukupno 10 bodova) 5 pitanja u kojima treba napisati kraći odgovor (svako pitanje po 4 boda, ukupno 20 bodova) 2 pitanja iz vježbi u kojima treba napisati malo više naredbi programskog koda (svako pitanje po 10 bodova, ukupno 20 bodova) Sveukupno: 50 bodova na kolokviju Nastavnik će koristiti neka od navedenih pitanja, s tim što može promijeniti nazive varijabli, svojstava, klasa i dr., njihove vrijednosti, i preformulirati pitanje u drugi oblik. Primjeri pitanja: Poglavlje 4 – MVC web aplikacije 1. Koje su prednosti upotrebe MVC aplikacija (mogu bit navedene prednosti i među njima uljez, ili pitanje – Što od navedenog nije prednost upotrebe MVC aplikacija)? 2. Ako za neku MVC web aplikaciju želite voditi podatke o autima, i to sljedeće: SifraAuta, NazivAuta, CijenaAuta, kako biste u tablici naveli opis Modela aplikacije? 3. Ako za neka MVC web aplikaciju treba omogućiti ove aktivnosti: prikaz, unos, editiranje, te brisanje automobila iz baze, kako biste napravili u tablici opis Kontrolera aplikacije? 4. Ako je za neku aplikaciju dan sljedeći opis Modela u tablici: - Koliko će se klasa kreirati u aplikaciji i koje? - Koliko će se svojstava kreirati u aplikaciji i za koje klase? - Ako biste htjeli u aplikaciju dodati još jednu klasu Prodaja koja bi sadržavala podatke o prodaji filmova, i to: BrojRacuna, DatumRacuna, IDFilma, Kolicina, kako biste nadopunili prethodnu tablicu? 5. Ako je za neku aplikaciju dan sljedeći opis Pogleda u tablici: Kontroler Pogled Opis MovieController Index Prikazat će sve filmove u bazi u obliku tablice tako da je na vrhu upisano zaglavlje tablice, a zatim po jedan slog (film) iz tablice u svakom retku, te tipke za editiranje, dodavanje i brisanje filmova Klase Modela Opis Svojstva Tipovi podataka Film Klasa za filmove IDFilma (šifra filma) Naslov (naslov filma) DatumIzd (datum izdavanja) Zanr (žanr filma) Cijena (cijena) Cijeli broj (int) Tekst (String) Datum(DateTime) Tekst (String) Decimalni broj (Decimal)

Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

  • Upload
    vuphuc

  • View
    245

  • Download
    7

Embed Size (px)

Citation preview

Page 1: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

Razvoj poslovnih aplikacija, EFO

2. Kolokvij – pitanja

Kolokvij će se sastojati od 12 pitanja, od toga će biti:

5 pitanja s ponuđenim odgovorima (svako pitanje po 2 boda, ukupno 10 bodova)

5 pitanja u kojima treba napisati kraći odgovor (svako pitanje po 4 boda, ukupno 20 bodova)

2 pitanja iz vježbi u kojima treba napisati malo više naredbi programskog koda (svako pitanje

po 10 bodova, ukupno 20 bodova)

Sveukupno: 50 bodova na kolokviju

Nastavnik će koristiti neka od navedenih pitanja, s tim što može promijeniti nazive varijabli,

svojstava, klasa i dr., njihove vrijednosti, i preformulirati pitanje u drugi oblik.

Primjeri pitanja:

Poglavlje 4 – MVC web aplikacije

1. Koje su prednosti upotrebe MVC aplikacija (mogu bit navedene prednosti i među njima

uljez, ili pitanje – Što od navedenog nije prednost upotrebe MVC aplikacija)?

2. Ako za neku MVC web aplikaciju želite voditi podatke o autima, i to sljedeće: SifraAuta,

NazivAuta, CijenaAuta, kako biste u tablici naveli opis Modela aplikacije?

3. Ako za neka MVC web aplikaciju treba omogućiti ove aktivnosti: prikaz, unos, editiranje, te

brisanje automobila iz baze, kako biste napravili u tablici opis Kontrolera aplikacije?

4. Ako je za neku aplikaciju dan sljedeći opis Modela u tablici:

- Koliko će se klasa kreirati u aplikaciji i koje?

- Koliko će se svojstava kreirati u aplikaciji i za koje klase?

- Ako biste htjeli u aplikaciju dodati još jednu klasu Prodaja koja bi sadržavala podatke o

prodaji filmova, i to: BrojRacuna, DatumRacuna, IDFilma, Kolicina, kako biste nadopunili

prethodnu tablicu?

5. Ako je za neku aplikaciju dan sljedeći opis Pogleda u tablici:

Kontroler Pogled Opis

MovieController Index Prikazat će sve filmove u bazi u obliku tablice tako da je na vrhu upisano zaglavlje tablice, a zatim po jedan slog (film) iz tablice u svakom retku, te tipke za editiranje, dodavanje i brisanje filmova

Klase Modela Opis Svojstva Tipovi podataka

Film Klasa za filmove IDFilma (šifra filma) Naslov (naslov filma) DatumIzd (datum izdavanja) Zanr (žanr filma) Cijena (cijena)

Cijeli broj (int) Tekst (String) Datum(DateTime) Tekst (String) Decimalni broj (Decimal)

Page 2: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

Details Omogućit će prikaz detaljnijih informacija o svakom filmu

Create Forma za unos novog filma

Edit Omogućava editiranje sloga za jedan film i spremanje izmjena u bazu

- Koliko će se pogleda kreirati u aplikaciji?

- Kojem kontroleru pripadaju navedeni pogledi?

- Koji pogled će prikazati obrazac (formu) za unos novog filma?

- Koji pogled će prikazati informacije samo o jednom izabranom filmu?

6. Što sve uključuje postupak debugiranja aplikacije?

7. Ako u novoj MVC aplikaciji kreirate (dodate) jedan novi model pod nazivom Auto, što od

navedenog će biti automatski upisano u datoteku Auto.cs? (bit će navedene opcije)

8. Ako u novoj MVC aplikaciji kreirate (dodate) jedan novi model pod nazivom Auto, kako će

se zvati datoteka u kojoj se nalazi taj model?

9. Ako u novoj MVC aplikaciji kreirate (dodate) jedan novi model pod nazivom Movie, što se

od programera očekuje da upiše u klasu Movie (vidi Sliku prazne klase). Mogući odgovori:

deklaraciju svojstava, deklaraciju metoda za unos novog filma, brisanje i editiranje,

poglede za prikaz auta iz baze ili dr.?

namespace Auto.Models public class Auto { }

10.

11. Ako u model klase Movie upišete sljedeći kod, što će on napraviti:

public class MovieDBContext : DbContext

{

public DbSet<Movie> Movies { get; set; }

}

Page 3: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

12. Gdje (u kojoj datoteci) aplikacije se nalazi naredba ConnectionString?

13. Za što služi naredba ConnectionString?

14. Koji nastavak (ekstenziju) ima sama baza podataka ako se koristi SQL server baza?

15. Koji je postupak za dodavanje novog modela u aplikaciji?

16. Koji je postupak za dodavanje novog kontrolera u aplikaciji?

17. Ako se kod dodavanja novog kontrolera upišu podaci kao na slici, što će se automatski

kreirati:

18. Ako se u kontroler aplikacije MVCMovie upiše ova naredba, što će ona napraviti:

public ActionResult Index()

{

return View(db.Movies.ToList());

}

19. Kako se podaci mogu prosljeđivati iz kontrolera u poglede (dva načina)?

20. Što omogućuje naredba: @model MvcMovie.Models.Movie ?

Poglavlje 5 – Rad s bazom podataka

21. Kakav je to ravni model datoteka (flat files)?

22. Kako su podaci organizirani kod relacijskog modela podataka?

23. Koje su karakteristike ravnog modela datoteka (znati nabrojati, ali i prepoznati ako je

naveden neki od uljeza u ponuđenim karakteristikama)?

24. Koje su karakteristike relacijskog modela podataka (znati nabrojati, ali i prepoznati ako je

naveden neki od uljeza u ponuđenim karakteristikama)?

Page 4: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

25. Ako je naveden primjer tablica u relacijskom modelu podataka kao na slici, što su polja u

tablicama, putem kojeg polja su povezane Tablica 1 i Tablica 3, putem kojeg polja su

povezane Tablica 2 i Tablica 3, kakvog su tipa veze između tablica?

Page 5: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

26. Što je normalizacija kod relacijskog modela podataka?

27. Što je referencijalni integritet?

28. Što čini dizajn neke tablice u relacijskoj bazi?

29. Koje su razlike između file-sever i klijent-server baze?

30. Koje su prednosti SQL Server baze?

31. Koji su nedostaci SQL Server baze?

32. Koju ekstenziju (nastavak) ima neka datoteka koja predstavlja SQL server bazu podataka?

33. Navedite i kratko opišite (u jednoj rečenici) dva načina na koja C# Express razvojna okolina

omogućava rad s bazom podataka?

34. Kako se zove glavni alat za rukovanje bazom podataka iz C# Express razvojnog alata

(odnosno neke Visual Studio aplikacije)?

35. Što sve omogućuje Database Explorer? 36. Što je ADO .NET? 37. Koji imenski prostor (namespace) mora biti omogućen u Visual Studio aplikaciji ako se

koristi baza SQL Server za web aplikacije i Entity Framework kao skup klasa za manipulaciju s podacima iz aplikacije?

38. Koji imenski prostor (namespace) mora biti omogućen u Visual Studio aplikaciji ako se koristi baza SQL Server za web aplikacije i LINQ kao skup klasa za rad s upitima na bazi, tada se upotrebljava ovaj prostor?

39. Što je Using System.Data; ? 40. Koja mapa u prozoru Solution Explorer treba biti vidljiva da bismo mogli dobiti uvid u naziv

baze i same podatke u tablicama baze podataka aplikacije? 41. Ako je prozoru Database Explorer vidljivo sve kao na slici:

- Što se dobije klikom na Movies (u mapi Tables) te na desnu tipku miša i naredbu „Show

Table Data“? - Što se dobije klikom na Movies (u mapi Tables) te na desnu tipku miša i naredbu „Open

Table Definition“?

Page 6: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

42. Koji je glavni zadatak Entity Framework-a ili što omogućava Entity Framework? 43. Ako se u nekoj klasi pod nazivom Graf nalazi naredba:

Public virtual ICollection<Novost> Novosts {get; set;} što će ona napraviti?

44. Ako se u nekoj klasi pod nazivom Novost nalazi naredba: Public virtual Graf Graf {get; set;} što će ona napraviti?

45. Kako se u C#-u zove klasa koja predstavlja kontekst baze podataka? 46. Ako je u C# upisana naredba: public class OnlineVrijednosniceContext: DbContext

iz koje je klase izvedena koja klasa, tj. koja klasa koju nasljeđuje? 47. Ako je u C# upisana sljedeća naredba:

public OnlineVrijednosniceContext() : base("OnlineVrijednosniceDb") koji naziv baze treba biti upisan u <ConnectionString> naredbu?

48. Ako je u nekoj C# aplikaciji u narebi <connectionstring> upisana sljedeća naredba, koji je naziv same baze podataka (datoteke u kojoj su podaci za aplikaciju)? <add name="MovieDb" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MovieDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MovieDb.mdf" providerName="System.Data.SqlClient" />

49. Što je LINQ (puni naziv kratice i značenje)? 50. Što je SQL jezik (puni naziv kratice i značenje)? 51. Što radi naredba SELECT u SQL jeziku? 52. Što radi naredba FROM u SQL jeziku? 53. Što radi naredba WHERE u SQL jeziku? 54. Što će napraviti SQL naredba:

SELECT * FROM Novost WHERE Title=“Nova vijest“ 55. Što će napraviti SQL naredba:

SELECT Title FROM Novost WHERE Title=“Nova vijest“ 56. Koja su tri glavna koraka u upotrebi upita kod baza podataka? 57. Navedite opći oblik jednostavnog LINQ upita upitnom sintaksom. 58. Što će napraviti ove naredbe: var comments = from c in db.Novosts where c.GrafID == PhotoId select c;

59. Koji je način upita prikazan u pitanju 57 – upitni ili metodni? 60. Što je LINQ to Entity, tj. u što se u pozadini pretvara LINQ upit prilikom izvršavanja?

Poglavlje 6 – HTML i CSS

61. Koji dio MVC aplikacije koristi HTML i CSS?

62. Što je HTML (puni naziv kratice i opis)?

63. Što je u donjoj HTML naredbi ključna riječ (tag) HTML-a, što je atribut, a što je vrijednost

atributa:

<table border=“1“ >

64. Napišite naredbe za primjer minimalnog HTML dokumenta koji sadrži zaglavlje (i u njemu

naslov stranice), tijelo stranice (i u njemu jednu rečenicu teksta).

65. Napišite HTML naredbu kojom ćete tekst „Dobro jutro“ napisati fontom Arial, veličine 12, i

to podebljano (bold).

Page 7: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

66. Što će biti rezultat ovih HTML naredbi:

Moji hobiji:

<ol> <li>čitanje <li>nogomet <li>izlasci </ol>

67. Što će biti rezultat ovih HTML naredbi:

Moji hobiji:

<ul> <li>čitanje <li>nogomet <li>izlasci </ul>

68. Što će napraviti HTML naredba: <IMG SRC="slika1.gif" WIDTH=90 HEIGHT=62 alt=“opis_slike”>

69. Što će napraviti HTML naredba: <a href=http://www.youtube.com>Youtube</a>

70. Na što vodi poveznica (link) u ovoj naredbi:

<a href=“naziv_dokumenta.html#dio_dokumenta”> link na koji kliknemo</a> (da li na vanjsku adresu na webu, na dokument na istom poslužitelju i u mapi u kojoj se

nalazimo, dokument na istom poslužitelju ali u različitoj mapi, na dio dokumenta na

istom poslužitelju i u istoj mapi)?

71. Što će biti rezultat HTML naredbi:

<table> <tr><td> ovdje tekst prvog retka....</td></tr> <tr><td> ovdje tekst drugog retka....</td></tr> </table>

72. Što će napraviti HTML naredbe:

<div align=left"> <p> Ovdje moj logo </p> </div> <div align=center"> <p> Ovdje naslov stranice </p> </div>

73. Napišite HTML naredbe za opći oblik nekog obrasca (forme) u dokumentu?

74. Što će napraviti ove HTML naredbe:

<INPUT TYPE=SUBMIT VALUE="Šalji obrazac!" ACTION=“salji.asp“><BR> <INPUT TYPE=RESET VALUE="Briši"><P>

75. Napišite HTML naredbu koja će kreirati novi odjeljak (paragraf) koji će biti poravnat po

lijevoj margini, i u njemu će podebljanim slovima pisati „Dobrodošli u moju web

aplikaciju.“

Page 8: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

76. Koja su pravila postavljena za HTML 5 od strane W3C organizacije?

77. Za što služi <canvas> element u HTML 5?

78. U kojoj mapi i u kojoj datoteci unutar MVC web aplikacije u Visual Studio alatu se nalazi

glavni predložak za poglede u aplikaciji?

79. Što će u nekom od pogleda u MVC aplikaciji napraviti naredba: @model MVCMovie.Models.Movie?

80. Što će napraviti metoda Html.BeginForm() u nekom od pogleda u MVC aplikaciji?

81. Što započinje naredbom <fieldset> u nekom od pogleda u MVC aplikaciji?

82. Što će napraviti ova naredba u nekom pogledu MVC aplikacije:

@Html.EditorFor(model => model.Title)

83. Što će napraviti ova naredba u nekom pogledu MVC aplikacije:

@Html.LabelFor(model => model.Title)

84. Što će napraviti ova naredba u nekom pogledu MVC aplikacije:

@Html.ValidationMessageFor(model => model.Title)

85. Što će napraviti ova naredba u nekom pogledu MVC aplikacije: @Html.ActionLink("Back to List", "Index")

86. Za što se sve mogu koristiti META tagovi u HTML dokumentu (nabrojite barem 3 svrhe)

87. Što je CSS (puni naziv kratice i opis)?

88. Što se definira CSS-om?

89. Na koja tri načina se mogu definirati CSS stilovi?

90. Koji je opći oblik pisanja CSS naredbe?

91. Što će napraviti ove CSS naredbe:

font.naslov { text-align: center; color: black; font-family: arial; font-size: 12px; }

92. Napišite CSS naredbu kojom ćete definirati da se slova tipa h1 i h2 prikazuju crvenom

bojom.

93. Napišite CSS naredbu kojom ćete definirati da se svaki paragraf prikazuje poravnat po

lijevoj margini.

94. Ako u HTMl dokumentu napišemo ove naredbe, što one podrazumijevaju (jedan od

ponuđenih odgovora je točan):

<font class=“naslov"> Ovaj naslov će biti veličine 18 piksela, podebljan. </font>

- Da postoji .css datoteka u kojoj je definirana klasa slova „naslov“? - Da postoji .css datoteka u kojoj je definirana klasa slova „font“? - Da postoji .css datoteka u kojoj je definirana klasa slova „class“?

95. Što će napraviti ove CSS naredbe:

p#intro {

Page 9: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

font-size:110%; font-weight:bold; color:#0000ff; text-align:right }

96. Ako je u CSS datoteci navedena definicija paragrafa p#intro kao u gornjem zadatku, kako

ćete u HTML dokumentu prikazati takav paragraf (kojom naredbom)?

97. Napišite jednu liniju komentara u CSS-u?

98. Što radi naredba: @Styles.Render("~/Content/css")? 99. U kojoj mapi MVC aplikacije se nalazi datoteka u kojoj je definiran stilski uzorak (.css)?

100. Navedite barem 4 pseudo klase u CSS-u?

101. Ako je u CSS upisana naredba: a:visited {color: blue} , što će ona napraviti?

Zadaci iz vježbi:

102. Napišite metodu koja pokušava dohvatiti jednu sliku iz baze podataka putem

parametra PhotoId, zatim je vratiti korisniku ako postoji, a ako ne postoji treba vratiti null

?

// U OnlineVrijednosniceContext-u se nalaze DbSet svojstva naziva Grafs i Novosts private OnlineVrijednosniceContext db = new OnlineVrijednosniceContext(); // Ova metoda dohvaca graf file za pruzeni Id slike(grafa) public FileContentResult GetImage(int PhotoId) { }

Napišite metodu pomoću koje registrirani/logirani korisnici mogu obrisati objekt Graf iz baze

podataka putem dobivenog parametra id. Nakon uspješnog brisanja metoda treba učitati Index

view.

Page 10: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

// U OnlineVrijednosniceContext-u se nalaze DbSet svojstva naziva Grafs i Novosts private OnlineVrijednosniceContext db = new OnlineVrijednosniceContext();

// // POST: /Graf/Delete/5 public ActionResult DeleteConfirmed(int id) { }

103. Napišite metodu koja dodaje predani parametar PhotoID tipa int objekta Graf u

favorite u trenutnoj sesiji Favorites registriranog/logiranog korisnika. Metoda treba vratiti

poruku da je Graf uspješno dodan u favorite.

public ContentResult AddFavorite(int PhotoID) { }

104. Napišite 2 LINQ upita:

Prvi koji dohvaća 3 objekta Graf silazno poredanih (primjer: od 30.11.2013. do 1.11.2013.)

po svojstvu DatumKreiranja.

Drugi koji dohvaća objekte Novost gdje je svojstvo GrafID objekta Novost jednako

pruženom parametru PhotoId.

Možete koristiti Query ili metodnu sintaksu za LINQ upite.

Page 11: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

// U OnlineVrijednosniceContext-u se nalaze DbSet svojstva naziva Grafs i Novosts private OnlineVrijednosniceContext db = new OnlineVrijednosniceContext();

List<Graf> grafs =

var comments =

105. U između tagova h2 trebate prikazati svojstvo naslov Modela Graf te u div-u s klasom photo-

display prikazati svojstvo GrafDatoteka kao sliku, ako to svojstvo nije NULL, pomoću metode

GetImage (nalazi se u GrafController-u) predajući joj svojstvo GrafID kao parametar.

@model OnlineVrijednosnice.Models.Graf <h2> </h2> <div class="photo-display"> </div>

106. Dovršite PartialView _AddANovost.cshtml za Model Novost, tako da _AddANovost.cshtml

nakon dovršetka izgleda ovako:

PartialView _AddANovost.cshtml:

Page 12: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

@model OnlineVrijednosnice.Models.Novost @Html.ValidationSummary(true) <div class="add-comment-tool"> <div> <span class="comment-editor-label"> </span> <span class="comment-editor-field"> </span> </div> <div> <span class="comment-editor-label"> </span> <span class="comment-editor-field"> </span> </div> <p> <input type="submit" value="Create" /> </p> </div>

107. U zadatku je već započeta izrada pogleda „CreateView“ koji će omogućiti unos podataka o

filmovima. Prepostavite da korisnik treba u obrascu unijeti podatke o naslovu filma (Title) i cijeni

filma (Price). Napišite (na mjestu označenom s „.... „ dio koda koji nedostaje da bi se prikazala oznaka

i polje za unos cijene filma.

@model MVCMovie.Models.Movie @{ ViewBag.Title = "Create"; } <h2>Create</h2> @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Movie</legend> <div class="editor-label"> @Html.LabelFor(model => model.Title) </div> <div class="editor-field"> @Html.EditorFor(model => model.Title) @Html.ValidationMessageFor(model => model.Title) </div>

Page 13: Razvoj poslovnih aplikacija, EFO 2. Kolokvij – pitanja

........... ovdje napisati kod

<p> <input type="submit" value="Create" /> </p> </fieldset> } <div> @Html.ActionLink("Back to List", "Index") </div> @section Scripts { @Scripts.Render("~/bundles/jqueryval") }