Upload
-
View
274
Download
0
Embed Size (px)
Citation preview
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
1/32
UNIVERZITET U KRAGUJEVCUFakultet tehnikih nauka
Objektno orijentisana analia!"iajn a ira"ua#lika$ije na #ri%eru turistike a&en$ije
're"%et( Objektno!orijentisano #ro&ra%iranje
)tu"enti( 'ro*esor(Jo+an )toji, -./-010 "r Vla"e Uro2e+i,Ana 'etro+i, 3/-010 Asistent(
%r Vanja 4uko+i,
Fakultet tehnikih nauka 5aak -017
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
2/32
Sadraj
Sadraj....................................................................................................................21. Opis sistema.......................................................................................................32. Uesnici (Actors) i sluajevi koriena (Use !ase)............................................"................................................................................................................................#3. $ija%ram aktivnosti (Activit& dia%ram).................................................................'$ija%rami aktivnosti slue a modelovanje dinamiki aspekata sistema.............'$ija%rami aktivnosti su korisni pri analii sluajeva upotre*e opisujui kojeaktivnosti tre*a da se uine.$ija%rami aktivnosti su dija%rami koji opisuju tokovedo%a+aja.,a%lasak je na aktivnostima o*jekata....................................................'". $ija%ram klasa (!lass $ia%ram).........................................................................-#. $ija%ram Sekvenci (Seuence $ia%ram).........................................................1/
0. raiki korisniki interejs i kod aplikacije........................................................120.1 ompletan kod.........................................................................................2#
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
3/32
O*jektno4orijentisano pro%ramiranje
1. Opis sistema
9a bi se una#re"ilo #oslo+anje Turistike a&en$ije6 i jo2 +i2e se #ribli:iloklijenti%a6 neo#ho"no je na#ra+iti o"&o+araju,i In*or%a$ioni siste%8)#e$i*ika$ija ahte+a korisnika6 o"nosno ahte+i koje bu"u,i siste% traba "a
a"o+olji6 #re"sta+lja bitan #re"uslo+ a us#e2no "alje #rojekto+anje ii%#le%enta$iju siste%a8
Turistika a&en$ija nu"i turisti%a 2irok ibor #uto+anja "o%a,ih i stranih loka$ija8Turisti%a je o%o&u,eno reer+isanje i ku#o+ina aran%ana "irektno u lokali%aturisti$ke a&en$ije ili #reko interneta8 U oba sluaja turisti%a je o%o&u,en #re&le"katalo&a sa "estina$ija%a sa #o"a$i%a o s%e2taju6 "u:ini #uto+anja i $eno%8Ukoliko se turist o"lui a neki o" aran%ana #ro+era+a se "a li su reer+a$ijeisto& #o#unjene i ako nisu skla#a se u&o+or8 U&o+or se on"a unosi u bau
#o"ataka &"e se stanje aran%ana sa"a +o"i kao reer+isano na osno+u koje& se ubu"u,e %o:e #ro+eriti "a li je aran:%an slobo"an ili nije8
9akle6 s#e$i*ika$ija I) treba "a #rika:e 2ta bu"u,i in*or%a$ioni siste% treba"a ra"i8 Veo%a je bitno o"%ah ista,i "a s#e$i*ika$ija I) #rikauje 2ta I) treba "a"a6 a ne i kako to treba "a ost+ari8
5akultet teniki nauka 3
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
4/32
O*jektno4orijentisano pro%ramiranje
2. Uesnici (Actors) i sluajevi koriena (Use Case)
Korisnike *unk$ije slu:e "a se #rika:e :eljeno #ona2anje siste%a koji sera+ija6 i ne %ora "a se na+e"e kako se *unk$ije realiuju8)lu:e as#orau%e+anje #rojektanata i krajnjih korisnika siste%a8Korisnika *unk$ija
#re"sta+lja o#is nia ak$ija6 ukljuuju,i i +arija$ije6 koji siste% i+o"i8Korisnika *unk$ija se &ra*iki #re"sta+lja eli#so%8 Ona u+ek i%a i%e koje seu#isuje u eli#su8Korisnike *unk$ije se ko%binuju sa akteri%a ;i+o
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
5/32
O*jektno4orijentisano pro%ramiranje
Slika 1: Use Case dijagram sistema za menadment turistike agencije
Use Case1:9olaak u a&en$ijuAkter:TuristPreduslovi:Turist je aintereso+an a #uto+anjeOpis: Turist "olai u a&en$iju "a bi o"abrao interesantnu #onu"u
Izuzeci:A&en$ija trenutno ne #oslujePosledice:Turist je na2ao interesantnu #onu"u
Use Case2:'ristu#anje sajtuAkter:TuristPreduslovi:Turist :eli "a #utujeOpis: Turist #ristu#a internet sajtu o"&o+araju,e turistike a&en$ije s $ilje% "a
#rona
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
6/32
O*jektno4orijentisano pro%ramiranje
Izuzeci:A&en$ija trenutno ne #oslujePosledice:Turist je na2ao interesantnu #onu"u
Use Case4:'re&le" elektrosko& katalo&a
Akter:TuristPreduslovi:Turist :eli "a #utujeOpis: Turist #ristu#a >eb strani$i;sajtu= turistike a&en$ija "a bi #re&le"aokatalo& #onu"a i o"abrao o"&o+araju,i ani%lji+ aran:%anIzuzeci:'a" >eb ser+era turistike a&en$ije6 i ne %o&u,nost #ristu#a isto%Posledice:Turist je na2ao a nje&a ani%lji+u #onu"u
Use Case5:'ro+era reer+a$ije #reko sajtaAkter:Turist6A"%inistrator bae #o"ataka
Preduslovi:Turist je o"abrao i reer+isao #onu"uOpis: Turist #ristu#a sajtu turistike a&en$ije i o" a"%inistratora bae #o"atakaturistike a&en$ije ahte+a #ro+eru reer+a$ije8A"%inistrator %u 2alje #o+ratnu
#oruku o #ot+r"i reer+a$ijeIzuzeci:'roble%i sa internet #ristu#o% sajtu turistike a&en$ijePosledice:Turist #ot#isuje u&o+or sa a&en$ijo%
Use Case:'ot#isi+anje u&o+ora #reko sajtaAkter:Turist6A"%inistrator bae #o"atakaPreduslovi:Turist je o"abrao #onu"uOpis: Turist #ristu#a sajtu turistike a&en$ije i o" a"%inistratora bae #o"atakaturistike a&en$ije ahte+a "a %u #o2alje u&o+or "a bi &a #ot#isaoIzuzeci:'roble%i sa internet #ristu#o% sajtu turistike a&en$ijePosledice:Turist o"lai na #uto+anje
Use Case!:Zahte+ a #ro+eru reer+a$ijeAkter:Turist6Ra"nik turistike a&en$ijePreduslovi:Turist je o"abrao i reer+isao #onu"uOpis: Turist "olai u turistiku a&en$iju i o" ra"nika;slu:benika= turistikea&en$ije ahte+a "a #ro+eri nje&o+u reer+a$iju
Izuzeci:A&en$ija trenutno ne #oslujePosledice:Turist #ot#isuje u&o+or o #uto+anju sa a&en$ijo%
Use Case":U&o+orAkter:Turist6Ra"nik turistike a&en$ijePreduslovi:Turist je o"abrao i reer+isao #onu"u
5akultet teniki nauka 0
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
7/32
O*jektno4orijentisano pro%ramiranje
Opis: Turist "olai u turistiku a&en$iju i o" ra"nika;slu:benika= turistikea&en$ije ahte+a "a %u "onese u&o+or ra"i #ot#isi+anja isto&Izuzeci:Ne%a "o+oljno #utnika6 u&o+or se raski"aPosledice:Turist o"lai na :eljeno #uto+anje
Use Case#:'ro+era reer+a$ijeAkter:A"%inistrator bae #o"ataka6 Ra"nik turistike a&en$ijePreduslovi:Turist je o"abrao i reer+isao #onu"uOpis: Nakon 2to turista "o
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
8/32
O*jektno4orijentisano pro%ramiranje
Slika 2: Dijagram aktivnosti za proces rezervacije aranzmana
Na sli$i 7 #rikaan je "ija&ra% stanja siste%a a %ena":%ent turistike a&en$ije8
5akultet teniki nauka 6
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
9/32
O*jektno4orijentisano pro%ramiranje
Slika 3: Dijagram stanja sistema za menadment turisticke agencije
#. Dijaram klasa (Class Diaram)
5akultet teniki nauka -
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
10/32
O*jektno4orijentisano pro%ramiranje
Naj+a:nija i naje2,a +rsta U@4 "ija&ra%a su "ija&ra%i klasa8Osno+niele%enti "ija&ra%a klasa su neo#ho"ni s+i%a oni%a koji se ba+e +iuelni%%o"elo+anje%6 "ok se na#re"niji ele%enti tih "ija&ra%a re
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
11/32
O*jektno4orijentisano pro%ramiranje
9ija&ra%i sek+en$i s#a"aju u &ru#u interak$ionih "ija&ra%a koji slu:e ao#is "ina%iko& as#ekta %o"ela8'ore" sek+en$ijalnih6 u o+u &ru#u "ija&ra%a s#a"aju i kolabora$ioni "ija&ra%i8O+i "ija&ra%i su se%antiki je"naki i %o&u,e je +r2iti %e
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
12/32
O*jektno4orijentisano pro%ramiranje
Slika !: Sekvencijalni dijagram za naruivanje putem interneta
'. raiki korisniki interejs i ko" aplikacije
5akultet teniki nauka 12
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
13/32
O*jektno4orijentisano pro%ramiranje
Slika ": Unos ponude u turistikoj agenciji
privatevoidbutton1_Click(objectsender, EventArgse)
{
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = ./0!E* /0*O ponude (id, 'esto, 2otel, br_dana, cena,br_osoba) 3A45E! (."$%/& tabele kontakt itaju se podaci i& kolone i'e%$
{ni&6ik7 = newonuda()"ni&6ik7#/ = Convert#*o/nt18(tet9o1#*et)"c'd#Co''and*et := .;.: ni&6ik7#/ : .;,."ni&6ik7#otel = tet9o1?#*et"c'd#Co''and*et := .;.: ni&6ik7#>otel : .;,."
ni&6ik7#9roj_dana = Convert#*o/nt18(tet9o1@#*et)"
c'd#Co''and*et := .;.: ni&6ik7#9roj_dana : .;,."
i(radio9utton1#C2ecked == true){ni&6ik7#9roj = Convert#*o/ntB(radio9utton1#*et)"
5akultet teniki nauka 13
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
14/32
O*jektno4orijentisano pro%ramiranje
elsei(radio9utton#C2ecked == true){ni&6ik7#9roj = Convert#*o/ntB(radio9utton#*et)"elsei(radio9uttonB#C2ecked == true){
ni&6ik7#9roj = Convert#*o/ntB(radio9uttonB#*et)"elsei(radio9uttonD#C2ecked == true){ni&6ik7#9roj = Convert#*o/ntB(radio9uttonD#*et)"
ni&6ik7#Cena = Convert#*oouble(tet9oB#*et)"c'd#Co''and*et := .;.: ni&6ik7#Cena : .;,."c'd#Co''and*et := .;.: ni&6ik7#9roj : .;."c'd#Co''and*et := .)."c'd#Eecuteeader()"
ik::"
Slika #: Spisak ponuda u $azi podataka i ispis odgovaraju%i& ponuda
privatevoidbutton_Click(objectsender, EventArgse){list9o1#/te's#Clear()"
5akultet teniki nauka 1"
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
15/32
O*jektno4orijentisano pro%ramiranje
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< ponude."
dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9o1#/te's#Add(./ ponudeI .: dr#Jet3alue(K))"list9o1#/te's#Add(.EE br_osoba = .: br_osoba : .A0 cena N .: cena : .."$%/& tabele kontakt itaju se podaci i& kolonei'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9o#/te's#Add(./ ponudeI .: dr#Jet3alue(K))"list9o#/te's#Add(.
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
16/32
O*jektno4orijentisano pro%ramiranje
list9o#/te's#Add(.>otelI .: dr#Jet3alue())"list9o#/te's#Add(.9r danaI .: dr#Jet3alue(B))"list9o#/te's#Add(.CenaI .: dr#Jet3alue(D))"list9o#/te's#Add(.9r osobaI .: dr#Jet3alue(L))"list9o#/te's#Add(..)"
Slika ': Unos podataka o &otelima sa kojima agencija sara(uje
privatevoidbuttonD_Click_1(objectsender, EventArgse){
intbr_&ve&dica"conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = ./0!E* /0*O 2oteli (/, na&iv, grad, adresa,br_&ve&dica) 3A45E! (."$%/& tabele kontakt itaju se podaci i& kolone i'e%$
ni&>t6ik7 = new>otel()"ni&>t6ik7#/d_2otela = Convert#*o/ntB(tet9oL#*et)"c'd#Co''and*et := .;.: ni&>t6ik7#/d_2otela : .;,."
5akultet teniki nauka 10
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
17/32
O*jektno4orijentisano pro%ramiranje
ni&>t6ik7#na&iv = tet9o8#*et"c'd#Co''and*et := .;.: ni&>t6ik7#na&iv : .;,."ni&>t6ik7#grad = tet9oK#*et"c'd#Co''and*et := .;.: ni&>t6ik7#grad : .;,."ni&>t6ik7#adresa = tet9o1#*et"c'd#Co''and*et := .;.: ni&>t6ik7#adresa : .;,."
i(radio9utton#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton#*et)"elsei(radio9utton1K#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton1K#*et)"elsei(radio9utton11#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton11#*et)"elsei(radio9utton1#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton1#*et)"elsei(radio9utton1B#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton1B#*et)"
br_&ve&dica = ni&>t6ik7#br&v"
c'd#Co''and*et := .;.: br_&ve&dica : .;."c'd#Co''and*et := .)."
c'd#Eecuteeader()"
ik::"
5akultet teniki nauka 1'
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
18/32
O*jektno4orijentisano pro%ramiranje
Slika 1): Spisak &otela i prikazivanje &otela sa odre(enim $rojem zvevdica
privatevoidbutton_Click(objectsender, EventArgse){list9oL#/te's#Clear()"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< 2oteli."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9oL#/te's#Add(./ 2otelaI .: dr#Jet3alue(K))"list9oL#/te's#Add(.0a&ivI .: dr#Jet3alue(1))"list9oL#/te's#Add(.JradI .: dr#Jet3alue())"
list9oL#/te's#Add(.AdresaI .: dr#Jet3alue(B))"list9oL#/te's#Add(.9r &ve&dicaI .: dr#Jet3alue(D))"list9oL#/te's#Add(..)"
privatevoidbutton1K_Click(objectsender, EventArgse){list9o8#/te's#Clear()"intbr_&ve&dica = K"
5akultet teniki nauka 16
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
19/32
O*jektno4orijentisano pro%ramiranje
i(radio9utton1D#C2ecked == true)br_&ve&dica = 1"
i(radio9utton1L#C2ecked == true)br_&ve&dica = "
i(radio9utton18#C2ecked == true)br_&ve&dica = B"
i(radio9utton1?#C2ecked == true)br_&ve&dica = D"
i(radio9utton1@#C2ecked == true)br_&ve&dica = L"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< 2oteli M>EE br_&ve&dica = .: br_&ve&dica: .."$%/& tabele kontakt itaju se podaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9o8#/te's#Add(./ 2otelaI .: dr#Jet3alue(K))"list9o8#/te's#Add(.0a&ivI .: dr#Jet3alue(1))"list9o8#/te's#Add(.JradI .: dr#Jet3alue())"list9o8#/te's#Add(.AdresaI .: dr#Jet3alue(B))"list9o8#/te's#Add(.9r &ve&dicaI .: dr#Jet3alue(D))"list9o8#/te's#Add(..)"
5akultet teniki nauka 1-
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
20/32
O*jektno4orijentisano pro%ramiranje
Slika 11: Unos radnika u $azu podataka
privatevoidbuttonL_Click(objectsender, EventArgse){
conn = newOlebConnection(conn!tring)"conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = ./0!E* /0*O radnici (sira_radnika, radno_'esto, i'e,pre&i'e, adresa, broj_teleona) 3A45E! (."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$$$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
$$w2ile (dr#ead())$% Hita jedan po jedna red %$$${$$ list9o1#/te's#Add(dr#Jet3alue(K))"$%4ist9o kontrola se popunjava saproitani' vrednosti'a koristeGi 'etodu Jet3alue()%$
$$
{ni&ad6ik7 = newadnik()"ni&ad6ik7#siraadnika = Convert#*o/ntB(tet9o?#*et)"c'd#Co''and*et := .;.: ni&ad6ik7#siraadnika : .;,."ni&ad6ik7#radno_'esto = tet9o1#*et"c'd#Co''and*et := .;.: ni&ad6ik7#radno_'esto : .;,."ni&ad6ik7#i'e = tet9o@#*et"c'd#Co''and*et := .;.: ni&ad6ik7#i'e : .;,."
5akultet teniki nauka 2/
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
21/32
O*jektno4orijentisano pro%ramiranje
ni&ad6ik7#pre&i'e = tet9o#*et"c'd#Co''and*et := .;.: ni&ad6ik7#pre&i'e : .;,."ni&ad6ik7#adresa = tet9o1K#*et"c'd#Co''and*et := .;.: ni&ad6ik7#adresa : .;,."ni&ad6ik7#broj_teleona = Convert#*oouble(tet9o11#*et)"c'd#Co''and*et := .;.: ni&ad6ik7#broj_teleona : .;."c'd#Co''and*et := .)."
c'd#Eecuteeader()"ik::"
Slika 12: *rikaz svi& zaposleni&
privatevoidbutton8_Click(objectsender, EventArgse){list9oB#/te's#Clear()"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< radnici."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
5akultet teniki nauka 21
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
22/32
O*jektno4orijentisano pro%ramiranje
w2ile(dr#ead())$%Hita jedan po jedna red%${list9oB#/te's#Add(.Pira radnikaI .: dr#Jet3alue(K))"list9oB#/te's#Add(.adno 'estoI .: dr#Jet3alue(1))"list9oB#/te's#Add(./'eI .: dr#Jet3alue())"list9oB#/te's#Add(.re&i'eI .: dr#Jet3alue(B))"
list9oB#/te's#Add(.AdresaI .: dr#Jet3alue(D))"list9oB#/te's#Add(.9roj teleonaI .: dr#Jet3alue(L))"list9oB#/te's#Add(..)"
Slika 13: Unos podataka o turisti
privatevoidbutton?_Click(objectsender, EventArgse){conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = ./0!E* /0*O turisti (/_turiste, i'e, pre&i'e, adresa,br_teleona) 3A45E! (."$%/& tabele kontakt itaju se podaci i& kolone i'e%$
5akultet teniki nauka 22
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
23/32
O*jektno4orijentisano pro%ramiranje
$$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
$$w2ile (dr#ead())$% Hita jedan po jedna red %$$${$$ list9o1#/te's#Add(dr#Jet3alue(K))"$%4ist9o kontrola se popunjava saproitani' vrednosti'a koristeGi 'etodu Jet3alue()%$$$
{ni&*r6ik7 = new*urista()"ni&*r6ik7#id_turiste = Convert#*o/ntB(tet9o18#*et)"c'd#Co''and*et := .;.: ni&*r6ik7#id_turiste : .;,."ni&*r6ik7#i'e = tet9o1#*et"c'd#Co''and*et := .;.: ni&*r6ik7#i'e : .;,."ni&*r6ik7#pre&i'e = tet9o1B#*et"c'd#Co''and*et := .;.: ni&*r6ik7#pre&i'e : .;,."ni&*r6ik7#adresa = tet9o1D#*et"c'd#Co''and*et := .;.: ni&*r6ik7#adresa : .;,."ni&*r6ik7#teleon = Convert#*oouble(tet9o1L#*et)"c'd#Co''and*et := .;.: ni&*r6ik7#teleon : .;."c'd#Co''and*et := .)."c'd#Eecuteeader()"ik::"
5akultet teniki nauka 23
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
24/32
O*jektno4orijentisano pro%ramiranje
Slika 14: *rikaz podataka o turistima
privatevoidbutton@_Click(objectsender, EventArgse){list9oD#/te's#Clear()"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< turisti."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9oD#/te's#Add(./'eI .: dr#Jet3alue(K))"list9oD#/te's#Add(.re&i'eI .: dr#Jet3alue(1))"
list9oD#/te's#Add(.AdresaI .: dr#Jet3alue())"list9oD#/te's#Add(.9roj teleonaI .: dr#Jet3alue(B))"list9oD#/te's#Add(./ turisteI .: dr#Jet3alue(D))"list9oD#/te's#Add(..)"
5akultet teniki nauka 2"
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
25/32
O*jektno4orijentisano pro%ramiranje
'.1 *ompletan ko"using!+ste'"
using!+ste'#Collections#Jeneric"using!+ste'#Co'ponentotel"publicint9roj_dana"publicdoubleCena"publicint9roj"publicclassadnik{publicintsiraadnika"publicstringradno_'esto"publicstringi'e"publicstringpre&i'e"publicstringadresa"publicdoublebroj_teleona"publicclass*urista{publicstringi'e"publicstringpre&i'e"publicstringadresa"publicdoubleteleon"
5akultet teniki nauka 2#
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
26/32
O*jektno4orijentisano pro%ramiranje
publicintid_turiste"publicclass>otel{publicint/d_2otela"publicstringna&iv"publicstringgrad"
publicstringadresa"publicintbr&v">otel67 ni&>t = new>otel6LK7"*urista67 ni&*r = new*urista6LK7"adnik67 ni&ad = newadnik6LK7"onuda67 ni& = newonuda6LK7"inti, ik = K"privatevoidtet9o11_*etC2anged(objectsender, EventArgse){
privatevoidlabel1@_Click(objectsender, EventArgse){
privatevoidbutton1_Click(objectsender, EventArgse){
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = ./0!E* /0*O ponude (id, 'esto, 2otel, br_dana,
ukupna_cena, br_osoba) 3A45E! (."$%/& tabele kontakt itaju se podaci i&kolone i'e%$
{ni&6ik7 = newonuda()"ni&6ik7#/ = Convert#*o/nt18(tet9o1#*et)"c'd#Co''and*et := .;.: ni&6ik7#/ : .;,."ni&6ik7#otel = tet9o1?#*et"c'd#Co''and*et := .;.: ni&6ik7#>otel : .;,."
ni&6ik7#9roj_dana = Convert#*o/nt18(tet9o1@#*et)"
c'd#Co''and*et := .;.: ni&6ik7#9roj_dana : .;,."
i(radio9utton1#C2ecked == true){ni&6ik7#9roj = Convert#*o/ntB(radio9utton1#*et)"elsei(radio9utton#C2ecked == true){ni&6ik7#9roj = Convert#*o/ntB(radio9utton#*et)"
5akultet teniki nauka 20
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
27/32
O*jektno4orijentisano pro%ramiranje
elsei(radio9uttonB#C2ecked == true){ni&6ik7#9roj = Convert#*o/ntB(radio9uttonB#*et)"elsei(radio9uttonD#C2ecked == true){
ni&6ik7#9roj = Convert#*o/ntB(radio9uttonD#*et)"
ni&6ik7#Cena = Convert#*oouble(tet9oB#*et)"c'd#Co''and*et := .;.: ni&6ik7#Cena : .;,."c'd#Co''and*et := .;.: ni&6ik7#9roj : .;."c'd#Co''and*et := .)."c'd#Eecuteeader()"
ik::"
privatevoidbutton_Click(objectsender, EventArgse){list9o1#/te's#Clear()"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< ponude."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%$
{list9o1#/te's#Add(./ ponudeI .: dr#Jet3alue(K))"list9o1#/te's#Add(.
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
28/32
O*jektno4orijentisano pro%ramiranje
i(radio9utton?#C2ecked == true)br_osoba = B"
i(radio9utton@#C2ecked == true)br_osoba = D"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< ponude M>EE br_osoba = .: br_osoba : .A0 ukupna_cena N .: cena : .."$%/& tabele kontakt itaju se podaci i&kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9o#/te's#Add(./ ponudeI .: dr#Jet3alue(K))"list9o#/te's#Add(.
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
29/32
O*jektno4orijentisano pro%ramiranje
{ni&ad6ik7 = newadnik()"ni&ad6ik7#siraadnika = Convert#*o/ntB(tet9o?#*et)"c'd#Co''and*et := .;.: ni&ad6ik7#siraadnika : .;,."ni&ad6ik7#radno_'esto = tet9o1#*et"c'd#Co''and*et := .;.: ni&ad6ik7#radno_'esto : .;,."
ni&ad6ik7#i'e = tet9o@#*et"c'd#Co''and*et := .;.: ni&ad6ik7#i'e : .;,."ni&ad6ik7#pre&i'e = tet9o#*et"c'd#Co''and*et := .;.: ni&ad6ik7#pre&i'e : .;,."ni&ad6ik7#adresa = tet9o1K#*et"c'd#Co''and*et := .;.: ni&ad6ik7#adresa : .;,."ni&ad6ik7#broj_teleona = Convert#*oouble(tet9o11#*et)"c'd#Co''and*et := .;.: ni&ad6ik7#broj_teleona : .;."c'd#Co''and*et := .)."c'd#Eecuteeader()"ik::"
privatevoidbutton8_Click(objectsender, EventArgse){list9oB#/te's#Clear()"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< radnici."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9oB#/te's#Add(.Pira radnikaI .: dr#Jet3alue(K))"list9oB#/te's#Add(.adno 'estoI .: dr#Jet3alue(1))"list9oB#/te's#Add(./'eI .: dr#Jet3alue())"list9oB#/te's#Add(.re&i'eI .: dr#Jet3alue(B))"list9oB#/te's#Add(.AdresaI .: dr#Jet3alue(D))"list9oB#/te's#Add(.9roj teleonaI .: dr#Jet3alue(L))"list9oB#/te's#Add(..)"
privatevoidbutton?_Click(objectsender, EventArgse){
conn = newOlebConnection(conn!tring)"conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = ./0!E* /0*O turisti (/_turiste, i'e, pre&i'e, adresa,br_teleona) 3A45E! (."$%/& tabele kontakt itaju se podaci i& kolone i'e%$
{
5akultet teniki nauka 2-
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
30/32
O*jektno4orijentisano pro%ramiranje
ni&*r6ik7 = new*urista()"ni&*r6ik7#id_turiste = Convert#*o/ntB(tet9o18#*et)"c'd#Co''and*et := .;.: ni&*r6ik7#id_turiste : .;,."ni&*r6ik7#i'e = tet9o1#*et"c'd#Co''and*et := .;.: ni&*r6ik7#i'e : .;,."ni&*r6ik7#pre&i'e = tet9o1B#*et"c'd#Co''and*et := .;.: ni&*r6ik7#pre&i'e : .;,."
ni&*r6ik7#adresa = tet9o1D#*et"c'd#Co''and*et := .;.: ni&*r6ik7#adresa : .;,."ni&*r6ik7#teleon = Convert#*oouble(tet9o1L#*et)"c'd#Co''and*et := .;.: ni&*r6ik7#teleon : .;."c'd#Co''and*et := .)."c'd#Eecuteeader()"ik::"
privatevoidbutton@_Click(objectsender, EventArgse){list9oD#/te's#Clear()"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< turisti."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9oD#/te's#Add(./'eI .: dr#Jet3alue(K))"list9oD#/te's#Add(.re&i'eI .: dr#Jet3alue(1))"
list9oD#/te's#Add(.AdresaI .: dr#Jet3alue())"list9oD#/te's#Add(.9roj teleonaI .: dr#Jet3alue(B))"list9oD#/te's#Add(./ turisteI .: dr#Jet3alue(D))"list9oD#/te's#Add(..)"
privatevoidc2eck9o1_C2eckedC2anged(objectsender, EventArgse){
privatevoidgroup9oB_Enter(objectsender, EventArgse){
privatevoidbuttonD_Click_1(objectsender, EventArgse){
intbr_&ve&dica"conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$
5akultet teniki nauka 3/
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
31/32
O*jektno4orijentisano pro%ramiranje
c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = ./0!E* /0*O 2oteli (/, na&iv, grad, adresa,br_&ve&dica) 3A45E! (."$%/& tabele kontakt itaju se podaci i& kolone i'e%$
ni&>t6ik7 = new>otel()"ni&>t6ik7#/d_2otela = Convert#*o/ntB(tet9oL#*et)"
c'd#Co''and*et := .;.: ni&>t6ik7#/d_2otela : .;,."ni&>t6ik7#na&iv = tet9o8#*et"c'd#Co''and*et := .;.: ni&>t6ik7#na&iv : .;,."ni&>t6ik7#grad = tet9oK#*et"c'd#Co''and*et := .;.: ni&>t6ik7#grad : .;,."ni&>t6ik7#adresa = tet9o1#*et"c'd#Co''and*et := .;.: ni&>t6ik7#adresa : .;,."
i(radio9utton#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton#*et)"elsei(radio9utton1K#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton1K#*et)"elsei(radio9utton11#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton11#*et)"elsei(radio9utton1#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton1#*et)"elsei(radio9utton1B#C2ecked == true){ni&>t6ik7#br&v = Convert#*o/ntB(radio9utton1B#*et)"
br_&ve&dica = ni&>t6ik7#br&v"
c'd#Co''and*et := .;.: br_&ve&dica : .;."c'd#Co''and*et := .)."
c'd#Eecuteeader()"
ik::"
privatevoidbutton_Click(objectsender, EventArgse)
{list9oL#/te's#Clear()"
conn = newOlebConnection(conn!tring)"
conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< 2oteli."$%/& tabele kontakt itaju sepodaci i& kolone i'e%$
5akultet teniki nauka 31
8/12/2019 Objetktno orijentisano programiranje- Seminarski rad
32/32
O*jektno4orijentisano pro%ramiranje
dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9oL#/te's#Add(./ 2otelaI .: dr#Jet3alue(K))"list9oL#/te's#Add(.0a&ivI .: dr#Jet3alue(1))"list9oL#/te's#Add(.JradI .: dr#Jet3alue())"
list9oL#/te's#Add(.AdresaI .: dr#Jet3alue(B))"list9oL#/te's#Add(.9r &ve&dicaI .: dr#Jet3alue(D))"list9oL#/te's#Add(..)"
privatevoidbutton1K_Click(objectsender, EventArgse){list9o8#/te's#Clear()"intbr_&ve&dica = K"
i(radio9utton1D#C2ecked == true)br_&ve&dica = 1"
i(radio9utton1L#C2ecked == true)br_&ve&dica = "
i(radio9utton18#C2ecked == true)br_&ve&dica = B"
i(radio9utton1?#C2ecked == true)br_&ve&dica = D"
i(radio9utton1@#C2ecked == true)br_&ve&dica = L"
conn = newOlebConnection(conn!tring)"conn#Open()"$%Otvranje ba&e podataka%$c'd#Connection = conn"$%o&icioniranje na poetak prvog reda%$c'd#Co''and*+pe = Co''and*+pe#*et"$%Odre-ivanje tipa podataka%$c'd#Co''and*et = .!E4EC* % O< 2oteli M>EE br_&ve&dica = .: br_&ve&dica: .."$%/& tabele kontakt itaju se podaci i& kolone i'e%$dr = c'd#Eecuteeader()"$%i&vrFava ko'andu koja vraGa redove tabela%$
w2ile(dr#ead())$%Hita jedan po jedna red%${list9o8#/te's#Add(./ 2otelaI .: dr#Jet3alue(K))"list9o8#/te's#Add(.0a&ivI .: dr#Jet3alue(1))"list9o8#/te's#Add(.JradI .: dr#Jet3alue())"
list9o8#/te's#Add(.AdresaI .: dr#Jet3alue(B))"list9o8#/te's#Add(.9r &ve&dicaI .: dr#Jet3alue(D))"list9o8#/te's#Add(..)"