-Diplomski rad- Višeslojna Web aplikacija za on-line prodaju cveća N-tier web application for on-line flowers selling

Size: px
Start display at page:

Download "-Diplomski rad- Višeslojna Web aplikacija za on-line prodaju cveća N-tier web application for on-line flowers selling"

Transcription

1 Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin -Diplomski rad- Višeslojna Web aplikacija za on-line prodaju cveća N-tier web application for on-line flowers selling Mentor: Doc.dr Ljubica Kazi Student: Jovana Josić Smer: Informacione tehnologije Broj indeksa: IT 65/13 Zrenjanin 2017.

2 Sadržaj 1. UVOD TEORIJSKE OSNOVE On-line prodaja Web aplikacije Višeslojna arhitektura softvera ANALIZA SEMANTIČKE OBLASTI POSTOJEĆA REŠENJA OPIS KORIŠĆENE TEHNOLOGIJE REALIZOVAN PRIMER Specifikacija zahteva Modeli opšteg dizajna softvera Modeli implementiranog rešenja višeslojne arhitekture softvera Korisničko uputstvo Opis implementacije ZAKLJUČAK Literatura

3 1. UVOD Sa napredovanjem tehnologija povećava se upotreba interneta i on postaje jedan od glavnih vidova komunikacije, ali i sistema prodaje. On-line prodaja je sve zastupljenija u svetu, tako da je u Americi postala i najpopularniji način kupovine i samim tim je potisnula mnoge tradicionalne prodavnice. U Srbiji do pre nekoliko godina nije bio popularizovan ovaj način prodaje, jer je mali broj ljudi imao hrabrosti da se odluči za kupovinu preko interneta, ali iz godine u godinu raste broj sajtova za kupovinu i kod nas. Glavna prednost ovog načina kupovine je mogućnost kupovine od kuće, bez odlaska do prodavnica koje su kilometrima udaljene, a to znači da se slobodno vreme namenjeno kupovini može drugačije iskoristiti. On-line kupovina zahteva sigurnost i pouzdanost od strane prodavaca, ali i odgovornost od strane kupaca da će poručenu pošiljku preuzeti. Tako da prilikom kupovine moramo pročitati uslove i potvrditi saglasnost sa unetim ličnim podacima da bismo garantovali njihovu ispravnost. Sajt poput Kupujem Prodajem zahteva unošenje podataka sa lične karte i u slučaju nekog prekršaja ili prevare možete odgovarati. Život bez mobilnih telefona postao je nezamisliv, tako da danas retko koju osobu možemo sresti da ne poseduje ili ona ili neko od ukućana bar jedan mobilni uređaj ili tablet. Zbog ovih podataka Web aplikacije su se vremenom prilagođavale uređajima, tako da sada na svojim telefonima možemo pristupiti gotovo svim Web aplikacijama i one će biti prilagođene mobilnom uređaju ili tabletu odnosno njihovim ekranima. Sistem kupovine preko interneta samim tim je omogućen svima, odnosno osobama koje poseduju bar neki od uređaja preko kojih se mogu povezati na internet. U osnovi kreirane Web aplikacije za prodaju cveća nalazi se ljubav prema cveću koja je ispoljena kroz nenamensku aplikaciju za prodaju. Aplikacija koja je pravljena u radu je prezentacionog tipa, odnosno nije pravljena namenski za neku firmu. Web prodavnica za prodaju cveća iz rada je ilustrativna i ne podržava sve opcije on-line kupovine ali postoji mogućnost za nadogradnju i usavršavanje. 3

4 2. TEORIJSKE OSNOVE 2.1. On-line prodaja On-line prodaja je vid elektronske kupovine koja omogućava kupcu da preko interneta odabere i naruči proizvod koji želi da kupi i da mu proizvod bude dostavljen na kućnu adresu. Polovinom 80-ih godina se prvi put spominje pojam internet kupovine i internet poslovanja. Prvi predmet koji je prodat preko interneta bio je CD Stinga Ten Summoner's Tales, koji je prodala grupa studenata sa Swarthmore College-a iz Amerike. Nakon toga nastao je prvi web sajt za online prodaju kog je napravio Pjer Omidar 1996., AuctionWeb i on je na svoj sajt postavio pokvareni laser koji je želeo da proda, čuveni Pjerov laser tada je postigao cenu od 14.83$ i prvi on-line sajt za prodaju je zaživeo. Pjer je svoj sajt preimenovao u Echo Bay poznatiji kao ebay i vremenom postao milioner, popularizacijom i razvojem internet prodaje. Godinama se trgovina preko interneta usavršavala, da bi već danas postala jedna od vodećih načina trgovine.[17] Kao začetak elektronskog poslovanja u Srbiji uzima se 29. jun godine kada je osnovana Jugoslovenska asocijacija za elektronsku razmenu podataka (Yugoslav Association for Electronic Data Interchange YUEDI) sa zadatkom da popularizuje primenu EDI sistema u tadašnjoj Jugoslaviji. Do pojave prvih računarskih dobavljača Internet usluga, odnosno Internet provajdera dolazi godine. [15] U prvoj fazi elektronske trgovine u Srbiji implementiran je samo proces naručivanja robe preko Interneta, dok se plaćanje za robu obavlja pouzećem uz fizičku isporuku robe. Do masovnije pojave prodavnica u SRJ dolazi u julu kada Eunet u saradnji sa Firmom YUGate otvara prvi elektronski virtuelni trgovinski centar. Do pojave većeg broja funkcionalnih e-prodavnica dolazi sa pojavom elektronskih kartica koje omogućavaju onlajn plaćanje, što predstavlja drugu fazu u razvoju e-trgovine u Srbiji osniva se E-Bank.co.yu prvi i do danas jedini Internet payment provajder, namenjen procesiranju platnih kartica. [16] Kao treća faza razvoja srpske e-trgovine uzima se period od godine do danas. Iz godine u godinu raste broj sajtova u Srbiji koji se bave ovim vidom prodaje. Ne postoji ni jedan veći i popularniji brend koji nema svoj Web shop. Takođe se popularizuju i mobilne aplikacije kao vid kupovine i ljudi se polako navikavaju na trgovinu preko interneta. Svaka on-line kupovina zahteva određene korake koje korisnik mora ispuniti da bi poručio željeni proizvod. Prvenstveno se mora fokusirati na izbor plaćanja, način isporuke, željeni proizvod vrstu i sigurnost u izboru vrste proizvoda za dostavu. Neke on-line prodavnice dozvoljavaju i zamenu robe uz plaćanje troškova transporta koje snosi kupac. Savetuje se uvek provera podataka pre poručivanja, zbog toga većina on-line prodavnica pri svakom koraku nudi opciju Da li ste sigurni da bi se korisnik vratio na prethodni korak ako nije saglasan sa narudžbinom ili ako je došlo do greške pri izboru proizvoda. 4

5 Slika 1. Ilustracija on-line kupovine[25] Kupovina putem interneta evoluira iz dana u dan. Sve više firmi želi da proširi svoju prodaju i sve su veće potrebe za developer-ima web sajtova. Postoje različite vrste on-line prodaje, a među najpoznatijim su: B2C (Business-to-Consumer) B2B (Business-to-Business) C2C (Consumer-to-Consumer) B2C vid prodaje podrazumeva da kompanije prodaju robu krajnjim potrošačima preko softvera za prodaju automatski bez potrebe za dodatnom interakcijom između ljudi. Najpoznatiji sajt koji funkcioniše po ovom principu je Amazon. B2B prodaja se odnosi na prodaju između kompanija, kada primera radi velike kompanije prodaju robu prodavcima na malo. C2C je vrsta kupovine gde kupac prodaje kupcu. Najverodostojniji primera ovakvog načina on-line prodaje je ebay Web aplikacije Web aplikacije su nastale razvojem Web sajtova koji u svojoj osnovi predstavljaju skupove Web stranica koje su smeštene na određeni Web server. Web aplikacija predstavlja softverski proizvod koji se izvršava na web serveru, a prikazuje korisniku pomoću Web čitača. Da bi Web aplikacija funkcionisala potrebno je da se realizuje u programskom jeziku koji podržava web server kao softverski engine (odnosno hosting web aplikacije koju tehnologiju podrzava), da bi on mogao datu aplikaciju da prevede i izvrši. Web aplikacija omogućava korisnicima lakši pristup internetu i interaktivnost između Interneta i korisnika. Desktop aplikacije moraju biti instalirane na klijent računaru da bi se uopšte mogle koristiti. Kod web aplikacija to nije slučaj jer se one nalaze na jednom mestu (serveru ili grupi servera). Ovim se minimizuju mnogi problemi, pre svega problemi sa distribucijom, nadogradnjom aplikacija i generalno u slučajevima kada kod desktop 5

6 aplikacija korisnik mora da preuzme i instalira/updatuje aplikaciju. Bitna stvar je da kod web aplikacija korisnik nikada ne dobija samu aplikaciju, već samo interfejs ka njoj što je u suštini sve što mu i treba.[1] Slika 2. Funkcionisanje tipične Web aplikacije[12] Princip po kome funkcionišu Web aplikacije je prilično jednostavan. Korisnikov web browser (čitač) šalje zahtev Web serveru, koji podatke prosleđuje Web aplikaciji, ona ih obradi, a rezultat vraća serveru, pa napokon i browseru. U toj situaciji browser uopšte ne zna da li ste usluženi statičkom stranicom ili je kod koji vaš browser pikazuje generisan od strane Web aplikacije. Nije mu ni bitno, dokle god prosleđeni kod razume i može da prikaže. Uvođenjem programskih elemenata u prikaz Web stranica nastala su dva tipa Web stranica, a to su: Statičke izgled im je definisan već prilikom prve izrade Dinamičke izgled im se definiše kroz interakciju sa serverom Najpoznatije tehnologije programski jezici za razvoj Web aplikacija su: ASP/ASP.NET (C#) Java PHP [12] Bitna kvalitativna svojstva samih Web aplikacija i procesa razvoja mogu se povezati sa opštim standardom evaluacije kvaliteta softvera ISO/IEC , čija se svojstva mogu analizirati na osnovu Slike 3. Slika 3. Kriterijumi evaluacije Web aplikacija usklađene sa ISO/IEC standardom[12] Jedna od osnovnih mera kvaliteta Web aplikacija su preformanse. Glavna preformansa koja utiče na uspešnost jedne Web aplikacije je vreme odziva, koja prvenstveno utiče na kvalitet i upotrebnu vrednost aplikacije. Ako je nekoj Web aplikaciji potrebno mnogo vremena da bi se učitala, korisnik će odustati od datog sajta i potražiti sledeći. Zbog toga je veoma bitno obratiti pažnju na vreme odziva prilikom kreiranja Web aplikacije da bi naša aplikacija bila kvalitetna i posećena. Vreme odziva predstavlja period koji prođe od upućenog zahteva 6

7 korisnika do povratne informacije koju korisnik dobija i ako prođe duže od 8 sekundi, korisnici najčešće odustaju od datog sajta. Proces razvoja softverskih proizvoda, pa tako i Web aplikacija je skup metoda, aktivnosti, prakse i automatizovanih alata koje programeri koriste za razvoj i održavanje sistema i softvera. Postoje dve osnovne vrste metodologija razvoja softvera, a to su: Sekvencijalna metoda (metoda vodopada) Iterativna metoda Sekvencijalna metoda je stariji pristup razvoja softvera, i upotrebljiv je isključivo na manje zahtevnim aplikacijama. Ova metoda daje rezultate visokog kvaliteta ali jedan od glavnih nedostataka joj je veoma veliko trajanje razvoja ovakvog sistema, ali i nemogućnost naknadnih otklanjanja nedostataka. Iz ovog razloga su razvijene različite varijacije modela vodopada u kojima se faze dizajna i implementacije u izvesnoj meri preklapaju. Sve ove metodologije dele nekoliko zajedničkih atributa: broj faza kroz koje prolaze, broj iteracija koji je potreban da bi se kreirao softver, kao i tipično trajanje jedne iteracije. Sve faze se izvršavaju sekvencijalno, i uvek postoji bar jedna iteracija koja završava sa kreiranjem softvera. Razlike između metodologija su u redosledu po kojem se ulazi u određene faze, broju zahtevanih iteracija i trajanju svake iteracije. Ilustracija metode vodopada prikazana je na slici 4.[5] Slika 4. Sekvencijalna metoda[12] Iterativna metodologija nastoji da se životni ciklus softvera sastoji od nekoliko iteracija koje mogu da se preklapaju u vremenu. Ovakav tip metedologije omogućava lakše prelaženje sa procesa na proces ali i vraćanje na prethodne procese ukoliko dođe do greške što omogućava ispravljenje grešaka, za razliku od sekvencijalne metode kod koje je ovaj postupak dosta komplikovaniji i ne postoji vraćanje kada se jednom prođe kroz dati korak dok se čitav proces ne završi. Ova metoda je dosta praktičnija za upotrebu od metode vodopada i primenjuje se u zahtevnijim Web aplikacijama i softverskim proizvodima. Iterativna metoda predstavljena je na slici 5. 7

8 Slika 5. Iterativna metoda šema [5] 2.3. Višeslojna arhitektura softvera Softverska arhitektura jednog računarskog sistema predstavlja skup objekata koji su potrebni za funkcionisanje nekog sistema, a sadrže softverske elemente, odnose između elemenata i njihove osobine. [2] Softverska arhitektura svoj fokus usmerava na pravilno korišćenje elemenata i komponenti u okviru aplikacije. Neizostavni pojam uz softversku arhitekturu je softverski dizajn. Da bi softver bio što boljeg kvaliteta mora se usavršiti i dizajn ali i arhitektura i ove dve osobine se moraju kombinovati. Arhitekturu softvera možemo podeliti prema opštim obrascima, a to su: Monolitna arhitektura Dvoslojna (klijent-server) arhitektura Troslojna i višeslojna arhitektura (three tier /multi tier) Servisno orjentisana arhitektura softvera[4] Višeslojna arhitektura je pojam koji se odnosi na arhitekturu koja se sastoji iz tri glavna sloja. Troslojna arhitektura je takva arhitektura kod koje je potrebno uvesti još jedan sloj tzv. srednji sloj u kome se nalazi aplikativni server. Početak razvoja ovakvih arhitektura datira od 1990 godine i za razvoj ovakve arhitekture moguće je primeniti više različitih tehnologija. Troslojna arhitektura je generička za višeslojne arhitekture. Ovde se vrši dalja podela na komponente u okviru srednjeg sloja sa ciljem još većeg povećanja skalabilnosti, odnosno performansi. Srednji sloj se deli na dva sloja: jedan je namenjen za opsluživanje Web klijenata, a drugi vrši implementaciju poslovne logike sistema. Nekada se srednji sloj delio na dva ili više sloja u zavisnosti od aplikacije pa dobijamo višeslojnu (multitier) arhitekturu. [3] MVC arhitekturni obrazac deli objektno orjentisanu aplikaciju na tri celine: 1. Model zadužen za upravljanje podacima 2. View ima zadatak da upravlja prikazom informacija 3. Controller predstavlja logiku aplikacije (prenosi zahteve i usmerava ulaze) 8

9 Na sledećoj slici je islustrovan prikaz MVC arhitekture: Slika 6. MVC obrazac[30] Model čuva podatke, Controller zadaje komande modelu za preuzimanje podataka, a zatim kontroler zadaje komande kojima se podaci prikazuju u View. View generiše novi izlaz (output) koji je predstavljen korisniku, na osnovu promena koje su se desile u modelu. Controller može da šalje komande Model-u da promeni stanje modela. Controller može da šalje komande na View da se izmeni prikaz podataka na osnovu izmena modela ili da se prikaže druga vrsta ili način ponašanja View. Svaki View ima komponente koje su povezane sa Controller-om tako da su međusobno usko povezani i ne bi mogli zasebno da funkcionišu.[6] MVC zahteva razdvajanje odgovornosti (SoC) jer su model i logika kontrolera razdvojeni od korisničkog interfejsa. U okviru Web aplikacija, ovo znači da je HTML kod izdvojen od ostatka aplikacije, što čini održavanje i testiranje jednostavnijim i lakšim.[5] Objektno orjentisana implementacija MVC modela definiše posebne klase za svaku komponentu. Ne postoje bilo kakva ograničenja kada je u pitanju implementacija domen modela. Možemo kreirati model pomoću standardnih C# objekata i implementirati skladištenje pomoću bilo koje baze podataka, objektno-relacionog mapiranja, ili drugih alata koji su podržani od strane.net-a. MVC se takođe može koristiti za izgradnju framework-a interaktivnih aplikacija. Sa slike 7. možemo videti da korisnici pristupaju prezentacionom sloju, a taj sloj predstavlja sam izgled aplikacije i on se može implementirati korišćenjem MVC paterna. Takođe dodat je sloj servisa koji komunicira sa spoljnim sistemom u cilju poboljšanja zahteva korisnika i reagovanja na greške aplikacije. 9

10 Slika 7. Višeslojna arhitektura (ASP.NET aplikacija)[5] Putem prezentacionog sloja se pristupa sloju servisa, a on dalje obrađuje podatke i šalje povratne informacije, ali i komunicira sa ostalim delovima aplikacije. Ako je potrebno da neki sistem komunicira sa aplikacijom, on to radi preko sloja servisa koristeći sopstveni prezentacioni sloj. Prednost koja se dobija korišćenjem slojeva u kreiranju neke aplikacije je mogućnost za razdvajanje nadležnosti delova aplikacije, ali i lakša izmena i ponovna upotreba delova koda. Kreiranje aplikacije sa slojevima se predlaže kod kompleksnijih aplikacija, ali je sve zastupljenije i kod manje zahtevnih aplikacija. Prezentacioni sloj predstavlja korisnički interfejs i nijedna aplikacija ne bi bila upotrebljiva bez njega, zbog toga ima izuzetnu važnost u slojevitim aplikacijama. Prezentacioni sloj se dodaje na postojeći srednji sloj aplikacije. Osnovne komponente prezentacionog sloja su: Korisnički interfejs Prezentaciona logika Korisnički interfejs, iako neki smatraju manje bitnom komponentom aplikacije, predstavlja neophodan deo slojevitog sistema jer on daje korisniku alate pomoću kojih će program koristiti, tako da bi bez korisničkog interfejsa aplikacija bila neupotrebljiva. Svaka opcija programa koju korisnik odabere prikazivaće mu se pomoću korisničkog interfejsa. [5] Prezentaciona logika je povezana sa prikazom podataka na ekranu. Ovaj tip logike odgovara na korisnikove zahteve, šalje povratne informacije i date zahteve daljim slojevima aplikacije. Prezentaciona logika ima zadatak da obrađuje informacije koje prosledi korisnički interfejs i da ih šalje ka srednjem sloju i isto tako povratne informacije od srednjeg sloja ka korisničkom interfejsu. 10

11 Sloj servisa se najčešće posmatra kao deo poslovnog sloja. Moglo bi se reći da sloj servisa predstavlja granicu između prezentacionog sloja i sloja poslovne logike. Zaduženja koja ima servisni sloj su sledeća: Obrada zahteva Održavanje sigurnosti sistema Komunikacija i razdvajanje zahteva poslovnog i prezentacionog sloja Obaveštavanje o greškama Poslovni sloj je zadužen za obradu svih zahteva sistema i sadrži svu logiku i pravila koja održavaju u celini neku Web aplikaciju. Ovaj sloj obrađuje procese, sadrži algoritme koji upravljaju sistemom, ali je zadužen i za validaciju zahteva. Kada bismo razložili poslovni sloj, podela bi bila sledeća: Objektni model koji modeluje učesnike u poslovnom procesu Poslovna pravila koja predstavljaju klijentsku politiku i zahteve Servise koji implementiraju autonomne funkcionalnosti Proces rada definiše kako se vrši prenos podataka iz jednog modula u drugi Sloj za pristup podacima komunicira sa bazom i šalje podatke aplikaciji na osnovu zahteva koje primi. Sloj za pristup podacima predstavlja jedino mesto u sistemu gde je poznata veza sa bazom podataka i imenima tabela. Tu je sadržan sav kod koji vrši upis, izmenu i brisanje u bazi. Sloj za pristup podacima šalje podatke poslovnom sloju koji ne sadrži nikakve informacije o bazi, on ih samo prosleđuje do određenih delova aplikacije. Slika 7. prikazuje odnos sloja za pristup podacima sa ostalim slojevima i bazom podataka. [5] Slika 7. Sloj za pristup podacima[5] 11

12 3. ANALIZA SEMANTIČKE OBLASTI Sobno cveće su biljke koje odgajamo u domu zbog lepih cvetova i listova koje su sposobne da rastu u uslovima koji se svakodnevno menjaju i nisu prvenstveno prilagodjeni zahtevima biljke. Prve zapise o odgajanju saksijkih biljaka u kuci nalazimo pre gotovo pet hiljada godina kod Kineza koji su u svojim palatama uzgajali biljke u posebnim ukrasnim posudama. Viseći vrtovi Vavilona sastojali su se samo od biljaka odgajanih u saksijama na terasama. Ima podataka koji ukazuju na promenljive trendove, modu i obicaje, no ipak umetnost odgajivanja sobnog cveća nije izgubila na svojoj atraktivnosti i na nasu sreću u sve većem broju se pojavljuju po nasim kancelarijama, holovima većih institucija, šoping centara, uspevajući ipak da se utkaju u uobičajen deo našeg zivota. Na internetu postoji mnoštvo priručnika za pravilan uzgoj sobnih biljaka, ali takođe postoje i prodavnice koje se bave internet prodajom cveća i spremne su da daju savete za svaku biljku pojedinačno. [13] Slika 8. Ilustracija Vavilonskih vrtova istorija cvećarstva[24] Da bi biljka opstala u kućnim uslovima potrebno je posvetiti joj dosta pažnje, u zavisnosti od vrste koju gajite. Neke biljke vole dosta vode, neke svetlost, a neke jednostavno možete da kupite i zaboravite kada ste ih poslednji put zalivali kao što je kaktus. Potrebno je takođe održavati higijenu i čistiti biljke od prašine da bi one mogle uspešno da vrše fotosintezu. Svaki katalog biljaka sadrži uputstvo za gajenje biljaka, tako da bi najbolje rešenje bilo, pre nego što se odlučite da kupite i uzgajate neku biljku, pročitate kakve uslove ona zahteva i da li vi posedujete te uslove. 12

13 Primer kataloga za prodaju cveća koji sadrži savete o uzgoju datih biljaka: Slika 9. Primer kataloga cvećare Mali vrt [22] U nastavku će biti prikazana dva primera specifikacije pojedinih vrsta sobnih biljaka: Ehmeja Slika 10. Ehmeja [11] Opšte informacije i poreklo: Potiče iz tropskih krajeva i u prirodnom staništu živi kao parazit na drveću. Raste do 50cm u visinu. Ima tvrdo lišće povijeno na dole, sivo zelene je boje sa belim isprekidanim prugama. 13

14 Iz središta biljke izbija cvast(klas) ružičaste boje, iz njega se razvijaju mali plavi cvetovi koji vrlo brzo venu dok ružičasta cvast ostaje i do 6 meseci. Način uzgajanja: Može da podnese nekoliko sati direktne sunčeve svetlosti, ali ne i prejako sunce. Minimalna temperatura na kojoj se gaji zimi je 15C, a leti maksimalna 27C pod uslovom da je visoka vlažnost. Zalivanje se vrši odstajalom vodom ili kišnicom, u centar biljke. Zemlja tokom leta treba da bude vlažna, a u toku zime je prepporučljivo pustiti je da se malo prosuši pre početka zalivanja. Leti se prihranjuje svake dve nedelje.[14] Adam Slika 11. Adam [23] Opšte informacije i poreklo: Biljka adam je poreklom iz tropskih predela Indije. U svojoj postojbini dostiže veliku visinu, pa se često ispod njegovih listova odmaraju ljudi. U kontinentalnim zemljama se odavno gaji kao sobna biljka. Brzo raste i njegovi veliki listovi postaju zanimljiv egzotičan detalj u enterijeru, a za vreme toplijih dana i u eksterijeru doma. Cveta leti malim i neuglednim cvetovima zelene boje. Iz cveta se razvija semenka kojom se može uspešno razmnožiti. Način uzgajanja: Treba ga staviti na mesto sa dovoljno sunca. Ne treba ga direktno izlagati sunčevoj svetlosti, jer listovi mogu da požute i počnu da se suše. Može da napreduje dobro i na senovitim mestima, ali tada ima daleko duže lisne drške i treba da se zaliva znatno manje. Idealna temperatura u zimskom periodu za gajenje adama je 15 stepeni, a najmanja koju može da podnese je 5 stepeni. Lepo raste dok je napolju, i zato u proleće, nakon mrazeva može da se iznese napolje. Prija mu dosta vode, pa ga treba često zalivati, naročito ako je u sobi centralno grejanje. [14] Iz navedenog opisa mogu se izvući podaci za detaljniju evidenciju u bazi podataka, kao što su: 14

15 1. Osunčavanje koliko biljka zahteva svetlosti i kakva mesta se preporučuju za odgajanje biljke 2. Zalivanje kolika količina vode je potrebna za zalivanje odgovarajuće vrste cveća 3. Zemljište da li je biljci potrebno zemljište koje zahteva dodatne prihrane, ili je dovoljan običan humus 4. Prihrane da li je potrebno dodavati dodatne supstance tokom cvetanja ili rasta biljke 5. Presađivanje koji period je potreban da prođe da bi se vršilo presađivanje biljke 15

16 4. POSTOJEĆA REŠENJA On-line cvećara Teleflora On-line cvećara Teleflora je web aplikacija za podršku radu same cvećare koja se takođe zove Teleflora, koja je nastala godine, kao Teleflora d.o.o. preduzeće za cvetni dizajn, organizaciju i dekoraciju venčanja i dostavu cveća u Beogradu, našoj zemlji i u 185 zemalja širom sveta. [7] Na sledećoj slici je prikazana on-line prodavnica cvećara Teleflora. U pitanju je srpska prodavnica koja se bavi prodajom buketa, aranžmana ali i sobnim biljkama i dekorativnim saksijama. Slika ilustruje osnovni prikaz prodaje sobnog cveća. Slika 12. Prikaz stranice on-line cvećare Teleflora [7] Sledeća slika ilustruje prikaz korpe i opcije koje nudi prilikom naručivanja proizvoda. Prilikom dodavanja proizvoda u korpu neophodno je označiti veličinu aranžmana koji želimo da naručimo da bi se proces kupovine mogao nastaviti. 16

17 Slika 13. Prikaz korpe cvećare Teleflora [7] Prethodno prikazana Web aplikacija za on-line prodaju cveća poseduje opcije prijavljivanja, blog na kome se mogu postavljati pitanja zaposlenima, karticu saveti gde se mogu pronaći saveti o cveću, zatim opciju kontakt gde se nalaze podaci o firmi i telefoni. Cvćara Teleflora vrši i isporuku cveća širom sveta, tako da je jedna od naših najsavremenijih online cvećara. Aplikacija sadrži sve potrebne funkcije za pravilno funkcionisanje on-line prodavnice. Mogla bi se dodati opcija za kreiranje poklon kartice i ispisa željene poruke, da bi se kompletirala funkcionalnost aplikacije. Takođe se može dodati mapa do tradicionalne prodavnice sa lokacijom i forma za postavljanje pitanja koja bi automatski prosleđivala poruke na mail prodavnice. Link preko koga se može pristupiti aplikaciji je: On-line cvećara ProFlowers Cvećara ProFlowers se nalazi u Kanadi San Diegu. Poseduje veoma veliki lanac prodaje i takođe omogućava prodaju svojih proizvoda širom sveta. On-line aplikacija cvećare podržava PayPal način plaćanja proizvoda što njihovu Web aplikaciju za prodaju čini besprekornom i pristupačnom ljudima širom sveta. Takođe sadrži prečice do društvenih mreža i time je stekla popularnost od preko 400 hiljada pratilaca na Facebook-u, što je i 17

18 jedan od glavnih markentinških zadataka u popularizaciji neke Web aplikacije. Nije bitno samo kreirati aplikaciju, od izuzetne važnosti je i dobro promovisanje i povezanosti sa popularnim društvenim mrežama. Na sledećoj slici je prikazana početna strana aplikacije sa svim opcijama koje nudi. Slika 14. Prikaz početne stranice Web aplikacije ProFlowers [21] Web aplikaciji se može pristupiti preko sledećeg linka: Na početnoj strani postoji veliki broj kartica koje korisniku omogućavaju lakši pristup i sortiranje sadržaja. Periodično se pojavljuju i reklame promocije koje se prostiru preko celog ekrana, što predstavlja marketinški trik za efikasniju zainteresovanost kupaca. Blog koji se nalazi na stranici poseduje veliki broj priča i saveta, što je još jedan plus za datu web aplikaciju i njenu popularnost. Ova Web aplikacija podržava i mogućnost prijave i kreiranje naloga, što je prikazano na sledećoj slici. 18

19 Slika 15. Prikaz opcija za kreiranje naloga i prijavu na Web sajt ProFlowers [21] Prilikom naručivanja proizvoda date cvećare postoji opcija za odabir datuma za isporuku. Tako da se cveće može naručiti za tačan datum koji kupcu odgovara. Prilikom plaćanja se moraju ostaviti podaci računa ukoliko niste odabrali plaćanje preko PayPall naloga, jer ne postoji opcija plaćanja pouzećem kao kod naših aplikacija. Takođe možete odabrati kome šaljete i napisati specijalnu poruku, ukoliko želite, ako ste naručili cveće za neku posebnu priliku. Prikaz date opcije je na slici 13. Slika 16. Prikaz poklon kartice koja se dostavlja uz porudžbinu (ukoliko želite)[21] Web aplikacija cvećare ProFlower je kompletirana, izmene bi se mogle vršiti u izgledu aplikacije i u interaktivnosti sadržaja. Mogle bi se dodati animacije koje bi upotpunile zanimljivost sadržaja. Što se tiče funkcionalnosti, sajt ne zahteva dodatne izmene. 19

20 On line cvećara Dunjin cvet Web aplikacija cvećare Dunjin cvet je delimično kompletirana. Dosta je pažnje posvećeno korisničkom interfejsu i modernizaciji same alikacije. Prethodne dve on-line cvećare nisu pridavale značaj interfejsu. Sve opcije na sajtu funkcionišu, ali nedostaje još mogućnosti, kao što su blog, forma za pitanja, mogućnost odabira poklon kartice, informacije o gajenju cveća. Slika 17. Početna strana Web aplikacije Dunjin cvet [20] Aplikacija poseduje i opcije za registraciju i prijavu, kao i korpu i sve neophodne funkcije za poručivanje proizvoda. Pre nego što se prizvod naruči neophodno je izvršii registraciju korisnika. Ilustracija procesa narudžbine se može videti na sledećoj slici. Slika 18. Forma za naručivanje Web aplikacije Dunjin cvet [20] Nedostatak aplikacije je to što ne postoji nikakva verifikacija unetih podataka, tako da se mogu uneti potpuno pogrešni podaci i proizvod će biti dostavljen na tu adresu. Takođe nisu upotpunili aplikaciju dodatnim sadržajem o biljkama ili nekim najčešćim pitanjima koja im postavljaju kupci. Sve dodatne izmene koje bi se vršile nisu izmene u samoj aplikaciji, već u 20

21 funkcionisanju sadržaja i njegovoj usklađenosti. Nekoliko opcija uopšte ne radi ili je u pripremi, kao što su Kako poručiti. Slika 19. Ilustracija opcije Kako poručiti koja nije završena[20] Link preko koga se može pristupiti datoj aplikaciji je: 21

22 5. OPIS KORIŠĆENE TEHNOLOGIJE U ovom radu je korišćen PHP programski jezik, a PHP stranice se pokreću korišćenjem Apache web servera i MySQL sistema za upravljanje relacionom bazom podataka. Oba servera (web server i server baze podataka) su integrisani u okviru XAMPP softverskog paketa. PHP (Hypertext Preprocesor) je open-source server-side skriptni jezik, koji se koristi za dinamčko prikazivanje HTML koda. Dakle, pomoću PHP-a se može kreirati HTML stranica na serveru i pre nego što se ona pošalje klijentu. Zbog ovog načina generisanja sadržaja, krajnji korisnik ne može videti kod odnosno skriptu, koja je generisala sadržaj stranice koji on gleda, već on vidi tj. ima pristup čistom HTML kodu. [28] PHP je jedan od najmoćnijih i najpopularnijih skriptnih jezika trenutno na tržištu. Svakim danom raste i broj sajtova koji su napravljen uz pomoć PHP-a, a i broj kompanija koje žele primeniti ovu vrstu jezika na svojim sajtovima je sve veći. PHP je pre svega stekao popularnost zbog lakoće kojom se može stvoriti opširna web stranica sa jako velikim količinama podataka. Da bi se pokrenula PHP stranica na računaru, potreban je lokalni web server. Najlakši način da se to uradi je da se preuzme i instalira MAMP za OS X ili XAMPP za Windows i Linux. Kada se instalira neki od ovih paketa može se početi sa korišćenjem PHP-a. Tako što se postavi fajl index.php u htdocs direktorijum MAMP ili XAMPP instalacije i poziva se kao localhost/index.php. [27] Sledeća slika ilustruje primer PHP koda koji poziva različite funkcije. Slika 20. Prikaz funkcija PHP jezika primer [29] 22

23 XAMPP Ovaj program je u toku izrade ovog rada korišćen za izvršavanje stranica na lokalnom računaru, a da nam pri tome nije potreban internet. Kada se instalira dati program, računar se može tretirati kao da je na internetu, jer se mogu koristiti neki internet servisi.[28] XAMPP je skraćenica od: X ( cross-platform - znači da je multiplatformski program, odnosno da radi u Linux, Solaris, Windows i MAC OSX operativnim sistemima), A (Apache HTTP Server Web server softver koji se koristi za WWW servis), M (MySQL), P (PHP), P (Perl Practical Extraction and Report Language programski jezik kojeg je razvio Larry Wall godine. i slobodnog je tipa - nezavisan od platforme) Slika 21. Prikaz XAMPP programa 23

24 6. REALIZOVAN PRIMER 6.1. Specifikacija zahteva Specifikazija zahteva za izradu Web aplikacije koja se bavi on-line prodajom odnosi se na spisak svih funkcionalnih mogućnosti koje aplikacija nudi, podeljenih prema profilima korisnika koji će koristiti aplikaciju. U nastavku je dat tabelarni prikaz funkcionalnih zahteva OPŠTE ONLINE PRODAVNICE. Tabelarni prikaz je odabran kako bi se lakše prikazale sve funkcije i zaduženja. Nefunkcionalni zahtevi u ovom radu nisu prikazani, zato što nisu značajno naglašeni (u ovom radu je reč o izradi softvera opšte namene, a ne za konkretnog korisnika, pa nisu eksplicitno dati nefunkcionalni zahtevi). Specifikacija poslovnih aktivnosti kupca i odgovarajucih softverskih funkcija: POSLOVNA AKTIVNOST Izbor proizvoda Narudžbina Plaćanje SOFTVERSKA PODRŠKA I DETALJI POSLOVNE AKTIVNOSTI Prelistavanje kataloga proizvoda i odabir proizvoda koji kupac želi da naruči Kupac je dužan da odabere željeni proizvod i doda u korpu Prilikom plaćanja (završetka kupovine, tj zatvaranja korpe), potrebno je da kupac navede način plaćanja Tabela 1. Specifikacija dužnosti kupca Specifikacija poslovnih aktivnosti prodavca i odgovarajucih softverskih funkcija: POSLOVNA AKTIVNOST Unos robe Pregled narudžbina Pregled uplata Provera podataka Slanje narudžbine SOFTVERSKA PODRŠKA I DETALJI POSLOVNE AKTIVNOSTI Prodavac je dužan da unese robu na sajt i omogući kupcima pregled asortimana prodavnice Prilikom poručivanja od strane kupca automatski se narudžbina prosleđuje u bazu podataka prodavnice i prodavac pred sobom otvara tabelarni prikaz narudžbina koje je potrebno pripremiti za isporuku Pre nego što se narudžbina upakuje potrebno je proveriti uplate i označiti uplatu pouzećem ako nije izvršena preko interneta. Pred prodavcem se prikazuje tabelarni prikaz izvršenih uplata Da bi se narudžbina isporučila potrebno je da prodavac proveri podatke i proceni tačnost, takođe može nazvati kupca koji prilikom registracije ostavlja broj telefona, zbog provere tačnosti informacija Ako su informacije tačne i ako je porudžbina proverena, prodavac vrši slanje pošiljke preko odabrane kurirske službe Tabela 2. Specifikacija dužnosti prodavca S obzirom da je u radu stavljen naglasak na prodaju cveća, analizom semantičke oblasti utvrđeni su specifični podaci koji treba da budu evidentirani u okviru unosa robe. Posebno je 24

25 značajno prilikom prikaza robe kod naručivanja prikazati sliku i specifikaciju biljke sa podacima o održavanje Modeli opšteg dizajna softvera Model poslovnih procesa Model poslovnih procesa (Business Process Modeling) odnosi se na dizajniranje i upravljanje poslovnim procesima. Funkcioniše po principu objedinjavanja poslovnih procesa i služi da lakše prikaže poslovna organizacija. Na sledećoj slici je prikazan dijagram (tipa Analysis) rađen u Power Designer-u koji prikazuje BPM model opšteg toka poslovnog procesa bilo koje prodavnice, koji se može podržati softverski. Slika 22. Izgled BPM modela i okruženja Power Designer- Detaljniji prikaz BPM modela se može videti na slici

26 Slika 23. BPM model nabavke i prodaje robe u prodavnici opsteg tipa Use case dijagram U sledećoj tabeli preslikavanja biće prikazani primitivni procesi (na osnovu BPM) i softverske funkcije kojima se podrzavaju ti procesi. U narednoj tabeli su podrzani softverskim funkcijama samo primitivni procesi koji se odnose na prodavca i kupca, a deo dobavljaca nije podrzan jer taj deo pripada informacionom sistemu dobavljaca i izvan je domena rada. Softverske funkcije su raspoređene po prioritetima funkcije prvog prioriteta direktno podrzavaju poslovni proces, dok drugog prioriteta predstavljaju prosirenja osnovne funkcionalnosti. Takođe, prikazane su i softverske funkcije preduslovi, koje moraju biti realizovane u softveru, jer bez njih ne mogu osnovne softverske funkcije da se primenjuju. Poslednja kolona se odnosi na tip softvera. Najčešće korišćeni tipovi su: c/s LAN (klijent server u lokalnoj mreži), web aplikacije i mobilne aplikacije. U narednoj tabeli je dat jedan predlog (za iste primitivne procese može biti više tehnoloških rešenja) kako bi se softverski mogli podržati primitivni procesi iz BPM. 26

27 Primitivni poslovni proces Radna uloga izvršioca primitivno g poslovnog procesa Softverska funkcija 1.prioriteta 2.prioriteta Preduslov za uspešno izvršavanje funkcija 1. prioriteta Actor (Profil korisnika softversk e funkcije) Tip softver a Prijem robe Prodavac Unos podataka o primljenoj robi Kreiranje kataloga Prodavac Unos proizvoda za katalog, Štampanje kataloga Naručivanje Kupac Unos podataka o proizvodima za narucivanje Prijem narudžbenic a Prodavac Tabelarni prikaz narudžbenica Tabelarni prikaz podataka dospele robe, Filter podataka prema datumu dospele robe, parametarsk a štampa Tabelarni prikaz proizvoda koji će se koristiti u katalogu Tabelarni prikaz narudžbenic e koja sadrži podatke o proizvodima i o kupcu, Filter podataka po datumu prijem i parametarsk a štampa narudžbenic e Filter unetih podataka prema rednim brojevima narudžbenic Unos narudžbenic e za dobavljača Unos podataka o primljenoj robi Unos proizvoda za katalog Unos podataka o proizvodima za naručivanje od kupca Dobavljač Prodavac Kupac Kupac c/s LAN, WEB c/s LAN, WEB WEB c/s LAN, WEB 27

28 a Plaćanje Kupac Unos podataka o plaćanju Evidentiranj e uplata Slanje porucene robe Prodavac Prodavac Unos podataka o potvrdi izvrsenja uplate kupca (uporedjivanje m sa bankarskim izvodom) Tabelarni prikaz realizovanih plaćanja Tabelarni prikaz potvrdjenih uplata, Filter podataka o dospelim uplatama prema datumu plaćanja Tabelarni prikaz Tabelarni prikaz narudžbenic a Unos podataka o plaćanju od strane kupca Unos podataka Unos o slanju podataka o proizvoda podataka o proizvodima pošiljkama, za Filter narucivanje podataka o od kupca slanju prema Unos broju podataka o narudžbenic potvrdi e i datumu izvrsenja uplate kupca Tabela 3. Tabela preslikavanja procesa Kupac Prodavac WEB c/s LAN, WEB c/s LAN, WEB Use Case Diagram služi za prikazivanje informacija o tome kako neki poslovni sistem funkcioniše trenutno. Sadrži alate koji omogućavaju modelovanje funkcionisanja poslovnih procesa. [18] Sledeća ilustracija prikazuje kreiran USE CASE dijagram rađen na osnovu tabele preslikavanja, gde su predstavljene suštinske softverske funkcije koje treba da budu podržane softverom. 28

29 Slika 24. Use Case Diagram 29

30 CDM (Conceptual Data Model) i PDM (Physical Data Model) Konceptualni model podataka (CDM) predstavlja osnov za kasnije generisanje fizickog modela podataka (relacionog modela sa dodatim osobinama ciljnog DBMS sistema za upravljanje bazom podataka) i dijagrama klasa. CDM omogućava lakše predstavljanje i kreiranje baze podataka. Na sledećoj slici će biti predstavljen CDM softvera za on-line prodaju cveća kreiranog u radu. Slika 25. CDM model 30

31 Kada smo kreirali CDM model, PDM ćemo kreirati automatskom generacijom u programu. Odabraćemo opciju Tools Generate Physical Data Model i nakon odabira naziva svog modela, ako smo sve atribute i primarne ključeve uneli kako treba, dobićemo sledeći izgled: Slika 26. Izgled PDM-a 31

32 6.3. Modeli implementiranog rešenja višeslojne arhitekture softvera Pregled slojeva u višeslojnoj arhitekturi realizovanog primera Sledeća tabela ilustruje opšti prikaz višeslojne arhitekture softvera. Takođe, prikazan je i plan podrške pojedinim slojevima u okviru ovog rada. Tabela 4. Prikaz slojeva i podslojeva višeslojne arhitekture softvera, uz primer podrške u ovom radu GLAVNI SLOJ PREZENTAC IONI SLOJ PODSLOJEVI Korisnički interfejs Prezentaciona logika PLAN IMPLEMENTACIJE U RADU Ekranska forma Kod za pripremu podataka i prikaz u okviru grafickih elemenata ekranske forme Aktivan kod nakon izvršavanja form action SLOJ SERVISA SLOJ POSLOVNE LOGIKE SLOJ ZA RAD SA PODACIMA Web servis Servisni sloj kao biblioteka klasa Poslovni objekti Poslovna pravila Radni tokovi Klase modela Klasa konekcija i parametri Baza podataka Mogao bi biti realizovan radi razmene podataka sa dobavljačem (uvid u katalog dobavljača i cene putem web servisa dobavljaca). U ovom radu nije realizovano. Služi kao posrednik izmedju drugih slojeva, enkapsulira implementaciju. Ima ulogu interfejsa. U ovom radu nije realizovano. Klasa Korpa (naziv Korpa je u skladu sa načinom razmišljanja korisnika i bliska korisničkom interfejsu, a ne zove se kao nijedna tabela u bazi podataka). Klasa Popust koja implementira mogućnosti popusta za količinu ili iznos Opisuju redosled aktivnosti i poziva odgovarajućih delova softvera u odnosu na podršku. U ovom radu nisu realizovani. Klase koje se kreiraju ili generišu na osnovu tabela baze podataka. Za svaku tabelu može biti 3 klase: klasa pojedinac (ima samo atribute I get-set metode), klasa DB (radi sa bazom podataka putem SQL upita ili pozivom odgovarajućeg pogleda ili stored procedure), klasa kolekcija (ima uredjenu listu objekata klase pojedinac). U ovom radu je podržana klasa pojedinac i klasa tipa DB. Klasa konekcija univerzalni tehnološki kod kojim se, na osnovu eksterne datoteke sa parametrima konekcije, uspostavlja veza ka DBMS i bazi podataka. Omogućava centralizaciju konektovanja, radi olakšavanja eventualne promene DBMS-a ili parametara konekcije. U ovom radu je podržana kao zasebna klasa Konekcija, a parametri konekcije su u TXT fajlu. Stored procedure, pogledi, tabele i relacije. U ovom radu su podržani svi elementi. 32

33 Dijagram komponenti Dijagram prikazuje strukturne relacije između softverskih komponenti sistema. On ilustruje delove softvera, ugrađene kontrolere i slično, i ima veći stepen apstrakcije od dijagrama klasa.[26] Dijagram komponenti služi za modeliranje izvornog koda, modeliranje izdanja za isporuku, modeliranje izvršnih izdanja i okruženja, kao i modeliranje fizičkih baza podataka. Na sledećim slikama će biti prikazan izgled dijagrama komponenti za našu aplikaciju razvrstanu po slojevima. Slika 27. Dijagram komponenti 33

34 Dijagram razmeštaja Dijagram razmeštaja prikazuje statički pogled run-time hardverske konfiguracije i softverskih komponenti koje se izvršavaju na tim čvorovima. Dijagram razmeštaja prikazuje hardver vašeg sistema, softver koji je instaliran na tom sistemu i srednji sloj koji se koristi za povezivanje međusobno razdvojenih mašina. [26] Sledeća ilustracija prikazuje dijagram razmeštaja za softver koji je prikazan u radu. Slika 28. Dijagram razmeštaja 34

35 6.4. Korisničko uputstvo U radu je prikazana demonstrativna aplikacija koja nije u potpunosti funkcionalna. Urađen je primer korpe proizvoda i omogućeno štampanje prikaza ekrana sa korpom. Aplikacija ima dosta prostora za usavršavanje, a urađen je primer da bi se prikazalo stečeno znanje kreiranja web aplikacija. Takođe je korisniku omogućeno da se uloguje i odabere proizvode iz liste za narudžbinu. LOGIN forma ima dva statusa korisnika, a to su status Admin i status Korisnik (kupac). U zavisnosti od toga da li se prijavite kao administrator ili kao korisnik, biće omogućen prikaz odgovarajućeg (različitog) levog menija. Administrator ima opcije da dodaje proizvod, dok to korisniku neće biti omogućeno. Korisnik može da vidi podatke i da ih dodaje u korpu, takođe sadržaj korpe (narudžbenicu) može odštampati. Prikaz stranice za prijavljivanje korisnika aplikacije je dat na sledećoj slici: Slika 29. Prikaz stranice za logovanje Kada korisnik unese svoje korisničko ime i šifru prikazaće se sledeća stranica: Slika 33. Prikaz prijavljenog korisnika u statusu:admin Ulogovani korisnik je u statusu Administrator i može dodavati sadržaj menjati proizvode i brisati ih. 35

36 Slika 34. Unos podataka o novom proizvodu Takođe može prikazati parametarsku štampu proizvoda sa slikom za proizvod koja je dodata. Slika 35. Lista proizvoda sa mogućnostima izmene i brisanja Kada se korisnik (Kupac) uloguje u aplikaciju biće mu omogućen prikaz proizvoda i štampa. Sledeća slika prikazuje prijavljenog korisnika sa opcijama: 36

37 Slika 30. Prikaz ulogovanog korisnika sa opcijama i spisak proizvoda Štampa je dodata zbog mogućnosti kupaca da odštampaju podatke o biljki koju žele da kupe i tu mogu imati prikazano kako da ih održavaju, koliko da zalivaju i kakvu prihranu da koriste. Prilikom dodavanja proizvoda u korpu otvara nam semogućnost dodavanja proizvoda. Kada kliknemo na dugme U korpu otvara se sledeća forma koja će prikazivati proizvode u korpi sa cenom. Slika 31. Prikaz korpe sa dodatim proizvodom cvetom 37

38 U korpi postoji opcija za dodavanje popusta ukoliko korisnik poseduje kupon. Prilikom kodiranja dodato je da postoji popust od 10% unošenjem kupona kup10, zatim popust od 20% unošenjem kup20 i po istom principu popust od 30%. Takođe se nalazi i opcija štampe koja izvozi prikaz ekrana u formu za direktno štampanje ukoliko korisnik želi da odštampa narudžbenicu. Narudžbenica će biti prikazana kao celokupni snimak ekrana sa sadrzajem korpe, što se u daljem razvoju aplikacije može usavršiti. Kada se odabere dati popust korisniku će se ispisati poruka kao informacija o iznosu popusta i iznos će se umanjiti za određeni broj procenata. Sledeća slika ilustruje prikaz narudžbence sa uračunatim popustom. Slika 32. Prikaz uračunatog popusta Kada odaberemo željeni popust i odaberemo opciju za štampanje dobijamo sledeći prozor koji automatski omogućava štampanje date stranice. Slika 33. Prikaz prozora za direktnu štampu 38

39 6.5. Opis implementacije Prilikom opisa implementacije postaviće se akcenat na objašnjenjima elemenata implementacije po slojevima, počev od baze podataka, do ključnih delova programskog koda u aplikaciji. GLAVNI SLOJ PREZENTAC IONI SLOJ SLOJ POSLOVNE LOGIKE SLOJ ZA RAD SA PODACIMA PODSLOJEVI Korisnički interfejs Prezentaciona logika Poslovni objekti Poslovna pravila Klase modela Klasa konekcija i parametri Baza podataka PLAN IMPLEMENTACIJE U RADU Ekranska forma Kod za pripremu podataka i prikaz u okviru grafickih elemenata ekranske forme Aktivan kod nakon izvršavanja form action Klasa Korpa (naziv Korpa je u skladu sa načinom razmišljanja korisnika i bliska korisničkom interfejsu, a ne zove se kao nijedna tabela u bazi podataka). Klasa Popust koja implementira mogućnosti popusta za količinu ili iznos Klase koje se kreiraju ili generišu na osnovu tabela baze podataka. Za svaku tabelu može biti 3 klase: klasa pojedinac (ima samo atribute I get-set metode), klasa DB (radi sa bazom podataka putem SQL upita ili pozivom odgovarajućeg pogleda ili stored procedure), klasa kolekcija (ima uredjenu listu objekata klase pojedinac). U ovom radu je podržana klasa pojedinac i klasa tipa DB. Klasa konekcija univerzalni tehnološki kod kojim se, na osnovu eksterne datoteke sa parametrima konekcije, uspostavlja veza ka DBMS i bazi podataka. Omogućava centralizaciju konektovanja, radi olakšavanja eventualne promene DBMS-a ili parametara konekcije. U ovom radu je podržana kao zasebna klasa Konekcija, a parametri konekcije su u TXT fajlu. Stored procedure, pogledi, tabele i relacije. U ovom radu su podržani svi elementi SQL Script i šema baze podataka Bazu podataka koju bi trebali da koristimo u radu kreirali smo preko SQL naredbi i pozvali Script u phpmyadmin delu koristeći XAMPP. XAMPP će nam omogućiti koričćenje virtuelnog servera za prikaz aplikacije koju smo kreirali. Sledeća tabela prikazuje fajl sa SQL naredbama, kao i STORED procedure i POGLED koji je korišćen u radu. CREATE DATABASE `DIPLOMSKI` CHARACTER SET utf8 COLLATE utf8_general_ci; create table `DIPLOMSKI`.`BILJKA` ( IDTIPBILJKE int NOT NULL AUTO_INCREMENT PRIMARY KEY, IDDOBAVLJACA int, IDPROIZVODA int, NAZIVPROIZVODA varchar(50) not null, 39

40 SLIKAPROIZVODA ZALIVANJE ZEMLJISTE OSUNCANOST PRIHRANA ); longblob not null, varchar(200) not null, varchar(200) not null, varchar(200) not null, varchar(200) not null create table `DIPLOMSKI`.`DOBAVLJAC` ( IDDOBAVLJACA int NOT NULL AUTO_INCREMENT PRIMARY KEY, NAZIVDOBAVLJACA varchar(30) not null, ADRESADOBAVLJACA varchar(30) not null, TELEFONDOBAVLJACA varchar(30) not null, DOBAVLJACA varchar(40) not null ); create table `DIPLOMSKI`.`KORISNIK` ( IDSTATUSA int, IDKORISNIKA int NOT NULL AUTO_INCREMENT PRIMARY KEY, IMEKORISNIKA varchar(30) not null, PREZIMEKORISNIKA varchar(30) not null, KRISNICKOIME varchar(30) not null, SIFRA varchar(50) not null ); create table `DIPLOMSKI`.`KUPAC` ( IDKORISNIKA int NOT NULL AUTO_INCREMENT PRIMARY KEY, JMBG int, ADRESAKUPCA varchar(30) not null, TELEFONKUPCA varchar(30) not null, KUPCA varchar(30) not null ); create table `DIPLOMSKI`.`MESTO` ( PTTMESTA int NOT NULL AUTO_INCREMENT PRIMARY KEY, IDDOBAVLJACA int, IDKORISNIKA int, NAZIVMESTA varchar(100) not null ); create table `DIPLOMSKI`.`NARUDZBENICADOBAVLJACU` ( IDNARUDZBENICEPRODAVCA int NOT NULL AUTO_INCREMENT PRIMARY KEY, IDKORISNIKA int not null, IDPROIZVODA int, STA_IDNARUDZBENICEPRODAVCA int, DATUMUPLATE date not null, DATUMPRIJEMAROBE date not null, DATUMNARUCIVANJAPRODAVCA date not null ) create table `DIPLOMSKI`.`NARUDZBENICAKUPCA` ( IDNARUDZBENICE int NOT NULL AUTO_INCREMENT PRIMARY KEY, IDKORISNIKA int not null, IDPROIZVODA int, STA_IDNARUDZBENICE int, DATUMUPLATE date not null, DATUMNARUCIVANJA date not null, DATUMISPORUKE date not null ); create table `DIPLOMSKI`.`PRODAVAC` ( 40

41 IDKORISNIKA STRUCNASPREMA RADNOMESTO ); int NOT NULL AUTO_INCREMENT PRIMARY KEY, varchar(30) not null, varchar(50) not null create table `DIPLOMSKI`.`PROIZVOD` ( IDPROIZVODA int NOT NULL AUTO_INCREMENT PRIMARY KEY, IDDOBAVLJACA int, NAZIVPROIZVODA varchar(50) not null, SLIKAPROIZVODA longblob not null ); create table `DIPLOMSKI`.`STAVKA_NARUDZBENICE` ( IDPROIZVODA int, IDNARUDZBENICEPRODAVCA int, KOMADA int ); create table `DIPLOMSKI`.`STAVKA_NARUDZBENICE_KUPCA` ( IDPROIZVODA int, IDNARUDZBENICE int, KOLICINA int ); create table `DIPLOMSKI`.`TIPBILJKE` ( IDTIPBILJKE int NOT NULL AUTO_INCREMENT PRIMARY KEY, NAZIVTIPBILJKE varchar(30) not null ); alter table `DIPLOMSKI`.`BILJKA` add constraint FK_JE_TIPA foreign key (IDPROIZVODA) references `DIPLOMSKI`.PROIZVOD (IDPROIZVODA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`BILJKA` add constraint FK_PRIPADA foreign key (IDTIPBILJKE) references `DIPLOMSKI`.`TIPBILJKE` (IDTIPBILJKE) on delete restrict on update cascade; alter table `DIPLOMSKI`.`KUPAC` add constraint FK_STATUS foreign key (IDKORISNIKA) references `DIPLOMSKI`.`KORISNIK` (IDKORISNIKA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`MESTO` add constraint FK_SE_NALAZI foreign key (IDDOBAVLJACA) references `DIPLOMSKI`.`DOBAVLJAC` (IDDOBAVLJACA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`MESTO` add constraint FK_ZIVI_U foreign key (IDKORISNIKA) references `DIPLOMSKI`.`KUPAC` (IDKORISNIKA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`NARUDZBENICADOBAVLJACU` add constraint FK_JE_NAPISAO foreign key (IDKORISNIKA) references `DIPLOMSKI`.`PRODAVAC` (IDKORISNIKA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`NARUDZBENICAKUPCA` add constraint FK_JE_KREIRAO foreign key (IDKORISNIKA) references `DIPLOMSKI`.`KUPAC` (IDKORISNIKA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`PRODAVAC` add constraint FK_STATUS2 foreign key (IDKORISNIKA) references `DIPLOMSKI`.`KORISNIK` (IDKORISNIKA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`PROIZVOD` add constraint FK_ISPOROCUJE foreign key (IDDOBAVLJACA) references `DIPLOMSKI`.`DOBAVLJAC` (IDDOBAVLJACA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`STAVKA_NARUDZBENICE` add constraint FK_JE_NARUCENA foreign key (IDPROIZVODA) references `DIPLOMSKI`.`PROIZVOD` (IDPROIZVODA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`STAVKA_NARUDZBENICE` add constraint FK_SADRZI foreign key (IDNARUDZBENICEPRODAVCA) 41

42 references `DIPLOMSKI`.`NARUDZBENICADOBAVLJACU` (IDNARUDZBENICEPRODAVCA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`STAVKA_NARUDZBENICE_KUPCA` add constraint FK_JE_NARUCENO2 foreign key (IDPROIZVODA) references `DIPLOMSKI`.`PROIZVOD` (IDPROIZVODA) on delete restrict on update cascade; alter table `DIPLOMSKI`.`STAVKA_NARUDZBENICE_KUPCA` add constraint FK_SADRZI1 foreign key (IDNARUDZBENICE) references `DIPLOMSKI`.`NARUDZBENICAKUPCA` (IDNARUDZBENICE) on delete restrict on update cascade; Tabela 5. Prikaz SQL Script-a koja će kreirati bazu na serveru sa potrebnim tabelama generisana pomoću PDM-a i prilagođena U početnoj verziji aplikacije korišćena je sledeća baza podataka: CREATE DATABASE `DIPLOMSKI` CHARACTER SET utf8 COLLATE utf8_general_ci; create table `DIPLOMSKI`.`PROIZVOD` ( ID int NOT NULL AUTO_INCREMENT PRIMARY KEY, NAZIVPROIZVODA varchar(30) not null, SIFRAPROIZVODA int not null, ZALIVANJE varchar(100) not null, PRIHRANA varchar (100) not null, NAZIVSLIKE varchar(50) null, CENA float not null, IDVRSTAPROIZVODA int not null ); create table `DIPLOMSKI`.`VRSTAPROIZVODA` ( ID int NOT NULL AUTO_INCREMENT PRIMARY KEY, NAZIV varchar(100) not null, UKUPANBROJPROIZVODA int ); alter table `DIPLOMSKI`.`PROIZVOD` add constraint FK_PRIPADA foreign key ( IDVRSTAPROIZVODA) references `DIPLOMSKI`.`VRSTAPROIZVODA` (ID) on delete restrict on update cascade; create table `DIPLOMSKI`.`KORISNIK` ( IDKORISNIKA int NOT NULL AUTO_INCREMENT PRIMARY KEY, PREZIME varchar(50) not null, IME varchar(40) not null, varchar(60) not null, KORISNICKOIME varchar(30) not null, SIFRA varchar(30) not null, URLSLIKE varchar(250) null, STATUS varchar(30) not null 42

43 ); INSERT INTO `DIPLOMSKI`.`KORISNIK` (PREZIME, IME, , KORISNICKOIME, SIFRA, URLSLIKE, STATUS) VALUES ('Jovana', 'Josic', 'joca', 'joca', 'Jovana.jpg', 'admin'); INSERT INTO `DIPLOMSKI`.`KORISNIK` (PREZIME, IME, , KORISNICKOIME, SIFRA, URLSLIKE, STATUS) VALUES ('Pavle', 'Pavlovic', 'pavle', 'pavle', 'Pavle.jpg', 'korisnik'); INSERT INTO `DIPLOMSKI`.`VRSTAPROIZVODA` (NAZIV, UKUPANBROJPROIZVODA) VALUES ('Cvetnica', '0'); INSERT INTO `DIPLOMSKI`.`VRSTAPROIZVODA` (NAZIV, UKUPANBROJPROIZVODA) VALUES ('Drvenasta', '0'); INSERT INTO `DIPLOMSKI`.`VRSTAPROIZVODA` (NAZIV, UKUPANBROJPROIZVODA) VALUES ('Zbunasta', '0'); Tabela 6. Prikaz SQL Script-a baze korišćene u radu Kada se kreira baza može se prikazati i dizajn sa relacijama u prozoru phpmyadmin radi detaljnijeg prikaza odnosa tabela. Dizajn baze koja se kreira iz PDM modela se prikazuje na sledećoj slici. Slika 35. Dizajn baze Kada kreiramo bazu podataka, u nju dodajemo sledeće naredbe za kreiranje procedure i pogleda. Pogled CREATE VIEW `DIPLOMSKI`.`SVIPROIZVODI` AS `DIPLOMSKI`.`PROIZVOD`; SELECT * FROM 43

44 CREATE VIEW `DIPLOMSKI`.`SVIPODACIOPROIZVODIMA` AS select NazivSlike, SIFRAPROIZVODA, ZALIVANJE, PRIHRANA, CENA, NAZIV AS NAZIVPROIZVODA from `DIPLOMSKI`.`PROIZVOD` INNER JOIN `DIPLOMSKI`.`VRSTAPROIZVODA` ON `DIPLOMSKI`.`PROIZVOD`.`IDVRSTAPROIZVODA`=`DIPLOMSKI`.`VRSTAPR OIZVODA`.`ID`; Tabela 6. Prikaz naredbi pogleda iz rada Stored procedura Procedura USE `DIPLOMSKI`; DROP procedure IF EXISTS `DodajProizvod`; DELIMITER $$ CREATE PROCEDURE `DodajProizvod` ( IN SIFRAPROIZVODA int, IN NAZIVPROIZVODA varchar(30), IN ZALIVANJE varchar(100), IN PRIHRANA varchar(100), IN CENA float, IN IDVRSTAPROIZVODA int, IN NAZIVSLIKE varchar (50)) BEGIN INSERT INTO `PROIZVOD` (`SIFRAPROIZVODA`, `NAZIVPROIZVODA`, `ZALIVANJE`, `IDVRSTAPROIZVODA`, `PRIHRANA`, `CENA`, `NAZIVSLIKE`) VALUES (SIFRAPROIZVODA, NAZIVPROIZVODA, ZALIVANJE, IDVRSTAPROIZVODA, PRIHRANA, CENA, NAZIVSLIKE); END $$ DELIMITER ; Tabela 7. Prikaz koda procedure Ključni delovi koda sa objašnjenjima Ključni delovi programskog koda sastoje se iz dva dela: Deo koda za dizajn korisničkog interfejsa koji je u osnovi HTML i CSS, sa elementima PHP naredbi kojima se radi sa podacima iz baze podataka. Ovaj deo programskog koda je prilagođen u odnosu na materijal sa vežbi iz predmeta Inforamcioni sistemi 2. Deo koda za rad sa korpom, koji je preuzet sa interneta i prilagođen ovom primeru. Klasa Konekcija i parametri konekcije Klasa konekcija je univerzalna klasa, kojoj putem parametara konekcije dostavljamo potrebne podatek za konektovanje. <?php class Konekcija { // atributi public $UspehKonekcijeNaMYSQL; public $bazapodataka; 44

45 public $UspehKonekcijeNaBazuPodataka; // konstruktor //public _construct () //{} public function KonektujSe() { require 'kod_parametrikonekcije.php'; //$server = "localhost"; //$user_name = "root"; //$password = ""; //$bazapodataka="diplomski"; $this->bazapodataka=$bazapodataka; } $db_handle = mysql_connect($server, $user_name, $password); $this->uspehkonekcijenamysql=$db_handle; if (!$db_handle) { die(' Greska: '. mysql_error()); echo "<br/>"; } else { // dodatak da moze da radi sa UTF8 mysql_query('set NAMES "utf8"',$db_handle); } //KONEKCIJA KA BAZI PODATAKA $db_selected = mysql_select_db($bazapodataka, $db_handle); $this->uspehkonekcijenabazupodataka=$db_selected; if (!$db_selected) { die (' greska '. mysql_error()); echo "<br/>"; } else { } public function ZatvoriKonekciju() { mysql_close($this->uspehkonekcijenamysql); } }?> 45

46 PARAMETRI KONEKCIJE: <?php $server = "localhost:3309"; $user_name = "root"; $password = ""; $bazapodataka="diplomski";?> Klase modela Primer klase modela je clsproizvod koji koristi stored proceduru za snimanje novog proizvoda. <?php class clsproizvod { // ATRIBUTI private $bazapodataka; private $UspehKonekcijeNaDBMS; // public $NAZIVPROIZVODA; public $ZEMLJISTE; public $PRIHRANA; public $SIFRAPROIZVODA; public $ZALIVANJE; // dodatno public $NAZIVSLIKE; public $CENA; public $IDVRSTAPROIZVODA; // METODE // konstruktor public function construct($otvorenakonekcija) { // inicijalizacija vrednosti atributa $this->bazapodataka = $otvorenakonekcija->bazapodataka; $this->uspehkonekcijenadbms = $otvorenakonekcija->uspehkonekcijenamysql; } public function DajKolekcijuSvih() { $SQL = "select * from `". $this->bazapodataka. "`.`PROIZVOD` ORDER BY SIFRAPROIZVODA DESC"; $result = mysql_query($sql); return $result; 46

47 } public function DajKolekcijuFiltrirano($filterPolje, $filtervrednost, $nacinfiltriranja, $Sortiranje) { if ($nacinfiltriranja == "like") { $SQL = "select * from `". $this->bazapodataka. "`.`PROIZVOD` WHERE $filterpolje like '%". $filtervrednost. "%' ORDER BY $Sortiranje"; } else { $SQL = "select * from `". $this->bazapodataka. "`.`PROIZVOD` WHERE $filterpolje ='". $filtervrednost. "' ORDER BY $Sortiranje"; } $result = mysql_query($sql); } return $result; public function DajUkupanBrojSvih($KolekcijaZapisa) { $num_rows = mysql_num_rows($kolekcijazapisa); } return $num_rows; public function JedinstvenZapis() { $Jedinstven = false; $KolekcijaZapisa = $this->dajkolekcijufiltrirano("sifraproizvoda", $this- >SIFRAPROIZVODA, "=", "SIFRAPROIZVODA"); $UkupanBrojZapisa = $this->dajukupanbrojsvih($kolekcijazapisa); if ($UkupanBrojZapisa == 0) { $Jedinstven = true; } else { $Jedinstven = false; } return $Jedinstven; } public function DodajNovo() { // VALIDACIJE // Ispravnost datuma // JedinstvenostZapisa if ($this->jedinstvenzapis()) { var_dump($this->zalivanje); $resultnazivproizvoda = $this->nazivproizvoda. '"', $this->uspehkonekcijenadbms); $resultzalivanje = $this->zalivanje. '"', $this->uspehkonekcijenadbms); 47

48 $resultprihrana = $this->prihrana. '"', $this->uspehkonekcijenadbms); $resultcena = $this->cena, $this- >UspehKonekcijeNaDBMS); $resultidvrstaproizvoda = $this->idvrstaproizvoda, $this->uspehkonekcijenadbms); $resultnazivslike = $this- >NAZIVSLIKE. "'", $this->uspehkonekcijenadbms); $resultsifraproizvoda = $this- >SIFRAPROIZVODA. "'", $this->uspehkonekcijenadbms); $sqlcall = @CENA, $retval = mysql_query($sqlcall, $this->uspehkonekcijenadbms); $greska = mysql_error(); } ELSE { $greska = "Podaci vec postoje u bazi sa istom sifrom:$this->sifraproizvoda!"; } } return $greska; // ostale metode }?> Poslovni objekti i poslovna pravila Poslovni objekat u ovom primeru je korpa, a poslovno pravilo se odnosi na popust, tj. primenu kupona. U ovom delu prikazana je stranica Korpa koja objedinjuje različite komponente (poslovni objekat, poslovno pravilo i prezentacioni sloj), koje bi trebalo odvojiti u posebne klase (Korpa, Popust) i ekranske forme za prikaz korpe i stampu. Ipak, u ovoj verziji rada realizovano je kao objedinjena stranica Korpa.php koja ima sve funkcije. Poziv stranice Korpa dešava se na tasteru U KORPU u okviru iscrtavanja tabelarnog prikaza robe: // CRTANJE REDA TABELE SA PODACIMA echo "<tr>"; echo " <td>"; echo " <font face=\"trebuchet MS\" color:#3f4534 size=\"2px\">$nazivproizvoda</font><br/>"; echo " </td>"; 48

49 echo " <td>"; echo " <b><font face=\"trebuchet MS\" color:#3f4534 size=\"2px\">$zalivanje</font><br/>"; echo " </td>"; echo "<td>"; echo "<b><font face=\"trebuchet MS\" color:#3f4534 size=\"2px\">$prihrana</font><br/>"; echo "</td>"; echo "<td>"; echo "<b><font face=\"trebuchet MS\" color:#3f4534 size=\"2px\">$cena</font><br/>"; echo "</td>"; echo "<td>"; echo "<b><font face=\"trebuchet MS\" color:#3f4534 size=\"2px\">$sifraproizvoda</font><br/>"; echo "</td>"; echo "<td>"; echo '<a href="/diplomski/korpa.php?akcija=dodaj&id='.$id.'"><button>u Korpu</button></a><br/>'; echo "</td>"; echo "</tr>"; U projekat je dodat programski kod stranice korpa.php koja omogućava dodavanje proizvoda iz baze u formu i prikaz sa cenom koja se inkrementira prilikom dodavanja svakog proizvoda. Slika 36. Deo koda korpa.php Pomoću prethodnog koda, omogućava se upis podataka u korpu i definiše se popust koji će biti biti obračunat na formi ukoliko se unese. Proizvod se dodaje u korpu preko Id-a i prilikom svakog dodavanje proverava se Id i inkrementira ako već postoji upisan proizvod. 49

50 Na sledećoj slici biće prikazan kod koji omogućava pridruživanje proizvoda korpi, jednostavnom metodom join i taj isti proizvod se preko Id-a upisuje u korpu. Slika 37. Kod upisa proizvoda u korpu. U okviru iste stranice Korpa prikazuje se i spisak robe. Da bi se prikazale tabele i delovi sa ispisom naziva podataka potrebno je uneti sledeći kod koji će kreirati dugmad za unos popusta, prikaz naziva proizvoda, cene.. Slika 38. Kod za kreiranje dugmeta za Stampu i uklanjanje podataka Za štampanje prikaza ekrana narudžbenice iskorišćen je kod javascript koji je u dva koraka omogućio štampanje podataka sa ekrana. Naravno, kada bi se aplikacija razvijala za realnu primenu moralo bi se dosta delova izmeniti da bi u potpunosti funkcionisalo sve, ali je u suštini delimično završena da bi demonstrirala web aplikaciju koja nam je bila potrebna za rad. Slika 39. Prikaz aktivacije dugmeta Stampa sa forme korpe koristeći JavaScript 50

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije Biznis scenario: U školi postoje četiri sekcije sportska, dramska, likovna i novinarska. Svaka sekcija ima nekoliko aktuelnih projekata. Likovna ima četiri projekta. Za projekte Pikaso, Rubens i Rembrant

More information

Podešavanje za eduroam ios

Podešavanje za eduroam ios Copyright by AMRES Ovo uputstvo se odnosi na Apple mobilne uređaje: ipad, iphone, ipod Touch. Konfiguracija podrazumeva podešavanja koja se vrše na računaru i podešavanja na mobilnom uređaju. Podešavanja

More information

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings Eduroam O Eduroam servisu Eduroam - educational roaming je besplatan servis za pristup Internetu. Svojim korisnicima omogućava bezbedan, brz i jednostavan pristup Internetu širom sveta, bez potrebe za

More information

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB. 9.72 8.24 6.75 6.55 6.13 po 9.30 7.89 5.86 10.48 8.89 7.30 7.06 6.61 11.51 9.75 8.00 7.75 7.25 po 0.38 10.21 8.66 7.11 6.89 6.44 11.40 9.66 9.73 7.69 7.19 12.43 1 8.38 7.83 po 0.55 0.48 0.37 11.76 9.98

More information

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević GUI Layout Manager-i Bojan Tomić Branislav Vidojević Layout Manager-i ContentPane Centralni deo prozora Na njega se dodaju ostale komponente (dugmići, polja za unos...) To je objekat klase javax.swing.jpanel

More information

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan. SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan. 1) Kod pravilnih glagola, prosto prošlo vreme se gradi tako

More information

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI Za pomoć oko izdavanja sertifikata na Windows 10 operativnom sistemu možete se obratiti na e-mejl adresu esupport@eurobank.rs ili pozivom na telefonski broj

More information

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a NIS PETROL Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a Beograd, 2018. Copyright Belit Sadržaj Disable... 2 Komentar na PHP kod... 4 Prava pristupa... 6

More information

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd, AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje Marko Eremija Sastanak administratora, Beograd, 12.12.2013. Sadržaj eduroam - uvod AMRES eduroam statistika Novine u okviru eduroam

More information

Otpremanje video snimka na YouTube

Otpremanje video snimka na YouTube Otpremanje video snimka na YouTube Korak br. 1 priprema snimka za otpremanje Da biste mogli da otpremite video snimak na YouTube, potrebno je da imate kreiran nalog na gmailu i da video snimak bude u nekom

More information

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri. Potprogrami su delovi programa. Često se delovi koda ponavljaju u okviru nekog programa. Logično je da se ta grupa komandi izdvoji u potprogram, i da se po želji poziva u okviru programa tamo gde je potrebno.

More information

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE CJENOVNIK KABLOVSKA TV Za zasnivanje pretplatničkog odnosa za korištenje usluga kablovske televizije potrebno je da je tehnički izvodljivo (mogude) priključenje na mrežu Kablovskih televizija HS i HKBnet

More information

SAS On Demand. Video: Upute za registraciju:

SAS On Demand. Video:  Upute za registraciju: SAS On Demand Video: http://www.sas.com/apps/webnet/video-sharing.html?bcid=3794695462001 Upute za registraciju: 1. Registracija na stranici: https://odamid.oda.sas.com/sasodaregistration/index.html U

More information

1. Instalacija programske podrške

1. Instalacija programske podrške U ovom dokumentu opisana je instalacija PBZ USB PKI uređaja na računala korisnika PBZCOM@NET internetskog bankarstva. Uputa je podijeljena na sljedeće cjeline: 1. Instalacija programske podrške 2. Promjena

More information

STRUČNA PRAKSA B-PRO TEMA 13

STRUČNA PRAKSA B-PRO TEMA 13 MAŠINSKI FAKULTET U BEOGRADU Katedra za proizvodno mašinstvo STRUČNA PRAKSA B-PRO TEMA 13 MONTAŽA I SISTEM KVALITETA MONTAŽA Kratak opis montže i ispitivanja gotovog proizvoda. Dati izgled i sadržaj tehnološkog

More information

Upute za korištenje makronaredbi gml2dwg i gml2dgn

Upute za korištenje makronaredbi gml2dwg i gml2dgn SVEUČILIŠTE U ZAGREBU - GEODETSKI FAKULTET UNIVERSITY OF ZAGREB - FACULTY OF GEODESY Zavod za primijenjenu geodeziju; Katedra za upravljanje prostornim informacijama Institute of Applied Geodesy; Chair

More information

Port Community System

Port Community System Port Community System Konferencija o jedinstvenom pomorskom sučelju i digitalizaciji u pomorskom prometu 17. Siječanj 2018. godine, Zagreb Darko Plećaš Voditelj Odsjeka IS-a 1 Sadržaj Razvoj lokalnog PCS

More information

Uvod u relacione baze podataka

Uvod u relacione baze podataka Uvod u relacione baze podataka 25. novembar 2011. godine 7. čas SQL skalarne funkcije, operatori ANY (SOME) i ALL 1. Za svakog studenta izdvojiti ime i prezime i broj različitih ispita koje je pao (ako

More information

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA KOŽA I TEKSTIL ALU FELGE CJENIK APLIKACIJE CERAMIC PRO PROIZVODA Radovi prije aplikacije: Prije nanošenja Ceramic Pro premaza površina vozila na koju se nanosi mora bi dovedena u korektno stanje. Proces

More information

Rešavanje problema pomoću računara

Rešavanje problema pomoću računara Rešavanje problema pomoću računara Vladimir Filipović vladaf@matf.bg.ac.rs Softversko inženjerstvo Šta podrazumevamo pod softverskim inženjerstvom? vladaf@matf.bg.ac.rs 2/16 Konstrukcija prevodilaca Prevođenje

More information

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09 MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09 LAB 09 Fizički model podatka 1. Fizički model podataka Fizički model podataka omogućava da se definiše struktura baze podataka sa stanovišta fizičke

More information

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY Softverski sistem Survey za geodeziju, digitalnu topografiju i projektovanje u niskogradnji instalira se na sledeći način: 1. Instalirati grafičko okruženje pod

More information

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6.

PLAN RADA. 1. Počnimo sa primerom! 2. Kako i zašto? 3. Pejzaž višestruke upotrebe softvera 4. Frameworks 5. Proizvodne linije softvera 6. KOREKTAN PREVOD? - Reupotrebljiv softver? ( ne postoji prefiks RE u srpskom jeziku ) - Ponovo upotrebljiv softver? ( totalno bezveze ) - Upotrebljiv više puta? - Itd. PLAN RADA 1. Počnimo sa primerom!

More information

Tutorijal za Štefice za upload slika na forum.

Tutorijal za Štefice za upload slika na forum. Tutorijal za Štefice za upload slika na forum. Postoje dvije jednostavne metode za upload slika na forum. Prva metoda: Otvoriti nova tema ili odgovori ili citiraj već prema želji. U donjem dijelu obrasca

More information

Pravljenje Screenshota. 1. Korak

Pravljenje Screenshota. 1. Korak Prvo i osnovno, da biste uspesno odradili ovaj tutorijal, morate imati instaliran GOM Player. Instalacija je vrlo jednostavna, i ovaj player u sebi sadrzi sve neophodne kodeke za pustanje video zapisa,

More information

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT Univerzitet u Novom Sadu Fakultet tehničkih nauka Odsek za računarsku tehniku i računarske komunikacije Uvod u GIT Šta je git? Sistem za verzionisanje softvera kao i CVS, SVN, Perforce ili ClearCase Orginalno

More information

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT TRAJANJE AKCIJE 16.01.2019-28.02.2019 ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT Akcija sa poklonima Digitally signed by pki, pki, BOSCH, EMEA, BOSCH, EMEA, R, A, radivoje.stevanovic R, A, 2019.01.15 11:41:02

More information

za STB GO4TV in alliance with GSS media

za STB GO4TV in alliance with GSS media za STB Dugme za uključivanje i isključivanje STB uređaja Browser Glavni meni Osnovni meni Vrsta liste kanala / omiljeni kanali / kraći meni / organizacija kanala / ponovno pokretanje uređaja / ponovno

More information

Aplikacija za podršku transferu tehnologija

Aplikacija za podršku transferu tehnologija Aplikacija za podršku transferu tehnologija uputstvo za instalaciju i administraciju sistema Doc. dr Vladimir Ćirić dipl. inž. Darko Tasić septembar 2012. 2 Sadržaj Uputstvo za instalaciju i administraciju

More information

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik) JEDINSTVENI PORTAL POREZNE UPRAVE Priručnik za instalaciju Google Chrome dodatka (Opera preglednik) V1 OPERA PREGLEDNIK Opera preglednik s verzijom 32 na dalje ima tehnološke promjene zbog kojih nije moguće

More information

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB UPUTSTVO za ruter TP-LINK TD-854W/ TD-W8951NB Uputstvo za ruter TP-Link TD-854W / TD-W8951NB 2 PRAVILNO POVEZIVANJE ADSL RUTERA...4 PODEŠAVANJE KONEKCIJE PREKO MREŽNE KARTE ETHERNET-a...5 PODEŠAVANJE INTERNET

More information

DEFINISANJE TURISTIČKE TRAŽNJE

DEFINISANJE TURISTIČKE TRAŽNJE DEFINISANJE TURISTIČKE TRAŽNJE Tražnja se može definisati kao spremnost kupaca da pri različitom nivou cena kupuju različite količine jedne robe na određenom tržištu i u određenom vremenu (Veselinović

More information

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS - Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS 1. Pokrenite Adobe Photoshop CS i otvorite novi dokument sa komandom File / New 2. Otvoriće se dijalog

More information

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ DIZAJN TRENINGA Model trening procesa FAZA DIZAJNA CILJEVI TRENINGA Vrste ciljeva treninga 1. Ciljevi učesnika u treningu 2. Ciljevi učenja Opisuju željene

More information

1.UVOD. Ključne reči: upotrebljivost, praćenje, korisnički interfejs, aplikacija

1.UVOD. Ključne reči: upotrebljivost, praćenje, korisnički interfejs, aplikacija EVALUACIJA UPOTREBLJIVOSTI KORISNIČKOG INTERFEJSA VEB APLIKACIJA UZ POMOĆ METODA ZA AUTOMATSKO PRIKUPLJANJE PODATAKA O KORIŠĆENJU EVALUATION USABILITY OF USER INTERFACE WEB APPLICATIONS BY METHODS FOR

More information

DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO DOO PODGORICA

DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO DOO PODGORICA CRNA GORA (1}(02.17&r/4 Ver. O;:, fjr}/ ~ AGENCUA ZA ELEKTRONSKE KOM~~IKACUE J.O.O "\\ L\lax Montenegro" BrOJ o/-lj Podoor'ca.d:ioL 20/1g0d I POSTANSKU DEJATELNOST DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO

More information

PROJEKTNI PRORAČUN 1

PROJEKTNI PRORAČUN 1 PROJEKTNI PRORAČUN 1 Programski period 2014. 2020. Kategorije troškova Pojednostavlj ene opcije troškova (flat rate, lump sum) Radni paketi Pripremni troškovi, troškovi zatvaranja projekta Stope financiranja

More information

mdita Editor - Korisničko uputstvo -

mdita Editor - Korisničko uputstvo - mdita Editor - Korisničko uputstvo - Sadržaj 1. Minimalna specifikacija računara... 3 2. Uputstvo za instalaciju aplikacije... 3 3. Korisničko uputstvo... 11 3.1 Odabir File opcije iz menija... 11 3.2

More information

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION

ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION VFR AIP Srbija / Crna Gora ENR 1.4 1 ENR 1.4 OPIS I KLASIFIKACIJA VAZDUŠNOG PROSTORA U KOME SE PRUŽAJU ATS USLUGE ENR 1.4 ATS AIRSPACE CLASSIFICATION AND DESCRIPTION 1. KLASIFIKACIJA VAZDUŠNOG PROSTORA

More information

11 Analiza i dizajn informacionih sistema

11 Analiza i dizajn informacionih sistema 11 Analiza i dizajn informacionih sistema Informatika V.Prof.dr Kemal Hajdarević dipl.ing.el 25.4.2014 11:58:28 1 1. Kompjuter, Internet, i mrežne osnove 2. Kompjuterska industrija Informatika u stomatologiji

More information

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU KONFIGURACIJA MODEMA ZyXEL Prestige 660RU Sadržaj Funkcionalnost lampica... 3 Priključci na stražnjoj strani modema... 4 Proces konfiguracije... 5 Vraćanje modema na tvorničke postavke... 5 Konfiguracija

More information

Veb portal za aukcijsku prodaju - projekat -

Veb portal za aukcijsku prodaju - projekat - Univerzitet u Beogradu Elektrotehnički fakultet Katedra za računarsku tehniku i informatiku Predmet: Infrastruktura za elektronsko poslovanje Datum: 6.5.2018. Asistent: Nemanja Kojic (nemanja.kojic@etf.rs)

More information

KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES

KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES INFOTEH-JAHORINA Vol. 10, Ref. E-I-11, p. 441-445, March 2011. KREIRANJE DINAMIČKIH INTERFEJSA ZASNOVANIH NA META-ŠEMAMA CREATION OF DYNAMIC INTERFACES BASED ON META-SCHEMES Vladimir Vujović, Elektrotehnički

More information

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08

MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08 MRS MRSLab08 Metodologija Razvoja Softvera Vežba 08 LAB 08 Konceptualni model podataka Logički model podataka 1. Konceptualni model podataka Modeli podataka omogućavaju modelovanje semantičke i logičke

More information

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

OBJEKTNO ORIJENTISANO PROGRAMIRANJE OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 3 DEFINICIJA KLASE U JAVI Miloš Kovačević Đorđe Nedeljković 1 /18 OSNOVNI KONCEPTI - Polja - Konstruktori - Metode - Parametri - Povratne vrednosti - Dodela

More information

EUnet dial-up konfigurator

EUnet dial-up konfigurator Dubrovačka 35/III 11000 Beograd tel/fax: (011) 3305-678 office@eunet.yu Tehnička podrška: tel: (011) 3305-633 support@eunet.yu EUnet dial-up konfigurator - korisničko uputstvo - Ovaj program namenjen je

More information

Mindomo online aplikacija za izradu umnih mapa

Mindomo online aplikacija za izradu umnih mapa Mindomo online aplikacija za izradu umnih mapa Mindomo je online aplikacija za izradu umnih mapa (vrsta dijagrama specifične forme koji prikazuje ideje ili razmišljanja na svojevrstan način) koja omogućuje

More information

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći:

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se moći: Pogledi Ciljevi Poslije kompletiranja ove lekcije trebalo bi se moći: Opisati pogled Formirati novi pogled Vratiti podatke putem pogleda Izmijeniti postojeći pogled Insertovani, ažurirati i brisati podatke

More information

Primer izrade dinamičkog sajta

Primer izrade dinamičkog sajta Primer izrade dinamičkog sajta U ovom odeljku opisademo postupak izrade jednostavnog dinamičkog sajta elektronske prodavnice. Struktura sajta Sajt se sastoji iz četiri celine. Prvi deo, početna strana,

More information

Visoka škola strukovnih studija za informacione i komunikacione tehnologije. SMS Gateway. Dr Nenad Kojić

Visoka škola strukovnih studija za informacione i komunikacione tehnologije. SMS Gateway. Dr Nenad Kojić Visoka škola strukovnih studija za informacione i komunikacione tehnologije SMS Gateway Dr Nenad Kojić Uvod SMS Gateway-i najčešće predstavljaju desktop aplikacije koji treba da omoguće korisničkim aplikacijama

More information

Klasterizacija. NIKOLA MILIKIĆ URL:

Klasterizacija. NIKOLA MILIKIĆ   URL: Klasterizacija NIKOLA MILIKIĆ EMAIL: nikola.milikic@fon.bg.ac.rs URL: http://nikola.milikic.info Klasterizacija Klasterizacija (eng. Clustering) spada u grupu tehnika nenadgledanog učenja i omogućava grupisanje

More information

Windows Easy Transfer

Windows Easy Transfer čet, 2014-04-17 12:21 - Goran Šljivić U članku o skorom isteku Windows XP podrške [1] koja prestaje 8. travnja 2014. spomenuli smo PCmover Express i PCmover Professional kao rješenja za preseljenje korisničkih

More information

Bušilice nove generacije. ImpactDrill

Bušilice nove generacije. ImpactDrill NOVITET Bušilice nove generacije ImpactDrill Nove udarne bušilice od Bosch-a EasyImpact 550 EasyImpact 570 UniversalImpact 700 UniversalImpact 800 AdvancedImpact 900 Dostupna od 01.05.2017 2 Logika iza

More information

Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima

Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima 1. Uvod 2. Preuzimanje programa i stvaranje mapa 3. Instalacija Apachea 4. Konfiguracija Apachea 5. Instalacija PHP-a 6. Konfiguracija

More information

Direktan link ka kursu:

Direktan link ka kursu: Alat Alice može da se preuzme sa sledeće adrese: www.alice.org Kratka video uputstva posvećena alatu Alice: https://youtu.be/eq120m-_4ua https://youtu.be/tkbucu71lfk Kurs (engleski) posvećen uvodu u Java

More information

BENCHMARKING HOSTELA

BENCHMARKING HOSTELA BENCHMARKING HOSTELA IZVJEŠTAJ ZA SVIBANJ. BENCHMARKING HOSTELA 1. DEFINIRANJE UZORKA Tablica 1. Struktura uzorka 1 BROJ HOSTELA BROJ KREVETA Ukupno 1016 643 1971 Regije Istra 2 227 Kvarner 4 5 245 991

More information

TEHNIKA I INFORMATIKA U OBRAZOVANJU

TEHNIKA I INFORMATIKA U OBRAZOVANJU TEHNIKA I INFORMATIKA U OBRAZOVANJU Konferencija 32000 Čačak 9-11. Maja 2008. UDK: 371.333::62/69 Stručni rad KREIRANJE OAE TUTORIJALA PRIMENOM ALATA CAMTASIA STUDIO Danijela Milošević 1, Maja Božović

More information

Struktura i organizacija baza podataka

Struktura i organizacija baza podataka Fakultet tehničkih nauka, DRA, Novi Sad Predmet: Struktura i organizacija baza podataka Dr Slavica Aleksić, Milanka Bjelica, Nikola Obrenović Primer radnik({mbr, Ime, Prz, Sef, Plt, God, Pre}, {Mbr}),

More information

3D GRAFIKA I ANIMACIJA

3D GRAFIKA I ANIMACIJA 1 3D GRAFIKA I ANIMACIJA Uvod u Flash CS3 Šta će se raditi? 2 Upoznavanje interfejsa Osnovne osobine Definisanje osnovnih entiteta Rad sa bojama Rad sa linijama Definisanje i podešavanje ispuna Pregled

More information

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine UNIVERZITETUBEOGRADU RUDARSKOGEOLOŠKIFAKULTET DEPARTMANZAHIDROGEOLOGIJU ZBORNIKRADOVA ZLATIBOR 1720.maj2012.godine XIVSRPSKISIMPOZIJUMOHIDROGEOLOGIJI ZBORNIKRADOVA IZDAVA: ZAIZDAVAA: TEHNIKIUREDNICI: TIRAŽ:

More information

IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE

IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE IMPLEMENTACIJA PODLOGE ZA SARADNJU KROKI ALATA SA ALATIMA ZA UML MODELOVANJE OPŠTE NAMENE IMPLEMENTATION OF BASIS FOR COOPERATION BETWEEN KROKI TOOL AND UML MODELING TOOLS Željko Ivković, Renata Vaderna,

More information

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020. Idejno rješenje: Dubrovnik 2020. Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020. vizualni identitet kandidature dubrovnika za europsku prijestolnicu kulture 2020. visual

More information

Nejednakosti s faktorijelima

Nejednakosti s faktorijelima Osječki matematički list 7007, 8 87 8 Nejedakosti s faktorijelima Ilija Ilišević Sažetak Opisae su tehike kako se mogu dokazati ejedakosti koje sadrže faktorijele Spomeute tehike su ilustrirae a izu zaimljivih

More information

SIMULACIONI MODELI ZASNOVANI NA AGENTIMA KAO PODRŠKA ODLUČIVANJU U ELEKTRONSKOM POSLOVANJU

SIMULACIONI MODELI ZASNOVANI NA AGENTIMA KAO PODRŠKA ODLUČIVANJU U ELEKTRONSKOM POSLOVANJU UNIVERZITET U BEOGRADU FAKULTET ORGANIZACIONIH NAUKA Sava K. Čavoški SIMULACIONI MODELI ZASNOVANI NA AGENTIMA KAO PODRŠKA ODLUČIVANJU U ELEKTRONSKOM POSLOVANJU Doktorska disertacija Beograd, 2016 1 UNIVERSITY

More information

Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu

Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu Slobodni softver za digitalne arhive: EPrints u Knjižnici Filozofskog fakulteta u Zagrebu Marijana Glavica Dobrica Pavlinušić http://bit.ly/ffzg-eprints Definicija

More information

IMPLEMENTACIJA TEHNIKA ZA POVEĆANJE BROJA PODRŽANIH KONKURENTNIH KORISNIKA VEB SAJTA

IMPLEMENTACIJA TEHNIKA ZA POVEĆANJE BROJA PODRŽANIH KONKURENTNIH KORISNIKA VEB SAJTA ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU IMPLEMENTACIJA TEHNIKA ZA POVEĆANJE BROJA PODRŽANIH KONKURENTNIH KORISNIKA VEB SAJTA Master rad Kandidat: Janko Sokolović 2012/3142 Mentor: doc. dr Zoran

More information

Office 365, upute za korištenje elektroničke pošte

Office 365, upute za korištenje elektroničke pošte Office 365, upute za korištenje elektroničke pošte Naša ustanova koristi uslugu elektroničke pošte u oblaku, u sklopu usluge Office 365. To znači da elektronička pošta više nije pohranjena na našem serveru

More information

POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU

POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU POSTUPAK IZRADE DIPLOMSKOG RADA NA OSNOVNIM AKADEMSKIM STUDIJAMA FAKULTETA ZA MENADŽMENT U ZAJEČARU (Usaglašeno sa procedurom S.3.04 sistema kvaliteta Megatrend univerziteta u Beogradu) Uvodne napomene

More information

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011. TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011. TECHNOLOGY, INFORMATICS AND EDUCATION FOR LEARNING AND KNOWLEDGE SOCIETY

More information

SOFTVERSKO INŽENJERSTVO INTELIGENTNIH SISTEMA

SOFTVERSKO INŽENJERSTVO INTELIGENTNIH SISTEMA UNIVERZITET U BEOGRADU FAKULTET ORGANIZACIONIH NAUKA Zoran V. Ševarac SOFTVERSKO INŽENJERSTVO INTELIGENTNIH SISTEMA doktorska disertacija Beograd, 2012. UNIVERSITY OF BELGRADE FACULTY OF ORGANIZATIONAL

More information

FAKULTET ZA POSLOVNU INFORMATIKU

FAKULTET ZA POSLOVNU INFORMATIKU FAKULTET ZA POSLOVNU INFORMATIKU Prof. dr Mladen Veinović Igor Franc Aleksandar Jevremović BAZE PODATAKA - PRAKTIKUM - Prvo izdanje Beograd 2006. Autori: Prof. dr Mladen Veinović Igor Franc Aleksandar

More information

Priprema podataka. NIKOLA MILIKIĆ URL:

Priprema podataka. NIKOLA MILIKIĆ   URL: Priprema podataka NIKOLA MILIKIĆ EMAIL: nikola.milikic@fon.bg.ac.rs URL: http://nikola.milikic.info Normalizacija Normalizacija je svođenje vrednosti na neki opseg (obično 0-1) FishersIrisDataset.arff

More information

POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA

POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA Master akademske studije Modul za logistiku 1 (MLO1) POSEBNA POGLAVLJA INDUSTRIJSKOG TRANSPORTA I SKLADIŠNIH SISTEMA angažovani su: 1. Prof. dr Momčilo Miljuš, dipl.inž., kab 303, mmiljus@sf.bg.ac.rs,

More information

GIGABIT PASSIVE OPTICAL NETWORK

GIGABIT PASSIVE OPTICAL NETWORK GIGABIT PASSIVE OPTICAL NETWORK O NAMA Ključni element savremenih sistema za isporuku sadržaja putem Interneta (Data, Voice, Video) je interakcija sa krajnjim korisnikom. Iza nas je vreme kada je svaki

More information

ONLINE APLIKACIJA ZA SLANJE OBAVIJESTI U PREDDEFINIRANO VRIJEME

ONLINE APLIKACIJA ZA SLANJE OBAVIJESTI U PREDDEFINIRANO VRIJEME SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Stručni studij ONLINE APLIKACIJA ZA SLANJE OBAVIJESTI U PREDDEFINIRANO VRIJEME Završni

More information

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti MRS LAB 03 MRSLab03 Metodologija Razvoja Softvera Vežba 03 Dijagrami aktivnosti 1. Dijagram aktivnosti Dijagram aktivnosti je UML dijagram koji modeluje dinamičke aspekte sistema. On predstavlja pojednostavljenje

More information

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011.

TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011. TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. Međunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011. TECHNOLOGY, INFORMATICS AND EDUCATION FOR LEARNING AND KNOWLEDGE SOCIETY

More information

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports.

Da bi se napravio izvještaj u Accessu potrebno je na izborniku Create odabrati karticu naredbi Reports. IZVJEŠTAJI U MICROSOFT ACCESS-u (eng. reports) su dijelovi baze podataka koji omogućavaju definiranje i opisivanje načina ispisa podataka iz baze podataka na papir (ili PDF dokument). Način izrade identičan

More information

RANI BOOKING TURSKA LJETO 2017

RANI BOOKING TURSKA LJETO 2017 PUTNIČKA AGENCIJA FIBULA AIR TRAVEL AGENCY D.O.O. UL. FERHADIJA 24; 71000 SARAJEVO; BIH TEL:033/232523; 033/570700; E-MAIL: INFO@FIBULA.BA; FIBULA@BIH.NET.BA; WEB: WWW.FIBULA.BA SUDSKI REGISTAR: UF/I-1769/02,

More information

Web aplikacije juče, danas, sutra

Web aplikacije juče, danas, sutra Web aplikacije juče, danas, sutra Uvod Iskreno sam ubeđen da je svrha svake tehnologije da zadovolji određenu ljudsku potrebu. Čim se to promeni, bilo da tehnologija postane sama sebi svrha, spomenuta

More information

INTEGRACIJA MOBILNIH UREĐAJA U KORPORATIVNI SISTEM

INTEGRACIJA MOBILNIH UREĐAJA U KORPORATIVNI SISTEM ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU INTEGRACIJA MOBILNIH UREĐAJA U KORPORATIVNI SISTEM Master rad Kandidat: Mladen Steljić 2012/3260 Mentor: doc. dr Zoran Čiča Beograd, Septembar 2015. SADRŽAJ

More information

Uputstvo za korišćenje Asseco WEB 3.0 aplikacije za Fizička lica

Uputstvo za korišćenje Asseco WEB 3.0 aplikacije za Fizička lica Uputstvo za korišćenje Asseco WEB 3.0 aplikacije za Fizička lica Sadržaj: 1. SVRHA UPUTSTVA... 2 2. PODRUČJE PRIMENE... 2 3. OPIS UPUTSTVA... 2 4. OZNAKE I SKRAĆENICE... 32 Uputstvo za korišćenje Asseco

More information

VEB APLIKACIJA ZA IZBOR RESTORANA

VEB APLIKACIJA ZA IZBOR RESTORANA ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU VEB APLIKACIJA ZA IZBOR RESTORANA Diplomski rad Kandidat: Snežana Lilić 2004/0251 Mentor: doc. dr Zoran Čiča Beograd, Septembar 2015. SADRŽAJ SADRŽAJ...

More information

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu.

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu. Primer 3. Data je sledeća šema baze podataka S = (S, I ), pri čemu je skup šema relacija: S = { Dobavljač({ID_DOBAVLJAČA, NAZIV, STATUS, GRAD}, {ID_DOBAVLJAČA}), Deo({ID_DETALJA, NAZIV, BOJA, TEŽINA, GRAD},

More information

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll) Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll) pomodu razvojnog okruženja Microsoft Visual Studio 2010 Autor: dipl.ing. Nemanja Kojić, asistent Decembar 2013. Korak 1

More information

Mogudnosti za prilagođavanje

Mogudnosti za prilagođavanje Mogudnosti za prilagođavanje Shaun Martin World Wildlife Fund, Inc. 2012 All rights reserved. Mogudnosti za prilagođavanje Za koje ste primere aktivnosti prilagođavanja čuli, pročitali, ili iskusili? Mogudnosti

More information

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

Struktura indeksa: B-stablo.   ls/swd/btree/btree.html Struktura indeksa: B-stablo http://cis.stvincent.edu/html/tutoria ls/swd/btree/btree.html Uvod ISAM (Index-Sequential Access Method, IBM sredina 60-tih godina 20. veka) Nedostaci: sekvencijalno pretraživanje

More information

2. Objektno orjentirana analiza i dizajn poslovnih aplikacija, MVC model

2. Objektno orjentirana analiza i dizajn poslovnih aplikacija, MVC model 2. Objektno orjentirana analiza i dizajn poslovnih aplikacija, MVC model Evolucija kako je nastao objektno orjentirani pristup aplikacijama Objektno orjentirani (OO) pristup razvoju aplikacija pojavio

More information

VEB APLIKACIJA ZA IZBOR KOKTELA

VEB APLIKACIJA ZA IZBOR KOKTELA ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU VEB APLIKACIJA ZA IZBOR KOKTELA Diplomski rad Kandidat: Milorad Radojković 2009/258 Mentor: doc. dr Zoran Čiča Beograd, Oktobar 2015. SADRŽAJ SADRŽAJ...

More information

ADDIKO CHAT BANKING - ČESTO POSTAVLJANA PITANJA

ADDIKO CHAT BANKING - ČESTO POSTAVLJANA PITANJA ADDIKO CHAT BANKING - ČESTO POSTAVLJANA PITANJA a.d. Beograd je prva komercijalna banka u Srbiji koja nudi uslugu plaćanja putem Viber aplikacije. Reč je o modernom, inovativnom (prvi servis tog tipa u

More information

KatzeView Uputstvo. verzija Novi Sad Josifa Marinkovića 44. Tel: +381 (0) Fax: +381 (0) Mob: +381 (0)

KatzeView Uputstvo. verzija Novi Sad Josifa Marinkovića 44. Tel: +381 (0) Fax: +381 (0) Mob: +381 (0) KatzeView Uputstvo verzija 3.2.2 21000 Novi Sad Josifa Marinkovića 44 Tel: +381 (0)21 443-265 Fax: +381 (0)21 443-516 Mob: +381 (0)63 513-741 http://www.cardware.co.yu info@cardware.co.yu Sadržaj: 1 Sistemski

More information

AUDIO-VIZUELNA SREDSTVA

AUDIO-VIZUELNA SREDSTVA AUDIO-VIZUELNA SREDSTVA UPUTSTVO ZA PRIPREMU PREDISPITNE OBAVEZE Sremska Mitrovica, 2017. SADRŽAJ 1. Predispitna obaveza... 3 2. Tema predispitne obaveze... 3 3. Parametri video snimka... 4 4. Struktura

More information

Jedine besplatne novine koje uz organizovanu distribuciju nude mogućnost da svakome budu dostupne

Jedine besplatne novine koje uz organizovanu distribuciju nude mogućnost da svakome budu dostupne DNEVNE NOVINE Jedine besplatne novine koje uz organizovanu distribuciju nude mogućnost da svakome budu dostupne O NAMA SKYMUSIC CORPORATION Sky Corporation Int. predstavlja grupu kompanija, Skymusic Corporation,

More information

Advertising on the Web

Advertising on the Web Advertising on the Web On-line algoritmi Off-line algoritam: ulazni podaci su dostupni na početku, algoritam može pristupati podacima u bilo kom redosljedu, na kraju se saopštava rezultat obrade On-line

More information

SISTEMI ZA UPRAVLJANJE SADRŽAJEM

SISTEMI ZA UPRAVLJANJE SADRŽAJEM UNIVERZITET SINGIDUNUM FAKULTET ZA POSLOVNU INFORMATIKU SISTEMI ZA UPRAVLJANJE SADRŽAJEM - Diplomski rad - Mentor: Prof. dr Mladen Veinović Student: Mladen Opačić Br. indeksa: 8/2003 Beograd, 2007. FAKULTET

More information

Projektovanje softvera. Dijagrami slučajeva korišćenja

Projektovanje softvera. Dijagrami slučajeva korišćenja Projektovanje softvera Dijagrami slučajeva korišćenja Uvod 2 Dijagram slučajeva korišćenja (use-case) prikazuje skup slučajeva korišćenja i aktera Tipično se koristi da specificira neku funkcionalnost

More information

Sybase PowerDesigner 12

Sybase PowerDesigner 12 Univerzitet u Beogradu Fakultet Organizacionih Nauka Poslovni Informacioni Sistemi Sybase PowerDesigner 12 Skripta Vuk Janošević, saradnik mr Ognjen Pantelić, asistent dr Dragana Bečejski-Vujaklija, profesor

More information

Babylon - instalacija,aktivacija i rad sa njim

Babylon - instalacija,aktivacija i rad sa njim Babylon - instalacija,aktivacija i rad sa njim Babilon je vodeći svetski prevodilac brzog online i offline rečnika sa prevođenjem u preko 75 jezika jednim jednostavnim klikom misa i koriste ga miloni privatnih

More information

Elektronska trgovina

Elektronska trgovina Priručnik za vežbe iz predmeta: Elektronska trgovina Svetlana Štrbac-Savić Aleksandar Simović Nada Staletić Dušan Čoko Beograd 2014. Priručnik za vežbe iz predmeta: Elektronska trgovina Svetlana Štrbac-Savić,

More information

FAKULTET TEHNIČKIH NAUKA

FAKULTET TEHNIČKIH NAUKA UNIVERZITET U NOVOM SADU FAKULTET TEHNIČKIH NAUKA Nastavni predmet: Vežba br 6: Automatizacija projektovanja tehnoloških procesa izrade alata za brizganje plastike primenom ekspertnih sistema Doc. dr Dejan

More information