54
Banja Luka, decembar 2008.g. PAN EVROPSKI UNIVER ZITET APEIRON FAKULTET ZA POSLOVNU INFORMATIKU BANJA LUKA Specijalisti čke studije TEMA: WEB DNEVNIK -specijalisti čki rad- Mentor: Prof. dr Zoran Ž. Avramovi ć , dipl. inž. S tudent: Dejan Trifunovi ć

Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

  • Upload
    lytram

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Banja Luka, decembar 2008.g.

PANEVROPSKI UNIVERZITET APEIRON FAKULTET ZA POSLOVNU INFORMATIKU

BANJA LUKA

Specijalističke studije

TEMA: WEB DNEVNIK -specijalistički rad-

Mentor: Prof. dr Zoran Ž. Avramović, dipl. inž.

S tudent: Dejan Trifunović

Page 2: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 2

Apstrakt:

Promjene vaspitno-obrazovnog procesa u okruženju u velikoj mjeri utiču na sistem obrazovanja i vaspitanja učenika kod nas. Jedan od važnih ciljeva našeg školskog sistema je saradnja na relaciji učenik-roditelj-nastavnik. Ukoliko ovaj odnos prikažemo kao trougao, vidjećemo koliko važnu ulogu za konačan uspjeh učenika ima dobra saradnja i kontakt između druge dvije karike.

Ovaj rad obuhvata izradu web dnevnika koji bi kao jezgru imao elektronski dnevnik koji bi funkcionisao unutar škole. U radu ću obraditi modeliranje i izradu baze podataka pomoću CASE alata ERWIN. Bazu ću uraditi pomoću Microsoft SQL servera i povezati je pomoću ASP.NET platforme tako da postane funkcionalna.

Ključne riječi:

Web dnevnik, e-dnevnik, internet, saradnja roditelja i škole, vaspitanje i obrazovanje, SQL,

Erwin, ASP.NET, password, korisnički nalog, administrator, View, baza podataka.

Page 3: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 3

SPISAK SKRAĆENICA I AKRONIMA

skraćenice/akronimi Englisch name Srpski naziv

ASP Active S erver Pages

predstavljaju dinamičke web stranice, kada pretraživač pošalje zahtev za ASP, web server generiše stranu sa HTM L kôdom i šalje je natrag pretraživaču. Sve ASP web stranice imaju ekstenziju .asp ili .aspx.

CAS E Computer Aided S oftware Engineering

predstavlja alat kao software-sku podršku modeliranju tj. definisanju modela podataka realnog sistema.

CLR Common Language Runtime

infrastruktura koju koristi .NET za izvršavanje svih naših aplikacija. CLR uključuje veliki set biblioteka klasa koje možemo koristiti u svojim aplikacijama.

DBMS DataBase Management System sistem za upravljanje bazama podataka, jedan od najpozanatijih je Microsoft SQL Server

GUI Graphical User Interface programski grafički interfejs koji umnogome olakšava korištenje programa.

HTML HyperText Markup Language primarni jezik za kreiranje web stranica.

HTTP Hyper Text Transfer Protocol set pravila za razmenu fajlova (tekst, slike, zvuk, video i ostalo) preko weba.

SOAP S imple Object Access Protocol

protokol koji omogućava klijent programima da proslijede gotovo bilo koju vrstu strukture podataka web servisu; to je razlog zašto web servisi koriste SOAP umesto HTTP

Page 4: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 4

SQL

Structured Query Language

predstavlja jezik koji se koristi za upravljanje bazama podataka, sadrži sve elemente programskog jezika, kao što su procedure, promjenjive, funkcije, logika itd.

URL Uniform Resource Locator predstavlja standardno značenje za adresiranje fajlova na internetu.

WYS IWYG What-You-S ee-Is-What-You-Get

HTML editori koji dopuštaju dizajnerima kreiranje i editovanje web stranica u grafičkom okruženju, bez upotrebe pisanja HTM L kôda. I kao takvi će biti prikazani u pretraživaču.

XML Extensible Markup Language

bazira se na specifikaciji razvijenoj od strane W3C. Omogućava dizajnerima da razvijaju sopstvene tagove, omogućavaju im definisanje, prenos, validaciju i interpretaciju između aplikacija.

DDL Data Definition Language jezik za definiciju podataka

DML Data Manipulation Laguage jezik za manipulaciju podacima

DCL Data Control Language jezik za kontrolu podataka

DQL Data Query Language jezik za upit nad podacima

Page 5: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 5

UVOD

U današnjem školskom sistemu koji je na snazi u našem bliskom okruženju, informatika i informacioni sistemi imaju veliki značaj. Informacioni sistemi pružaju svoje niti kroz sve oblasti školskog rada i djelovanja, kako u oblasti administrativnih poslova, komunikacija, arhiviranja podataka u elektronskoj formi, pa sve do primjene informacionih sistema koje primjenjujemo u nastavi.

Informacioni sistemi uveliko pojednostavljuju i ubrzavaju rad administrativne službe škole. U manjoj mjeri informacionim sistemom se koriste nastavnici iz razloga što program koji trenutno koristimo na nivou škola u Republici Srpskoj (odobren od Ministarstva prosvjete i kulture) nije operativno orijentisan tj. koristi se kao program koji bilježi krajnje rezultate svih segmenata poslovanja škole kao cijeline.

Trenutno se podaci u školama ažuriraju vrlo rijetko. Često je to samo dva puta godišnje tako da aplikacija u koju unosimo ocijene nema realan pregled ocjena. Ocjene se unose na kraju prvog i na kraju drugog polugodišta. Takođe bitno je naglasiti da se u program unose samo zaključne ocjene iz predmeta na kraju polugodišta. Iz ovoga proizilazi da podaci koji nastavnicima i profesorima zatrebaju u određene svrhe, a tiču se ocjena i zapažanja koja su upisana u dnevnike ne mogu biti dobijeni bez dublje analize koja zahtijeva određeni vremenski period. U zavisnosti od traženih podataka taj vremenski period može biti i nekoliko nedelja.

U radu se neću baviti tehničkom izvedbom mogućeg projekta u smislu načina unosa podataka u e-dnevnik. Za to postoje mnoge mogućnosti koje se naknadno mogu prilagoditi projektu. Od klasičnog unosa pomoću tastature do touch-scren monitora. Postojeću bazu koja funkcioniše u sklopu e-dnevnika koja se koristi na nivou škole pomoću ASP-net tehnologije uvezaćemo i omogućiti izradu WEB-dnevnika, koji na dalje uz doradu projekta u budućnosti omogućava uslugu obavještavanja roditelja putem SM S servisa na njihov zahtijev u slučaju da ne posjeduju internet.

Pošto je školstvo kod nas trenutno u procesu reformi i još uvijek nije sve izdefinisano, pažljivim modeliranjem baze i njenom kasnijem izradom, moramo omogućiti dalju nadgradnju u smislu novih zahtijeva koji će da se pojave. Elektronski dnevnik omogućiće unos ocijena u kompjuter (uvijek zapamćene ocjene za svaki predmet i svakog učenika). Ovo je bitno iz razloga potencijalnih krađa originalnih dnevnika ili potencijalnog neovlašćenog dopisivanja ocjena u dnevnike. Arhiviranje ocjena (prenošenje ocjena na CD i čuvanje za potrebe u budućnosti). Jednostavna statistika ocjena po kontrolnim zadacima, po predmetima, po nastavnicima, po odjeljenjima ili po cijelim generacijama, odnosno moguća je statistika po svim presjecima, koji se ukažu kao potrebni unutar škole.

Lak prikaz ocjena roditeljima, koji dođu lično u školu te preko web stranice škole i mogućnost štampanja ocjena za učenika sa centralnog kompjutera. Ovo je korisno, jer roditelji onda gledaju ocjene i ponašanje samo svog djeteta, nema gledanja u tuđe ocjene. Projekat podstiče

Page 6: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 6

informatizaciju cijele škole i lokalne zajednice. Web-dnevnik utiče na češće preventivne dolaske roditelja u školu. Web-dnevnik olakšava administrativni rad kolektivu škole i preventivno djeluje na bolji uspjeh učenika.

Sve aktivnosti uveliko dovode do uvezivanja nastavnika, roditelja i stručne službe škole u cilju poboljšanja uspjeha učenika, koji se u budućnosti odražava kroz pravilan razvoj školske djece što vodi zdravom pojedincu u stabilnom i zdravom društvu.

Ovaj rad će se baviti web dizajnom, bazama podataka, programiranjem web aplikacija i samom izradom web-dnevnika. Rad se sastoji iz dva dijela. U prvom dijelu biće pobliže objašnjeni alati koji su korišćeni za izradu samog specijalističkog rada, svaki posebno, kao i neki osnovni pojmovi web dizajna. U drugom dijelu se opisuje primjena predstavljenih tehnologija, modeliranjem podataka, izradom baze podataka, web stranice i povezivanjem svega toga u jednu funkcionalnu cjelinu.

Page 7: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 7

DIO I 1. OSNOVE WEB DIZAJNA U posljednjih pet godina težište je sa prednjeg kraja (popunjavanje sajta

dopadljivom grafikom i animacijama, koje su često same sebi svrha) prenijeto na zadnji kraj (omogućavanje posjetiocu da posjetom web sajtu steknu prijatno i korisno iskustvo).

Tehnologije pretraživača i servera su posljednjih godina doživjele ogroman napredak, tako da je izrada web sajtova koji sadrže dinamički kreirane stranice sada jednostavnija nego ikada ranije. Alati za pisanje u HTM L kôdu, koji su takođe i WYSIWYG (what you see is what you get) alati, kao što su Adobe GoLive®, Adobe Dreamweaver® CS3, pružaju mogućnost za korišćenje takvih tehnologija aplikativnih servera, kao što su ASP.NET (Active Server Pages dot NET), JSP (Java Server Pages), PHP (Preprocessor Hypertext Pages).

Sadržaj nekog web sajta smješten je na serveru koji vrši prenos stranice u momentu kada se u pretraživaču otkuca odgovarajući URL. Pošto je pretraživač instaliran na kompjuteru korisnika, taj kompjuter se naziva klijent. Stoga, sve što se dešava na strani klijenta naziva se aktivnost strane klijenta (client-side), odnosno aktivnost prednjeg kraja. Po istom principu sve što se dešava na strani servera naziva se aktivnost sa strane servera (server-side), ili aktivnost zadnjeg kraja.

Slika 1. Osnovna struktura web sajta [1]

Page 8: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 8

M ože se, dakle, reći da web dizajneri stalno nastoje da premoste jaz između web tehnologije i pretraživača. Postojanje restrikcija u dizajniranju prouzrokovano je upravo slabim stranama pretraživača, ili web tehnologije, pa je prevazilaženje ovih nedostataka jedan od osnovnih zadataka web dizajnera.

Prije par godina ograničenja uslovljenja pretraživačima, kompjuterima uopšte, kao i samim jezgrom web tehnologije predstavljala su veoma ozbiljan problem. Danas web dizajneri imaju više sreće, bar u tome što tehnologija više nije među glavnim problemima.

Slika 2. Blok-šema; način na koji su povezana sva područja Web dizajniranja [1]

Page 9: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 9

1.1. Razvoj dizajnerskog koncepta

Informaciona arhitektura je jedan aspekt web dizajna. Prva osoba koja započinje rad na

nekom web projektu, obično je informacioni arhitekta, čiji se jedan od osnovnih zadataka sastoji u tome da stvori jasnu sliku o cilju koji klijent želi da postigne. Ako je riječ o nekom prodajnom (e-commerce) web sajtu, informacioni arhitekta će verovatno željeti da upozna vrstu proizvoda koje klijent namjerava da prodaje. U slučaju nekog informativnog web sajta, on bi trebalo da upozna vrstu informacija koje na sajtu treba predstaviti.

Informacioni arhitekta, zatim, mora da osmisli koncept po kome se ove informacije, odnosno sadržaji, mogu grupisati, što će imati direktan uticaj na način navigacije unutar sajta. Dakle, nakon svega ovoga, upravo je infomacioni arhitekta taj koji dizajneru dostavlja skicu onoga što dizajnom sajta treba postići.

U ovim ranim fazama projekta poželjno je da informacioni arhitekta ostvari timski rad sa specijalistom za web upotrebljivost, mada često ove dve funkcije obavlja jedna ista osoba.

Slika 3. Osnovni aspekti web dizajna [1]

Page 10: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 10

Nakon što dobije skicu informacione arhitekture, dizajner kreira grubu skicu glavne stranice

(main page) i svih ostalih stranica web sajta. Kada kažemo “gruba skica” pod tim podrazumijevamo bukvalno grubu skicu, iscrtanu olovkom na običnom papiru. M nogi web dizajneri tvrde da ovaj trend upotrebe tradicionalnih medija (papira i olovke) nema nikakve veze sa uštedom vremena, ili novca, već je način da se spriječi da se klijent prema preliminarnoj skici sajta odnosi kao prema finalnom proizvodu. Skica iscrtana pomoću papira i olovke, naime, sasvim jasno ukazuje da se projekat nalazi u početnoj fazi.

Kada se obave sve potrebne konsultacije sa klijentom, finalni dizajnerski koncept se kreira u photoshopu i prezentuje se klijentu. Ukoliko postoji neki budžet koji je odvojen za ispitivanje web upotrebljivosti sajta, sljedeći korak predstavlja kreiranje probnog modela web sajta, na koji se šalju probni posjetioci iz projektovane ciljne grupe. Tek u ovoj fazi projekta se može, sa određenom izvjesnošću, govoriti da li web sajt ostvaruje planirane ciljeve. U ovom trenutku dizajniranje obično ulazi u svoj drugi krug, u kome informacioni arhitekta i dizajner r ješavaju nastale probleme.

U osnovi dizajniranja web sajta imamo:

Informacionu arhitekturu

Vizuelno dizajniranje i programiranje

Web upotrebljivost

1.2. Informaciona arhitektura

Termin “informaciona arhitektura” je u ranim danima weba predstavljao jednu od glavnih “poštapalica” web dizajnera. Prije nego što je došlo do velike ekspanzije interneta, potražnja za informacionim arhitektama je bila ogromna i veliki broj kompanija za web dizajn je bio u stalnoj potrazi za stručnjacima koji imaju iskustva u ovoj oblasti – jednostavno, zbog toga što prvenstveno od njih zavisi da li će neki web sajt biti dobar, ili loš.

Informaciona arhitektura nije ni danas ništa manje važna, ali sada kompanije ispoljavaju mnogo veću neodlučnost pri uključenju troškova ove vrste u svoj budžet. Isto važi i za ispitivanje web upotrebljivosti sajta. Ovo, međutim, može predstavljati značajnu prednost za male web agencije, koje su spremne da ulože vrijeme i novac da bi u potpunosti ovladale ovim oblastima dizajniranja.

Šta se, dakle, zaista podrazumijeva pod pojmom “informaciona arhitektura”? Ako bismo željeli da ga definišemo jednom jedinom rečenicom, možemo reći da se pod ovim pojmom podrazumijeva organizovanje informacija i sadržaja koje je zasnovano na logičkom i dosljednom navigacionom konceptu. Ovo može, na prvi pogled, izgledati isuviše jednostavno, ali je u stvarnosti riječ o apsolutno najvećem izazovu u web dizajniranju.

Page 11: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 11

Dizajneri koji dolaze iz svijeta stonog izdavaštva mogu ovdje imati veoma velikih poteškoća, jer se pri dizajniranju za štampane medije koristi davno uspostavljeni set pravila i koncepata, na koje smo svi tako dobro naviknuti da više i ne razmišljamo o njima. Na primjer, svaka knjiga ima sadržaj, indeks i poglavlja, koja njen sadržaj dijele na manje jedinice. Kod dizajnera knjiga, kao i kod čitalaca, ovaj navigacioni koncept je tako duboko usađen u naviku da više niko ne osjeća potrebu da razmišlja kako da struktuira, odnosno, kako da koristi neku knjigu. Kod weba, međutim, informacijama se ne može pristupiti, niti su one organizovane na tako linearan način. Ovdje postoji mnogo više mogućih opcija za organizaciju sadržaja i navigacionih elemenata.

Slika 4. Približna podela vremena pri dizajniranju web sajta [1]

Ovdje se može povući paralela sa razvojem korisničkog interfejsa za kompjutere. Naime, kompjuteri i aplikacije pisane za njih u početku nisu podržavali neke standardne funkcije – čak ni jednostavne, nama tako neophodne i dobro poznate komande, kao što su cut, copy i paste. M ogućnost da neki sadržaj kopirate u clipboard, pa da ga kasnije zalijepite (paste) u nekoj drugoj aplikaciji danas nam iz gleda sasvim prirodno, ali ako ste ikad posmatrali nekoga ko tek počinje da uči da koristi kompjuter, sigurno ste primjetili koliko je za početnikov um naporno da prihvati ovako jednostavan koncept.

Page 12: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 12

Ovo treba imati na umu kada započnemo kreiranje web sajtova, jer sve što nama izgleda logično, ne mora obavezno izgledati logično i posjetiocima našeg sajta. Danas postaje trend u svijetu, da kompanije koje se bave web dizajnom, upotrebljavaju tzv. ispitne grupe, koje služe za proučavanje načina na koji korisnici reaguju na određene sajtove. Proučavanje se vrši tako što se ovim grupama daju određeni zadaci, kao što je potraga za nekim određenim dokumentom, ili uslugom, nakon čega se dobijeni rezultati pomno analiziraju.

Najčešće greške u informacionoj arhitekturi:

Prevelik broj kategorija

“Robovanje” već postojećim strukturama

Nedosljedna organizacija navigacije

“Zakopavanje” informacija u isuviše mnogo nivoa

Prevelik broj kategorija – Smanjenje broja kategorija je ključ uspjeha, kombinujte

informacije i na taj način, izbjegnite previše kategorija. Nepisano pravilo je da ne bi trebalo imati više od sedam kategorija; naučna istraživanja pokazuju da je to najviše što prosečan posjetilac može da upamti. “Robovanje” već postojećim strukturama – Da li je struktura web sajta koji kreirate osmišljena, ili samo odražava organizacionu strukturu kompanije za koju radite? Uvijek se zapitajte da li su kategorije na koje je sajt podijeljen logične sa posjetiočevog aspekta.

Nedosljedna organizacija navigacije – Da li je navigacioni koncept jednostavan i nedvosmislen? Ukoliko nije, počnite ispočetka. Vaš koncept bi trebalo da ima jasnu globalnu, paralelnu i lokalnu navigacionu strukturu.

“Zakopavanje” informacija u isuviše mnogo nivoa – Mnogi web sajtovi se granaju poput stabla. Ukoliko vaše stablo sadrži više od četiri hijerarhijska nivoa, vjerovatno je isuviše kompleksno. Kreirajte vizuelni prikaz, ili dijagram dizajna svog sajta, što će vam pomoći u boljoj kontroli njegove hijerarhije.

1.3. Web upotrebljivost

Iza informacione arhitekture, na listi najpopularnijih termina web dizajnera nalazi se web

upotrebljivost. Razlog za pojavu ovog termina leži u konkurenciji. Naime, sve je više bilo web sajtova koji su pružali slične, ako ne i potpuno identične usluge. Dobar primjer za ovo predstavljaju pretraživačke mašine (search engines), kojih je bilo nebrojeno mnogo, pa su korisnici najradije upotrebljavali najjednostavnije. U nastavku će biti objašnjeni osnovni elementi web upotrebljivosti što će nam pomoći da unaprijedimo sopstvene projekte.

Pisanje sadržaja (Content authoring): Kada kreiramo sadržaj za neki web sajt, nećemo moći da koristimo linearni stil koji

se primjenjuje u štampanim medijima. Najbolji način na koji možemo izvršiti usmjeravanje sadržaja, jeste taj, da pomoću hiperlinkova kreiramo veze ka manje važnim informacijama.

Page 13: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 13

Hiperlinkove, međutim, čitaoci (uglavnom nesvjesno) koriste za brz pregled (“skeniranje”) sadržaja teksta, tako da je potrebno da budemo veoma pažljivi i da za linkove odaberemo samo najvažnije riječi u nekom tekstu. Osim toga, ne treba da kao link upotrebljavamo frazu “klikni ovde” (“click here”); ona ne pruža nikakve dodatne informacije, a njenom upotrebom ćemo, između ostalog, propustiti šansu da se bolje kotiramo na listama ključnih r iječi u pretraživačkim mašinama, jer mnoge od njih hiperlinkovane ključne riječi vrednuju više od preostalog sadržaja na stranici.

Upotreba radnog prostora ekrana: Zlatno pravilo je da sadržaj treba da zauzima bar polovinu čitave web stranice.

Najoptimalniji efekat se postiže kada sadržaj zauzima 80 procenata stranice, dok je preostali dio od 20 procenata ekrana rezervisan za druge elemente, kao što su elementi za navigaciju i reklamni baneri.

Vrijeme reakcije (Response time): Proučavanja web upotrebljivosti su pokazala da je za korisnike od prioritetne

važnosti vrijeme potrebno za preuzimanje (download) neke stranice. Vrijeme reakcije koje je manje od jedne sekunde je idealno, ali se ono sasvim rijetko postiže, čak i pri upotrebi kablovskog modema i DSL-a (Digital Subscriber Line – digitalna pretplatnička linija).

Testovi upotrebljivosti:

Dizajniranje nekog web sajta bez upotrebe određenih testova njegove upotrebljivosti zaista predstavlja veliki r izik.

Upotrebljivost na nivou sajta odnosi se na početnu stranicu (home page),

informacionu arhitekturu, navigaciju i pretraživanje, strategiju linkovanja, opšti stil p isanja, uzorke i izgled stranice, dizajnerske standarde koji su primjenjeni na sajtu, primjenjeni grafički jezik i najčešće upotrijebljene ikonice.

Upotrebljivost na nivou stranice odnosi se na specifične elemente pojedinačnih web stranica i uključuje: razumljivost naslova, linkova i objašnjenja, intuitivnost formi i poruka o grešci i pojedinačnu grafiku i ikonice.

Page 14: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 14

2. MODELIRANJE PODATAKA ( ERWIN )

M odeliranje podataka je naše apstraktno viđenje stanja realnog sistema, tj. definisanje

strukture podataka. M odel podataka je pojednostavljeno predstavljanje realnog sistema preko skupa objekata (entiteta), veza između objekata i atributa objekata.

M odel podataka (definisan kao Model Objekti – Veze (M OV) ili E – R (Entity – Relationship) model), preko skupa podataka i njihovih međusobnih veza, predstavlja stanje sistema u jednom trenutku vremena i sadrži skup informacija o prošlosti i sadašnjosti sistema koja je potrebna da se pod dejstvom budućih poznatih ulaza mogu odrediti njogovi budući izlazi.

M odeliranje podataka je svojevrstan grafički jezik za predstavljanje strukture podataka. CASE (Computer Aided Software Engineering) alati kao software-ska podrška modeliranju predstavljaju samo alat za definisanje modela podataka realnog sistema, odnosno za opisivanje skupa povezanih objekata realnog sistema i događaja u njemu preko jednog složenog apstraktnog tipa podataka.

Izbor odgovarajućeg CASE alata sam po sebi je manje ili više formalan, dok postupak modeliranja realnog sistema, zavisi od sposobnosti, znanja i iskustva analitičara. M odel podataka je intelektualno sredstvo pomoću koga se prikazuje u kakvom su međusobnom odnosu podaci u nekom realnom sistemu. Neki model podataka je potpuno određen ako su definisane sljedeće tri komponente:

Struktura podataka – kojima se definišu statičke karakteristike sistema, odnose se na kreiranje ER modela i atributa ER modela.

Ograničenja – logička ograničenja na podatke (pravila integriteta) koja se ne mogu definisati preko strukture modela podataka i odnosi se na definisanje poslovnih pravila.

Skup operatora (operacije) – definiše dinamičku interpretaciju podataka kroz njihovu obradu, ima uticaja na definisanje fizičkog nivoa modela i verif ikaciju finalnog dizajna.

Page 15: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 15

2.1. Kreiranje ER modela

ER model definisan je entitetnim dijagramom kojim se definišu odgovarajući tipovi entiteta

i uspostavljaju veze između njih, kao i definisanje detalja vezanih za opis sadržaja entiteta (atributi i njihove karakteristike). Struktura podataka definisana je sa tri komponente:

Entitete koji se dijele u dvije grupe: • Nezavisne entitete – to su entiteti koji imaju vlastitu identifikaciju, tj. nisu

zavisni od drugog entiteta. • Zavisne entitete – to su entiteti čija je egzistencija i identifikacija zavisna od

drugog ili drugih entiteta.

Atribute koji se mogu nalaziti u: • Oblasti ključeva ili • Oblasti podataka.

Veze koje se dijele na: • Identifikujuće veze – koje entitet dijete identifikuju kroz njegovu vezu sa

entitetom roditelj. • Neidentifikujuće veze – koje ne identifikuju entitet dijete preko identifikatora

entiteta roditelj. • Neodređujuće veze – koje se smatraju veze više prema više. • Veza prema podtipovima – uspostavlja vezu između entiteta i n jegovih zavisnih,

klasnih entiteta.

2.2. Atributi ER modela

Svaki objekat realnog svijeta definisan je osobinama pa, po toj analogiji i entiteti imaju

atribute kojima se opisuju karakteristična svojstva. Da bi se definisala lista kandidata za atribute mora se dati odgovor na pitanje šta je to interes procesa obrade podataka. Da li će po nekoj osobini objekat biti entitet ili atribut, tj. koju će ulogu da ima zavisi od pogleda koji želimo da predstavimo. Ako je osnovni objekat od interesa npr. kuća, onda kuća postaje entitet, a ulica atribut, u suprotnom ako je objekat od interesa ulica, onda je ulica entitet, a kuća postaje atribut.

Osnovna pravila za definisanje atributa su:

Svaki entitet ima proizvoljan broj atributa Određeni atribut pripada jednom i samo jednom entitetu Svako pojavljivanje entiteta ima vrijednost za sve atribute tog entiteta Atribut određenog pojavljivanja entiteta može imati samo jednu vrijednost

Page 16: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 16

Različita pojavljivanja entiteta mogu, a ne moraju imati različite vrijednosti za isti atribut

Svaki atribut mora imati samo jedno konzistentno značenje Svaki atribut predstavlja jednu određenu činjenicu pa i svako značenje vrijednosti atributa

mora imati jedno dosljedno značenje.

2.3. Definisanje ograničenja

Realni svijet, opisan objektima, vezama između njih i osobinama, ograničen je u nekom prostoru pa je i u modelu podataka potrebno definisati ograničenja vezana za:

Strukturu modela objekti – veze i Ograničenja koja se posebno definišu

Ograničenja definisana strukturom model objekti – veze Ova ograničenja vezana su za:

• Identifikaciju entiteta – gdje je nemoguće da postoje dva primjerka entiteta u istom tipu entiteta takvi da imaju istu vrijednost atributa koji čine identifikator tj. ne postoje dva tipa entiteta koji imaju isti skup atributa kao identifikator.

• Ograničenje postojanja – jednog tipa objekta u zavisnosti od drugog tipa objekta.

• Ograničenje mogućnosti identifikacije – jednog objekta bez poznavanja identifikatora, nekog drugog objekta.

• Specijalni tipovi veze – kojima se definišu podtipovi.

Ograničenja koja se posebno definišu

Ona se mogu podijeliti na: • Ograničenja na vrijednost atributa • Ograničenja na kardinalnost veza između entiteta roditelj i entiteta djeteta i to:

Kardinalnost tipa (Zero or One) gdje se jedan primjerak jednog tipa entiteta pridružuje nijednom ili jednom primjerku drugog tipa.

Kardinalnost tipa (Zero, One or More) gdje se jedan primjerak jednog tipa entiteta pridružuje nijednom, jednom ili većem broju primjeraka drugog tipa.

Kardinalnost tipa (One or More) gdje se jedan primjerak jednog tipa entiteta pridružuje najmanje jednom ili većem broju primjeraka drugog tipa.

Kardinalnost tipa konkretne vrijednosti (Exactly) gdje se jedan primjerak jednog tipa entiteta pridružuje tačno definisanom broju drugog tipa entiteta

Page 17: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 17

• Sveobuhvatnost objekta u vezi vezana za kardinalnost entiteta dijete prema entitetu roditelj:

Totalno učešće gdje svi primjerci tipa entiteta učestvuju bar u jednoj vezi (No nulls)

Parcijalno (delimično) učešće gdje pojedini primjerci entiteta učestvuju u vezi (Nulls Allowed)

Postoje dva postupka navođenja kardinaliteta u ER dijagramima.

1. Način

2. Način

Slika 5. Postupci navođenja kardinalnosti u ER dijagramima [2]

U oba slučaja opisan je isti realni sistem, u kojem:

Radnik mora biti raspoređen na tačno jedno radno mjesto, Na jedno radno mjesto može biti raspoređeno više radnika, ali mogu postojati

radna mjesta na kojima nije niko raspoređen.

Page 18: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 18

3. MICROSOFT SQL SERVER 2000

Već od najranijih dana informatičke (r)evolucije obrada podataka zauzimala je istaknuto

mjesto, a potreba za bržim i sigurnijim pristupom podacima te većom zaštitom i jednostavnijom manipulacijom dovela je do razvoja nekoliko modela sistema za upravljanje bazama podataka DBMS (Database Management System).

Danas su baze podataka gotovo nezaobilazan faktor pri programiranju svih većih aplikacija uključujući i dinamičke web stranice čiji je razvoj praktički nezamisliv bez povezivanja na bazu i upotrebe SQL-a, bez obzira govorimo li o ASP-u, JSP ili PHP-u. Dakle, razmišljamo li o naprednim web stranicama, trebaće nam znanje nekog skriptnog jezika i baza podataka. Prije nego što objasnimo što je to SQL, idemo razjasniti neke osnovne pojmove iz područja baza podataka.

3.1. Modeli baza podataka

Iako postoji više modela baza podataka, najpoznatiji i najkorišteniji su:

Hijerarhijski model M režni model Relacijski model Objektni model

Hijerarhijski model – prilično je jednostavan i ne zahtijeva veliko informatičko znanje, ali

su pristup i manipulacija informacijama iznimno otežani zbog stroge hijerarhijske međuzavisnosti. Mrežni model – je fleksibilan, moćan i efikasan, a podacima se pristupa preko mreže

logičkih veza. Nedostatak ovog pristupa jest zahtjev za upotrebom brzih računara i većim informatičkim znanjem.

Relacijski model (RDBMS) – temelji se na klasičnom tabelarnom modelu. Tablice se međusobno povezuju relacijama čija je glavna uloga čuvanje integriteta podataka, brže pretraživanje i izbjegavanje redundancije, odnosno ponavljanja pojedinog podataka na više mjesta ili tablica.

3.2. Relacijski model

Tablice se sastoje od više kolona (atributa) od kojih svaka ima jedinstveno ime (npr. "ime",

"prezime", "JM BG"). Svaki red u tablici predstavlja jedan zapis, odnosno podatke o nekom entitetu (u spomenutom slučaju to su ime, prezime i JM BG određene osobe).

Page 19: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 19

Slika 6. Osnovni pojmovi relacijskog modela podataka

Tablice se povezuju preko kolone koja se nalazi u obje tablice (npr. JMBG), a važno je da

je riječ o podatku čija je jedinstvenost osigurana. To znači da dva zapisa ne mogu imati istu vrijednost te kolone, pa se najčešće koriste različite šifre, ili ukoliko su u pitanju osobe, JM BG. U matičnoj tablici (parent) takva se kolona naziva primarni ključ, a u podređenoj tablici (child), odnosno onoj s kojom je parent tablica povezana preko primarnog ključa, strani ključ. Ponekad se jedinstvenost može osigurati samo kombinacijom dva ili više polja, a takav ključ zove se složeni ključ.

Prednost relacijskog modela leži u povezanosti tablica preko ključeva. Npr. brisanjem člana neke biblioteke u tablici s podacima o članovima, automatski možemo izbrisati i sve zapise o njegovim dotadašnjim posudbama u nekoj drugoj tablici. Na taj se način postiže referencijalni integritet, odnosno postojanost svih podataka u bazi. Normalizacija – Osnovni cilj relacionog modela podataka je da odgovarajuća baza podataka:

Ne sadrži redundansu, Da se može jednostavno koristiti i mijenjati.

Normalne forme daju formalne kriterije prema kojima se utvrđuje da li model podataka ispunjava prethodne zahtjeve. Normalizacija je proces provjere uslova normalnih formi i po potrebi svođenje šeme relacije na oblik koji zadovoljava iste. Procesom normalizacije želi se razviti dobar model podataka tako da se iz nekog početno zadatog modela otklone slabosti (redundansa i problemi u održavanju). Pod redundansom podrazumijevamo višestruko memorisanje iste informacije u bazi podataka. Cilj koji se teži dostići pri projektovanju baze podataka je eliminisanje redundanse zbog niza negativnih posljedica koje ona donosi. Višestruko memorisanje istog podatka dovodi do povećanog korišćenja memorijskog prostora i otežanog održavanja podataka. Realni cilj pri projektovanju baze podataka je kontrolisana redundansa podataka. Jednostavno korišćenje i mijenjanje podataka podrazumijeva prije svega sprječavanje anomalija održavanja podataka. Pod anomalijom održavanja podataka podrazumijevamo:

Page 20: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 20

anomaliju dodavanja, anomaliju brisanja, anomaliju promjene.

Anomalija dodavanja – javlja se u onim slučajevima kada su informacije o svojstvima jednog objekta memorisane u bazi podataka kao dio opisa nekog drugog objekta. Na primjer, u okviru opisa nastavnika memorisane su informacije o predmetu koji predaje. Informacije o predmetu nije moguće unijeti u bazu podataka sve dok ne postoji bar jedan nastavnik koji taj predmet predaje.

Anomalija brisanja – je inverzija anomalije dodavanja. Neka su u okviru opisa svojstava nastavnika memorisane informacije o predmetu koji predaje. Svakim brisanjem opisa nastavnika briše se i jedna kopija podataka o predmetu koji predaje.

Anomalija mijenjanja – javlja se u slučaju kada promjenu podataka o jednom objektu treba izvršiti na više od jedne kopije podataka. U bazi podataka u jednom trenutku postoji toliko opisa predmeta koliko nastavnika predaje taj predmet. Ako treba promijeniti podatke o opisu predmeta, tada to moramo učiniti na onoliko mjesta koliko nastavnika predaje taj predmet.

Vertikalna normalizacija dekompozicijom – U kontekstu vertikalne normalizacije definisano je šest normalnih formi (NF):

prva normalna forma (1NF); druga normalna forma (2NF); treća normalna forma (3NF); Boyce/Coddova normalna forma (BCNF); četvrta normalna forma (4NF); peta normalna forma.

Zadatak postupka normalizacije je da relacionu šemu prvo transformiše u 1NF, zatim u 2NF, 3NF i tako redom. Što je redni broj normalne forme veći, to su i uslovi koji se postavljaju strožiji.

Prva normalna forma – šema relacije je u prvoj normalnoj formi ako i samo ako je domena svakog od njenih obilježja skup atomarnih vrijednosti. S obzirom da je u kontekstu relacionog modela sama relacija definisana kao neprazan podskup Dekartovog proizvoda atomarnih domena, slijedi da je svaka relacija u 1NF.

Druga normalna forma – relaciona šema R nalazi se u 2NF ako je svako neključno obilježje od R potpuno zavisno od kandidata ključa. Iz ove definicije jasno je da relacija koja se nalazi u 2NF mora biti i u 1NF. Sva neključna obilježja relacije u 2NF moraju biti funkcionalno zavisna od ključa relacije (uslov za 1NF), i ta funkcionalna zavisnost mora biti potpuna (dodatni uslov). Specijalni slučaj ispunjenosti uslova 2NF je ako su u relaciji R sva obilježja ključna ili ako se svi kandidati za ključ sastoje samo od po jednog obilježja.

Page 21: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 21

Treća normalna forma – relaciona šema R nalazi su u 3NF ako je u 1NF i ako ni jedno neključno obilježje u R nije tranzitivno zavisno od ključa od R. 3NF podrazumijeva ispunjenost 1NF i 2NF. Prethodna definicija 3NF eksplicitno zahtijeva da se relacija nalazi samo u 1NF. S obzirom da je parcijalna funkcionalna zavisnost poseban slučaj tranzitivne zavisnosti, iz uslova da neključna obilježja relacione šeme u 3NF ne smiju biti tranzitivno zavisna od ključa, proizilazi da se relaciona šema u 3NF mora nalaziti i u 2NF.

Relacija čije sve domene sadrže samo atomarne vrijednosti, kažemo da je normalizovana, odnosno da se nalazi u 1NF. Prevođenje relacione šeme u 2NF znači eliminisanje neključnih obilježja koja su funkcionalno zavisna od dijela primarnog ključa. Konačno, prevođenjem relacione šeme u 3NF iz šeme su izbačena sva neključna obilježja koja su bila tranzitivno zavisna od ključa.

Neključna obilježja relacione šeme koja je u 3NF ispunjavaju sljedeće uslove:

funkcionalno su zavisna od primarnog ključa šeme, nisu funkcionalno zavisna od podskupa obilježja šeme koji nije kandidat za ključ,

odnosno nisu tranzitivno zavisni od primarnog ključa. 3.3. Osnovne karakteristike SQL jezika

SQL (Structured Query Language) je duša relacijskog modela, a razvio ga je IBM početkom 70-ih godina. ANSI (American National Standard Institute) i ISO (International Standards Organization) standardizovali su SQL 1986. godine (verzija SQL-86). Trenutno važeći standard datira iz 1992. odakle potiče i novi naziv SQL-92. Svi sistemi za upravljanje bazama podataka nastoje što više slijediti originalni standard, ali takođe pokušavaju obogatiti SQL različitim opcijama koje nisu standardizovane. Zato se često mogu uočiti razlike u sintaksi SQL naredbi koje se koriste u različitim bazama podataka.

Svaka baza podataka dolazi s alatom koji korisniku dopušta unošenje i izvršavanje SQL naredbi (query = upit). Svaka naredba završava interpunkcijskim znakom tačka-zarez (;), a ukoliko se instrukcija prostire kroz više redova, znak ';' stavlja se na kraj posljednjeg reda. Kada se SQL naredba uključuje u drugi programski jezik (Embedded SQL), ona završava na način svojstven tom jeziku. Iako je SQL no-case-sensitive, odnosno ne razlikuje mala i velika slova, uobičajeno je da se ključne r iječi p išu velikim slovima.

SQL se dijeli na četiri "podjezika":

Data Definition Language (DDL) sastoji se od naredbi za definisanje objekata baze podataka: npr. CREATE, DROP i ALTER

Data Manipulation Laguage (DML) sastoji se od naredbi za manipulisanje podacima u bazi: npr. INSERT, DELETE, UPDATE

Data Control Lanuage (DCL) sastoji se od naredbi za kontrolu podataka i njihovu sigurnost: npr. GRANT i REVOKE

Data Query Language (DQL) sastoji se od naredbi za pretraživanje i dohvaćanje podataka u bazi : npr. SELECT

Page 22: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 22

3.4. SQL Server 2000

SQL Server nije okruženje za razvoj aplikacija za rad sa bazama podataka u onom smislu u kojem su to M icrosoft Access ili FoxPro. On je kolekcija komponenti i proizvoda koje se u potpunosti dopunjavaju, kao kijent/server sistem, a sve u cilju skladištenja podataka, njihovog vađenja iz baze, kao i zahtjeva za analizom. On se može koristiti kod preduzeća čija je veličina najvećih kompanija i komercijalnih web sajtova, koje opslužuju milione transakcija u jednom danu, ali se može koristiti i kod malih kompanija, pa čak i kod pojedinaca i specijalizovanih aplikacija koje zahtjevaju robusno skladištenje podataka i stalne servise.

Postoje četiri osnovne teme. SQL Server 2000 je tako napravljen da:

U potpunosti omogućava rad na internetu Ima najmanje vreme do isporuke proizvoda Bude visoko prilagodljiv Bude visoko portabilan (prenosiv)

SQL Server je jedan od proizvoda za rad sa bazama podataka, koji se najviše koristi na internetu. On sada ima podršku namijenjenu specijalno za internet aplikacije, posebno one koje čine osnovu M icrosoft .Net inicijative. Da bi proizvod bio kampatibilan sa SQL Serverom i internetom, koji podržava internet standarde, on mora da pokrije dvije oblasti: razmjenu podataka i povezivanje.

Komponenta povezivanja se ostvaruje tako što se obezbjeđuje pristup do SQL Servera preko HTTP URL-a (Uniform Resource Locator). Komponenta razmjene podataka dolazi iz ugrađene podrške za XML (Extensible Markup Language), koji se smatra najznačajnijom tehnologijom, od početka interneta prije nekoliko decenija. To je ključni faktor koji vodi do kritične mase na internetu. 3.5. Enterprise Manager

Enterprise Manager se prvi put kod SQL Servera pojavio 1995. godine, sa verzijom 6.0. u verziji 7.0. Enterprise manager je prebačen na MM C (Microsoft Management Console). U verziji 2000 je bio visoko sofisticiran MM C koji se može koristiti za grafičko administriranje SQL Servera bazama podataka i njihovim objektima, kao i samim DBMS sistemom, sigurnošću, terminiranjem, arhiviranjem, performansama, replikacijom, itd.

Page 23: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 23

Banke Bank of America

First Union

City Bank

Point Bank

Capital Bank

First National Bank

Slika 7. Tri nivoa (pogleda) na SQL Server bazu podataka [3]

Baze podataka SQL Servera dijele se u dvije grupe. To su sistemske i korisničke baze

podataka. Sistemske baze podataka su baze master, model, tempdb i msdb. Dve dodatne baze podataka koje se instaliraju su pu bs i northwind. Ovo su demo baze podataka.

Konceptualni nivo

za programere

Nivo spoljašnjih korisnika

Unutrašnji nivo za administratore baze

podataka i SQL Servera

Page 24: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 24

SQL Server koristi bazu master za praćenje stanja sistema. Tu se zapisuju i informacije o ostalim bazama podataka u sistemu, prostoru na disku, upotrebi, DBMS konfiguraciji, informacije o objektima i izvornom kôdu itd. Master baza predstavlja šemu baze podataka.

Baza model je šablon baze podataka. Kada kreiramo novu bazu podataka, ona se kopira iz modela, odnosno izvodi se iz njega. Ako treba da kreiramo bazu podataka koja je unaprijed konfigurisana sa izvjesnim vrijednostima, mogli bismo da kreiramo ta podešavanja u bazi model, nakon čega će sve nove baze naslijediti ta podešavanja. Baza model ne treba da se instalira u okruženjima koja se dalje prosljeđuju.

Iz baze model izvedena je i baza tempdb. Ona čuva sve privremene podatke, koji su SQL Serveru potrebni za vrijeme njegovog životnog ciklusa, drugim riječima, sve dok se ne zaustavi i restartuje. Podaci u bazi tempdb se ne zapisuju i baza podataka i njene tabele se ponovo kreiraju kada se SQL Server pokrene.

Posljednja u grupi sistemskih baza podataka je MS DB koja se koristi za servis SQL Serever Agent koji se koristi za definisanje i obavljanje terminiranih poslova, kao što su arhiviranje baze podataka ili transformacija podataka.

Slika 8. Konceptualni pogled na baze podataka SQL Servera

Page 25: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 25

onako kako ga vide iz Enterprise Managera [3]

Jedinica ili objekt za skladištenje podataka u bazi podataka SQL Servera je tabela. To je ono što se u terminologiji relacionih sistema naziva relacijom. Svaka tabela sadrži podatke koji su povezani sa entitetima, koje ponovo možemo nazivati i objektima. Na primjer, svaka tabela računa može da sadrži dužnike i njihove atribute, kao što su imena dužnika, stanje njihovih računa, rokovi, kao i periodi kreditiranja.

Tabele sadrže kolone i vrste. Svaka kolona predstavlja atribut objekta, kao što su, na primjer, ime i broj kupca. Vrste predstavljaju instance ili količinu objekata u tabeli. Na primjer, ako imamo 10 vrsta u tabeli dužnici (debtors), onda imamo 10 instanci dužnika, ili 10 zapisa tipa dužnik. (Instance mogu biti identične, ako ne postoji pravilo jednoznačnosti, primarni ključ, ili neko slično ograničenje nad tabelom).

Ako u bazi podataka imamo samo jednu tabelu, onda naravno svaka vrsta predstavlja jedinstven i kompletan zapis. Ali, ako podatke razdvojimo u nekoliko tabela, onda naš zapis takođe obuhvata više tabela. Kada se akcija odvija nad pojedinim vrstama u tabeli, onda ću koristiti termin vrsta. Tu mislim na sortiranje vrsta kao fizičku operaciju. Kada mislim na stvarne podatke, onda govorim o zapisima. Ako shvatimo razliku između zapisa i vrste, onda imamo preduslov da shvatimo koncept referencijalnog integriteta.

Postoje dva načina za kreiranje tabela u bazi podataka SQL Servera. To je moguće uraditi interaktivno (preko alata Enterprise Manager) ili direktno, preko T-SQL sintakse koja je kompatibilna sa ANSI standardom. T-SQL kôd je jezik za definisanje podataka DDL (Data Definition Language) i nije bitno koji metod koristimo. DDL je ono što se šalje na server i preko čega se tabele kreiraju. Naredni kôd kreira tabelu inventory:

CREATE TABLE inventory (item char(120))

Ovaj kôd kreira tabelu inventory i u nju ubacuje jednu kolonu po imenu item, sa tipom podatka char, čija dužina može biti do 120 karaktera.

Page 26: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 26

Slika 9. Kreiranje tabele u Enterprise Manageru [3]

4. ASP.NET

ASP je više od s ljedeće verzije ASP-a (Active Server Pages), to je Web razvojna platforma

koja donosi servise potrebne programerima da razvijaju "enterprise-class" Web aplikacije. Iako je ASP.NET u velikoj mjeri sličan sa ASP-om (sintaksički gledano), takođe omogućava i nov programski model za stabilnije i sigurnije aplikacije. Naše postojeće ASP aplikacije možemo poboljšati dodavanjem ASP.NET funkcionalnosti.

ASP.NET je .NET bazirano okruženje, možemo praviti aplikacije u bilo kom .NET kompatibilnom jeziku uključujući C#, VB.NET i J Script.NET. Odnosno, cijeli .NET Framework je na raspolaganju bilo kojoj ASP.NET aplikaciji. Programeri mogu lako pristupiti pogodnostima ove tehnologije, koja uključuje CLR (Common Language Runtime) okruženje, nasljeđ ivanje, itd.

ASP.NET je dizajniran da radi sa WYSIWYG HTM L editorima i drugim alatima, uključujući i Visual Studio .NET koji (iako (pre)skup) ne samo da umnogome olakšava Web

Page 27: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 27

programiranje već i omogućava korišćenje svih pogodnosti koje on pruža, uključjući GUI (Graphical User Interface) programiranje.

Programeri mogu da biraju između 2 načina kada kreiraju ASP.NET aplikaciju, Web Forms i Web Services (Web Servisi), ili da ih kombinuju u bilo kom obliku koji vide da je najpogodniji.

Web Forms nam omogućava da pravimo moćne "forms-based" Web strane. Kada pravimo ove strane možemo koristiti ASP.NET server kontrole da kreiramo UI elemente i programiramo ih za određene zadatke. Ove kontrole nam pomažu da brzo pravimo Web formu (stranu) kao što pravimo Win aplikacije (bez ugnežđivanja u HTML kod) što uprošćava kôd same strane.

Ako imamo iskustva sa ASP-om, novi A SP.NET programski model biće nam veoma poznat. Ipak, ASP.NET objektni model se značajno promijenio od starijeg A SP-a, praveći ga više objektno orijentisanim, odnosno za programiranje možemo koristiti "sirovu" snagu, objektno orijentisanih programskih jezika kao što su C++, C# ,VB ... Ovo, nažalost, znači da ASP.NET nije baš kompatibilan sa starijom verzijom A SP-a, skoro sve ASP strane moraju biti modifikovane da bi se pokretale pod ASP.NET-om. Glavne promene u Visual Basic .NET-u prouzrokuju da postojeće ASP strane napisane sa VBScript-om se neće direktno portovati do ASP.NET-a. U većini slučajeva, ipak, neophodne promjene uključuju samo nekoliko linija kôda.

ASP.NET obezbjeđuje prost model koji omogućava Web programerima da pišu Web aplikacije slično kao i Win programe. Programeri mogu da pišu taj kôd u global.asax tekst fajlu ili u kompajliranoj klasi kao assembly. Ovakva logika uključuje programske događaje, ali programeri mogu lako da prošire ovaj model potrebama njihove Web aplikacije.

4.1. CLR (Common Language Runtime)

CLR (Common Language Runtime) je infrastruktura koju koristi .NET za izvršavanje svih

naših aplikacija. CLR uključuje veliki set biblioteka klasa koje možemo koristiti u svojim aplikacijama. Neke zanimljive klase koje se odnose na internet obuhvataju usluge, koje nam omogućavaju da manipulišemo Windows NT beležnicom događaja, Active Directory, servisima za šifriranje, brojačima performansi, COM + servisima, serijalizacijom objekata i matičnim Windows servisima. CLR takođe vodi računa o kompajliranju kôda “međujezika” (“intermediate language”) ili IL kôda na mašinski kôd. Osnovni proces radi na sljedeći način :

1. C# kompajler konvertuje naš kôd u IL. U pogledu funkcionalnosti i složenosti

jezika, IL se nalazi negdje između mašinskog jezika i C jezika. IL je optimiziran za brzo kompajliranje u mašinski kôd. IL možemo shvatiti kao međuproizvod procesa kompajliranja.

2. Našu internet aplikaciju poziva korisnik, ili preciznije, web server kao reakciju na zahtjev korisnika.

3. CLR preuzima i kompajlira IL jezik u mašinski kôd. Ovo se odvija funkciju po funkciju. Ukoliko se funkcija koristi, ona je kompajlirana u mašinski jezik. Ukoliko se ne koristi, ona ostaje kao IL. Slučajevi greške za vrijeme ovog procesa su ekstremno rijetki, ekvivalentni su sa slomom kompajlera.

Page 28: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 28

CLR sadrži i druge servise, uključujući podršku za pokretanje više .NET aplikacija u okviru jednog procesa uz garanciju da se one neće međusobno ometati. Ovo je rezultat koncepta koji je nazvan bezbjednost tipova (type safety), svaki .NET jezik mora da garantuje kôd bezbjednih tipova, što obezbjeđuje da nizovima i kolekcijama nikad neće biti pristupano pogrešno, uz još neke stvari. C# kompajler uvijek primorava bezbjednost tipova kada kompajlira naš kôd u IL.

4.2. Obrade dinamičkih strana

Šta se dešava kada korisnik usmjeri web pretraživač u jednu od naših strana? Web

pretraživač generiše HTTP zahtjev za određenu stranu koju korisnik želi da pogleda. Web server, koji sve vrijeme osluškuje očekujući HTTP zahtjeve, prihvata zahtjev i traži fajl te određene strane. Ukoliko se strana završava ekstenzijom .htm ili .html, web pretraživač jednostavno egzaktno vraća sadržaj fajla.

Naravno, web serveri mogu da urade više od jednostavnog prikazivanja fajlova koji se završavaju ekstenzijom .htm. Trenutno možemo naći web sajtove koji rade sve vrste komplikovanih zadataka, kao što su bankovna usluga pisanja čekova na internetu, koja će nam omogućiti da platimo svoje račune koristeći samo web pretraživač. Kako rade takvi “dinamički” web sajtovi?

Trik procesa je da dinamičke strane koje sadrže kompleksnu programsku logiku koriste drugačije ekstenzije fajlova. Na primjer, kada web server vidi zahtjev za stranom sa .aspx ekstenzijom, on ne čita fajl. Umesto toga on zna da preda HTTP zahtjev u .NET (konkretno ASP.NET procesu) i prepusti da ASP.NET izvrši zadatak obrade i slanja odgovora. Rezultat je da ASP.NET izvršava naš kôd, koji izvodi bilo koji zadatak za koji je projektovan.

Slika 10. Obrada dinamičkih strana i web serveri [4]

Server računar

HTTP odgovor

Klijent računar

Klijent web pretraživač

Web server

AS P.NET

Naš program

HTTP zahtjev

Page 29: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 29

Primjer kôda za obradu dinamičkih strana prikazaćemo pomoću web kontrola, koje nude mnogo prednosti u odnosu na HTM L kontrole u aplikacijama, uključujući svojstva, događaje i upravljanje stanjem.

1: <%@ Page Language=”C#” %> 2: <script runat=”server”>

3: void LoginKliknuto (Object Sender, EventArgs e) 4: { 5: // Ovaj kôd će biti pozivan kada je kliknuto dugme Login 6:

7: // Dobijanje polja korisničkog imena i lozinke iz ASP kontrola 8: String strKorisnickoIme = KorisnickoIme.Text;

9: String strLozinka = Lozinka.Text; 10: 11: // Pisanje poruke o uspjehu/neuspjehu

12: if ((strKorisnickoIme == “dejantr”) && (strLozinka == “diablo”)) 13: {

14: Response.Write(“Uspješno ste se ulogovali” + strKorisnickoIme); 15: }

16: else { 17: Response.Write(“Netačna lozinka ili korisničko ime”);

18: } 19: } 20: </script>

21: 22: <html>

23: <body> 24: <form method=”post” runat=”server”> 25: <table> 26: <tr>

27: <td> KorisnickoIme: </td> 28: <td><asp:textbox id=”KorisnickoIme” runat=”server” /></td>

29: </tr>

Page 30: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 30

30: <tr> 31: <td> Lozinka: </td>

32: <td><asp:textbox id=”Lozinka” textmode=”Password” runat=”server” /></td> 33: </tr>

34: <tr> 35: <td><asp:button text=”Login” onClick=”LoginKliknuto” runat=”server”

/></td> 36: </tr> 37: </table> 38: </form> 39: </body>

40: </html>

Primer kôda za stranu za prijavu (login) pomoću ASP.NET-a.

4.3. Obrade web servisa

Web servisi izvode sličan zadatak kod dinamičkih web sajtova jer web servisi jednostavno odgovaraju na zahtjeve klijenata sa interneta i vraćaju podatke. Kao što smo pomenuli u prethodnom dijelu, umesto primanja HTTP zahtjeva, web servisi prihvataju SOAP (Simple Object Access Protocol) zahtjeve. Svaki SOAP zahtjev sadrži ime određene funkcije, kao što je GetMojeOcjene, i parametar za funkciju, kao što je današnji datum. Svaki SOAP odgovor sadrži podatke koje vraća funkcija. Na primjer, metoda GetMojeOcjene može vratiti strukturu podataka koja izlistava sve moje ocjene za određeni datum.

SOAP omogućava klijent programima da proslijede gotovo bilo koju vrstu strukture podataka web servisu; to je razlog zašto web servisi koriste SOAP umjesto HTTP. Slično, web servisi mogu vratiti gotovo bilo koju vrstu strukture podataka klijent programu pomoću SOAP.

Većina web servisa i dalje koristi web server za komunikaciju za spoljnim svijetom. .NET web servisi koriste ASP.NET za obradu SOAP zahtjeva i za njihov prevod u strukture podataka koje mogu da koriste. Ovaj proces radi na isti način kao i dinamičke web strane. Svi .NET web servisi se završavaju ekstenzijom fajla .asmx. IIS (Internet Information Services) zna da ASP.NET-u treba da preda sve zahtjeve koji se završavaju sa .asmx, koji zatim preuzima i obrađuje SOAP zahtjeve i predaje ih našem posebnom kôdu web servisa.

Page 31: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 31

Slika 11. Web servisi i web serveri [4]

Naredni kôd prikazuje upotrebu web servisa na primjeru koji jednostavno vraća trenutno

vrijeme na serveru kao string.

1: <%@ WebService Language=”C#” Class=”UslugeVremena” %>

2: using System; 3: using System.Web.Services; 4:

5: [WebService(Namespace=”http://tempuri.org/webservices”)] 6: public class UslugeVremena : WebService

7: { 8: [WebMethod] 9: public String GetVreme() 10: {

11: String vrati = “Trenutno vreme na serveru je: “; 12: String trenutnoVreme = DateTime.Now.ToString(); 13: return vrati + trenutnoVreme; 14: } 15: }

Primjer kôda za vraćanje trenutnog vremena sa web servera

Server računar

SOAP odgovor

Klijent računar

Web servis klijent

program

Web server

ASP.NET

Naš web servis

SOAP zahtev

Page 32: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 32

DIO II

5. BAZA PODATAKA

5.1. Model osnovne škole

M odeliranje baze podataka je dio procesa razvoja informacionog sistema (tzv. životni

ciklus IS-a) koji se sastoji iz sljedećih faza:

Planiranje razvoja IS; Analiza i specifikacija zahtjeva korisnika; Projektovanje baze podataka i programa; Implementacija sistema; Održavanje.

Odavde se vidi da se iz analize korisničkih zahtjeva dobijaju informacije o entitetima, atributima i vezama između entiteta. Dalje u tekstu se navode konkretni korisnički zahtjevi.

Sistem treba da sadrži:

Podatke o učenicima; Podatke o profesorima; Podatke o nastavi i ocjenama;

Takođe, škola treba da pruži i drugim licima uvid u dio informacija, koje su njima od značaja, a ne kose se sa principima privatnosti. To su prvenstveno statistički podaci učenika (ocjene, opravdani i neopravdani časovi, disc. mjere itd.). Ti podaci treba da budu na raspolaganju ovlaštenim osobama putem interneta i u lokalnoj mreži. Pristup sistemu putem interneta treba ograničiti, tj. omogućiti pregled samo javno dostupnih informacija. Ostala prava pristupa i izmjene baze treba zabraniti. Ovo je prikaz organizacije sistema u najopštijem obliku. Detaljniji prikaz je naveden u nastavku teksta. Na sljedećim primjerima dat je prikaz modela baze podataka u vidu “modula”. Kompletan model nije dat iz autorskih razloga. Prikazana su dva modula.

Page 33: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 33

Slika 12. “Modul” modela baze podataka Osnovne škole “Sveti Sava”

Entitet Ključevi Atributi

Mjesto_rodjenja Sifra_mjest a Naziv_mjesta Datum_rodjenja Sifra_mjest a(FK) Datum_rodjenja Ucenik Sifra_ucenika,

Sifra_profesora(FK), Sifra_vladanja(FK), Sifra_mjest a(FK)

Prezime, Ime, Ime_roditelja, Adresa_stanovanja, Broj_telefona

Profesor Sifra_profesora Prezime, Ime, Broj_telefona, Pol, Strucna_sprema, Datum_zaposljavanj a, Datum_prestanka

Vladanje Sifra_vladanje Naziv_vladanja Ucenik_vladanje Sifra_profesora(FK),

Sifra_vladanja(FK) Datum_izmjene

Page 34: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 34

Slika 13. “Modul” modela baze podataka Osnovne škole “Sveti Sava”

Entitet Ključevi Atributi

Mjesto_rodjenja Sifra_mjest a Naziv_mjesta Datum_rodjenja Sifra_mjest a(FK) Datum_rodjenja Ucenik Sifra_ucenika,

Sifra_profesora(FK), Sifra_uspj eha(FK), Sifra_ razreda(FK), Sifra_mjest a(FK)

Prezime, Ime, Ime_roditelja, Adresa_stanovanja, Broj_telefona,

Profesor Sifra_profesora Prezime, Ime, Broj_telefona, Pol, Strucna_sprema, Datum_zaposljavanj a, Datum_prestanka

Uspjeh Sifra_uspj eha Naziv_uspjeha Razred Sifra_ razreda Oznaka_odeljenja, Oznaka_razreda Ucenik_uspjeh Sifra_profesora(FK),

Sifra_uspj eha(FK), Sifra_ razreda(FK)

Datum

Page 35: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 35

Podaci o učenicima Podaci o učenicima predstavljaju najbitniju stavku ovog informacionog sistema.

Potrebno je omogućiti vrlo lako praćenje aktivnosti nekog učenika od početka do kraja školske godine. Stoga, potrebno je raspolagati sa opštim podacima o učeniku:

• Ime i prezime; • Ime jednog roditelja; • Datum rođenja; • Mjesto rođenja; • Adresa stanovanja; • Podaci o državljanstvu; • Zanimanje roditelja; • Podaci o razredu; • Naziv struke; • Naziv zanimanja; • Opšti uspjeh; • Ocjene; • Disciplinske mjere; • Izostanci; Podaci o profesorima

Podjednako je bitno imati i podatke o profesorima: • Ime i prezime; • Adresa stanovanja; • Stručna sprema; • Datum zapošljavanja; • Datum prestanka radnog odnosa; • Predmeti koje predaje; • Fond časova;

Podaci o nastavi i ocenama Ono što povezuje prethodne dve kategorije jestu upravo nastava i ocjene. Očekuje

se od ovog informacionog sistema, da obezbijedi potpunu kontrolu nad predmetima koji se predaju u školi i lako vođenje poslova vezano za njih. Praćenje informacija o predmetima zahtijeva poznavanje:

• Profesora koji su angažovani; • Fonda časova; • Zanimanja i struke kojoj predmet pripada; • Učenika koji ga pohađaju;

Page 36: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 36

• Ocjena; Napomena: potrebno je omogućiti da više nastavnika predaje jedan predmet, pri

čemu se taj predmet može pojavljivati u više različitih odjeljenja na različitim zanimanjima. Sama baza podataka je napravljena u SQL Serveru, po uzoru na model iz ERWIN-a.

U sljedećem dijelu ću opisati postupke pravljenje baze podataka i unošenja tih podataka u bazu. Kod ovog posla bitna su tri dela:

Kreiranje tabela Kreiranje dijagrama (povezivanje tabela) Kreiranje pogleda (views)

5.2. Kreiranje tabela

Prvo sam kreirao tabelu UČENIK, jer je ona primarna za sve dalje operacije, posle toga su bile kreirane i sve ostale tabele. Kreiranje sam radio iz Enterprise M anager-a, jer je to najjednostavniji način. Istovremeno sam unosio podatke o učenicima ( ime, prezime, adresa itd.).

Page 37: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 37

Slika 14. Tabela UČENIK sa unijetim podacima o svim učenicima

Prilikom definisanja imena kolona, treba da pratimo konvencije koje se koriste kod SQL Servera. To znači da ime kolone ne smije da ima više od 128 karaktera. Može da se sastoji od slova, cifara ili simbola #, @, $ i _. Takođe, treba da pazimo da prilikom zadavanja imena kolona ne koristimo rezervisane riječi. Dobar primjer je reč “group”, koja je ključna reč SQL-a.

Tipovi podataka mogu da sadrže i vrijednost NULL. Iako NULL u različitim programskim okruženjima može da znači “ništa” ili “nula” ili “nema vrijednosti”, SQL Server interpretira NULL vrijednost kao “nepoznato” ili “nedostaje”. I praznine i nule su dozvoljene vrijednosti u zapisima u bazi, tako da treba da budemo veoma pažljivi kada njih prosljeđujemo kao parametre.

Slika 15. Prikaz svih kreiranih tabela i sistemskih tabela SQL-a

Na slici 15 vidimo sve tabele koje se nalaze u našoj bazi podataka. Pored sistemskih tabela koje služe za rad samog SQL-a tu su i tabele koje su kreirane za potrebe baze podataka web dnevnika. Kreirane tabele su :

Page 38: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 38

• Učenik

• Razred

• Predmet

• Profesor

• Polugodište

• Ocjena

• Izostanci • Dolazak roditelja

• Disciplinske mjere

• Opšti uspjeh • Opština rođenja

• Država rođenja

• Naziv opštine

• Vladanje učenika

• Zanimanje (opciono)

• Struka (opciono)

Prikaz tabele ocjena (Slika 16.) pokazuje nam tabelu u kojoj se, putem šifri za svaki

predmet, nastavnika i učenika, prikazuje vrijednost ocjene za svakog pojedinog učenika.

Page 39: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 39

Slika 16. Prikaz tabele ocjena

5.3. Kreiranje dijagrama (povezivanje tabela)

Dijagrami su dodati sistemu SQL Servera da bi olakšali vizuelno definisanje baza. Da

bismo kreirali dijagram koristeći postojeće tabele, treba da uradimo sljedeće: Raščlanimo stablo baze da bismo došli do baze sa kojom radimo. Desni klik na

Diagrams i odaberemo New Database Diagrams iz menija. Sa otvaranjem prozora za novi dijagram otvara se i “čarobnjak” za kreiranje baze. Kliknemo na Next i krenemo dalje.

U prozoru za dijalog koji prikazuje selekciju za dodavanje tabela (Select Tables to Be Added dialog box) odredimo tabele koje treba predstaviti dijagramom na desnoj strani panela. Ako smo zadovoljni selekcijom kliknemo na Finish i prozor za dijalog dijagrama baze se učitava.

Page 40: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 40

Slika 17. Prozor za dijalog koji prikazuje selekciju tabela za odabir

Page 41: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 41

Slika 18. Dijagram baze podataka Osnovne škole “Sveti Sava”

Page 42: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 42

5.4. Kreiranje pogleda (Views)

Pogledi su obično virtuelne tabele koje se kreiraju preko SQL kôda, koji može da obavlja

relacionu algebru nad podacima u tabeli ili skupu tabela. Pogledi su vrlo slični upitima iz Microsoft Accessa, jer se kreiraju preko jezika za upite i vraćaju podatke u tabelarnom formatu. Ono što poglede čini pogledima, a ne tabelama, jeste da se tabelarna struktura pogleda ne čuva u nekoj bazi podataka, odnosno nije stalna. Umjesto toga, u bazi se čuva iskaz SELECT koji se koristi za kreiranje pogleda. Drugim riječima, pogledi služe samo za prikazivanje. Oni se mogu koristiti iz različitih razloga:

• M ogu se koristiti za sakrivanje vrsta u tabeli tj. mogu da vrate jedino skup vrsta koje se odnose na konkretnog korisnika ili proces.

• M ogu se koristiti za sakrivanje kolona u tabeli. Korisniku, na primer, može da bude zabranjeno da vidi neke povjerljive informacije u tabeli UČENIK.

• M ogu se koristiti za spajanje konstrukcija, za sakupljanje kolona iz različitih tabela u jedan objekat koji predstavlja jednu tabelu.

• M ogu se koristiti za obavljanje informacija nad podacima iz tabela, kao što je predstavljanje sume svih vrijednosti iz određene kolone. Kreiranje pogleda je prilično jednostavno, iako iskaz SELECT cijelog pogleda može

biti prilično složen. Performanse pogleda se mogu dalje proširiti preko indeksa nad pogledima. Kôd koji slijedi je primjer jednostavnog pogleda i jednostavnog iskaza SELECT. Iskazi SELECT unutar pogleda mogu da sadrže i stotine linija kôda;

CREATE VIEW user_view AS

SELECT item, quantity

FROM inventory_view

Podacima u pogledima se može manipulisati preko iskaza INSERT, UPDATE i

DELETE. Ažuriranje je kaskadno u odnosu na osnove tabele, uključujući i sve tabele članove koje se referenciraju u pogledima.

Page 43: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 43

Slika 19. Ubacivanje tabela prilikom kreiranja pogleda

Prilikom kreiranja pogleda SQL nam nudi mogućnost ubacivanja pojedinačnih tabela. Kako mi ubacujemo tabele, tako SQL automatski generiše svoj SQL-kod. Primjer izrade vidimo na slici 19., a konačan rezultat jednog pogleda na slici 20.

CREATE VIEW dbo.[Trbic Ognjen] AS SELECT dbo.PREDMET.naziv_predmeta, dbo.OCIJENA.vrijednost FROM dbo.OCIJENA INNER JOIN dbo.PREDMET ON dbo.OCIJENA.sifra_predm eta = dbo.PREDMET.sifra_predmet INNER JOIN dbo.POLUGODISTE ON dbo.PREDMET.sifra_predmeta = dbo.POLUGODISTE.sifra_predmeta INNER JOIN dbo.UCENIK ON dbo.OCIJENA.sifra_ucenika = dbo.UCENIK.sifra_ucenika WHERE (dbo.UCENIK.prezime = 'Trbic') AND (dbo.UCENIK.ime = 'Ognjen')

Primjer koda (View)

Page 44: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 44

Slika 20. Kreiranje pogleda za jednog učenika

Page 45: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 45

6. IZRADA WEB PREZENTACIJE

Web stranica osnovne škole “Sveti Sava” predstavlja pokušaj da se korisnicima, putem

interneta omogući pristup svim relevantnim podacima o učenicima, profesorima i o samoj školi. Kompletna web stranica je napravljena u Adobe Dreamweaver-u. Dreamweaver je program za izradu web strana, koji omogućava vizuelno projektovanje i uređivanje, kao i neposredno pisanje HTML kôda. On skraćuje vrijeme izrade web prezentacija, a ima i alatke za njihovo mijenjanje i održavanje. Ima mogućnost pravljenja dinamičkih web prezentacija u kojima se koriste baze podataka, serverski skriptovi i web aplikacije.

Ova web stranica se sastoji iz četiri dijela:

Početna – predstavlja početnu stranicu web prezentacije (index.aspx), na kojoj je korisniku omogućeno da se uloguje i poslije toga pristupi ostalim dijelovima web prezentacije.

Učenici – glavni dio web stranice (učenici.aspx), gdje su pomoću ASP.NET-

a i baze podataka (SQL Server) predstavljeni podaci o učenicima (ocene, izostanci, disc. mere, itd.).

Profesori – dio weba (profesori.aspx), koji sadrži podatke o profesorima koji

predaju i rade u OŠ “Sveti Sava”

Kontakt – (kontakt.aspx) sadrži informacije o autoru ovog projekta, adresi škole, brojevima telefona itd.

Page 46: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 46

6.1. Izrada Index.aspx u Dreamweaver-u

Ovaj program omogućava izradu dinamičkih web sadržaja koristeči serverske jezike kao što su ASP, ASP.NET, JAVA, PHP, COLD FUZION, MARKUP LANGUAGE (CFML). Vrijeme izrade u ovom programu se znatno skraćuje, i to jer on i napredne tehnike čin i pristupačnim i olakšava njihovu upotrebu. Adobe Dreamweaver M X je vrlo fleksibilan program koji objedinjuje velike mogućnosti projektovanja i programiranja te tako postaje vrlo koristan alat kako početnicima i onima sa nešto manje iskustva, tako i iskusnim korisnicima.

Na slici 21 vidimo izradu index stranice Osnovne škole ” Sveti Sava “ pomocu Adobe Dreamweavera. Program nam omogućava vizuelno projektovanje, tj. Izmjenu koda koju odmah vidimo na našoj stranici.

Page 47: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 47

Slika 21. Index.aspx

6.2. Početna strana (index.aspx)

Index.aspx stranica je osmišljena tako, da ukoliko korisnik ne posjeduje korisničko ime i

lozinku, tj. ukoliko ne može da se pravilno uloguje, on ne može da pristupi zaštićenim podacima (drugim dijelovima web prezentacije). Korisnička imena i lozinke se čuvaju u bazi podataka SQL Servera. Svaki korisnik može da ima samo jedan korisnički nalog. Na index strani korisnik može da vidi novosti vezane za školu, i uopšteno uputstvo za logovanje. Nakon uspešnog logovanja on može da pristupi ostalim dijelovima web prezentacije.

Slika 22. Početna (index.aspx) stranica web prezentacije

Page 48: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 48

6.3. Glavna strana (učenici.aspx)

Na glavnoj stranici se prikazuju podaci o učenicima. Nakon logovanja korisnik je u mogućnosti da vidi podatke o određenom učeniku. Korisniku nije dozvoljeno da mijenja podatke niti bilo šta drugo, to je dopušteno samo administratoru baze podataka.

Slika 23. Glavna strana (učenici.aspx) prikazana u pretraživaču

Page 49: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 49

Web prezentacija preko ASP.NET skripte poziva sa servera, iz baze podataka, podatke o učeniku. npr. na slici br. 23. dati su podaci o učeniku Trbić Ognjenu (datum rođenja, opšti uspjeh, razred), to je prikazano u malom frame-u, na većem dijelu su prikazane njegove ocjene iz svih predmeta, to je urađeno preko kontrole DataGrid, a koja je sastavni dio .NET Framework-a.

7. PREDNOSTI WEB-DNEVNIKA

U svom dosadašnjem susretanju sa bazama podataka koja su počela prije nekih desetak godina, prva iskustva imao sam sa M icrosoft Accessom.Na prvi pogled program je bio savršen. Zbog malog obima posla i jednostavnosti, baza podataka je dobro funkcionisala i nije bilo potrebe za pronalaženjem novih ili boljih riješenja. ( Ne mijenjaj tim koji dobro igra!).Kako je vrijeme odmicalo tako se i baza podataka u Accessu usložnjavala. Postajala je sve sporija, a izvođenje određenih upita postalo je stvar vrhunske vještine. Trebalo je uložiti jako puno vremena da bi se iz baze isfiltrirali određeni podaci koji ni dalje nisu bili u obliku koji mi želimo, već smo ih na razne načine morali dorađ ivati da dobiju konačan oblik.

Sa povećanjem obima i složenosti baze podataka došlo je do spontanog prelaska na profesionalnija rješenja u smislu projektovanja, izrade i administriranja baze podataka. Rješenje koje se nametnulo samo po sebi, a i po preporukama drugih bilo je M icrosoft SQL server. Za ovo rješenje odlučio sam se ponajviše jer pruža mogućnost rada u GUI ( grafičko okruženje), što povećava brzinu rada programera i omogućava veću preglednost kompletnog projekta. Pošto se radi o kompleksnom projektu koji je modularan, mora se pažljivo projektovati baza podataka. Pri kvalitetnom projektovanju koristili smo CASE alat ERWIN koji nam garantuje apstraktno viđenje stanja realnog sistema tj. definisanje strukture podataka.

Veliku efikasnost u radu postigli smo pažljivim modeliranjem baze pomoću CASE alata. Stanje sistema predstavljeno je preko skupova podataka i njihovih međusobnih veza u jednom trenutku vremena i sadrži skup informacija o prošlosti i sadašnjosti sistema koja je potrebna da se pod dejstvom budućih poznatih ulaza mogu odrediti njegovi budući izlazi. U svakom trenutku model naše baze može biti uzet u razmatranje pošto posjedujemo grafički predstavljen model baze.

U današnjem vaspitno-obrazovnom sistemu nije došlo do većih promjena u odnosu na protekli period i vijek. Većina pedagoških normi ostala je nepromijenjena. Još uvijek se vodi mnošto administrativnih akata koji usložnjavaju i otežavaju poslove prosvjetara, te ih svode na obične administrativne radnike. Ovakvim načinom vođenja dokumentacije i postignuća učenika tokom jedne školske godine ili cijelog devetogodišnjeg školovanja, npr., smanjićemo utrošak energije prosvjetnih radnika u administrativnom dijelu, a povećati njihov pedagoški uticaj. Time bi se doprinijelo povećanju kvaliteta nastavnog procesa, a istovremeno ne bi došlo do štetnih posljedica po bazu podataka za svakog pojedinog učenika.

Da pojasnim na konkretnom primjeru – trenutno se u školama vode: Dnevnici rada, M atična knjiga, Registar uz M atičnu knjigu, te EM IS. U Dnevnik rada razredni starješina upisuje lične podatke svakog pojedinog učenika, te evidenciju posjećenosti nastave i napredovanja u nastavi. Dnevnici rada čuvaju se u arhivi 10 godina. U Matičnu knjigu i Registar unosimo podatke koji se, takođe, odnose na samog učenika, a koji se čuvaju trajno. EM IS program je program koji se vodi za potrebe škole i M inistarstva prosvjete i kulture, a u koji se unose svi podaci iz M atične

Page 50: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 50

knjige, te zaključne ocjene sa prvog i drugog polugodišta svake školske godine za svakog pojedinog učenika.

Prva dva dokumenta unose se mastilom i rukom, dok se EM IS radi u elektronskoj

formi. O dokumentima koji se vode u pisanoj formi ne treba ovdje puno govoriti, jer se manjkavosti takvog rada protežu kroz istoriju. Ali, EM IS program kao prvi elektronski oblik vođenja kompletne školske dokumentacije je veoma kompleksan i nepraktičan za rad nastavnog kadra.

U proteklih nekoliko godina, koliko je ovaj program u upotrebi, pokazalo se niz problema u njegovom korištenju. Jedan od tih problema je polugodišnje ocjenjivanje, što podrazumijeva zastarjelost informacija. Istovremeno, ukazuje se potreba za izradom novog oblika ovakvog programa, a koji bi se odnosio na tekuću školsku godinu. On bi podrazumijevao svakodnevno ažuriranje podataka za svakog učenika unutar jednog odjeljenja.

Tempo života naglo se ubrzava. Roditelji su prinuđeni da veći dio dana provode na radnim mjestima. To za sobom povlači slab odaziv roditeljskim i informativnim sastancima. To porazumijeva i slabiju kontrolu učenika u učenju i vladanju. Nemogućnost kontrole izaziva kontraefekat kod djece i oni se polako uče izbjegavanju obaveza. Ovim projektom to bi se u znatnoj mjeri smanjilo. Evo i zašto: svaki razredni starješina mogao bi dnevno ili barem sedmično da ažurira ocijene koje bi onda putem web-dnevnika bile dostupne roditeljima. Time bi roditelji imali mogućnost da prate postignuća svoje djece na vrlo jednostavan i ef ikasan način, a da i ne izađu iz svojih domova ili da ne ugroze vlastitu egzistenciju.

Jednostavnost rada sa bazom podataka koju nam omogućava SQL, (SQL je ’’grupno orijentisani’’ jezik) za razliku od tradicionalnih kao što su C, C++ i Java. To znači da se SQL-om upiti mogu postavljati na većem broju redova jedne, ili više tabela, korištenjem samo jedne naredbe. Ta osobina predstavlja jednu od najvažnijih prednosti SQL-a, jer dozvoljava korištenje ovog jezika na višem logičkom nivou, nego što je to slučaj sa proceduralnim jezicima. Drugo važno svojstvo SQL-a je neproceduralnost. Svaki program napisan u nekom od proceduralnih jezika (C, C++ i Java) opisuje, korak po korak, kako neki zadatak treba da se izvrši. Nasuprot tome, SQL, kao i bilo koji drugi neproceduralni jezik omogućava da korisnik pomoću njega definiše šta želi dobiti, a ne kako će to dobiti. Zbog toga je sistem ’’odgovoran’’ za nalaženje odgovarajućeg načina za izvršenje određenog zahtjeva korisnika. Kad sve ovo imamo mogućnost da izvršimo pomoću grafičkog okruženja jasno je da će i korisnici sa slabijim predznanjem biti u mogućnosti da pristupe i manipulišu bazom podataka. Ovo dovodi do veće iskoristivosti baze i njene pravilne eksploatacije koja daje pozitivne rezultate.

Page 51: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 51

8. ZAKLJUČAK

Dani statičkog HTM L-a su odavno iza nas. Većina današnjih web sajtova je kreirana

dinamički, spajanjem informacija u nekoj bazi podataka sa uzorcima (templates) web stranica na nekom od servera. Ljudi koji se bave web dizajnom znaju da je informaciona arhitektura jedan od osnovnih uslova za dobar web sajt.

Ona nije ništa drugo, nego formatiranje informacija na način koji omogućava komunikaciju. To je jedna vrsta mentalnog modela – pokušavamo da svoj mentalni model podijelimo sa drugom osobom pomoću riječi, slika itd.

Što se tiče ASP.NET-a, on će uz PHP predstavljati pravac za web programere. Svi koji budu htjeli da razvijaju web aplikacije i web servise pomoću ASP.NET-a imaće veliko zadovoljstvo raditi u njemu, vjerovatno će korisnici biti iznenađeni koliko je .NET lakši i jednostavniji u poređenju sa drugima.

Što se tiče ovog projekta, on bi trebao da bude aplikacija za potrebe jedne škole. Naime, školi je trebao alat za upravljanje podacima o učenicima, profesorima i školi koji bi bili javno dostupni korisnicima putem interneta. Ovakav način objavljivanja informacija je na Zapadu svakodnevnica. Zamislite sljedeću situaciju: roditelji su na poslovnom putu, ne mogu da provjere informacije o svom djetetu u školi (ocjene, izostanci i sl.), a posjeduju “kakvo-takvo” znanje o računarima i imaju pristup internetu. Jednostavno posjete web stranicu škole, uloguju se i dobiju sve potrebne informacije. Mislim da bi ovo trebao da bude projekat koji bi bio nekakav “prototip” jednog načina dijeljenja informacija i koji bi trebao da počne da se primjenjuje u školama i na fakultetima.

Page 52: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 52

9. LITERATURA

[1] M ichael Baumgardt; Adobe Photoshop 7 Web Dizajn ; Kompjuter biblioteka; Čačak 2003.

[2] Dragan M ihajlović; Informacioni sistemi i projektovanje baza podataka; Univerzite u Novom Sadu FTN; Novi Sad 1998.

[3] Jeffrey R. Shapiro; SQL Server 2000 kompletan priručnik; Kompjuter biblioteka; Čačak 2002.

[4] Philip Syme, Peter Aitken; C# web programiranje; Kompjuter biblioteka; Čačak 2002. [5] Khristine Annwn Page; Macromedia Dreamweaver MX 2004; Mikro knjiga; Beograd 2004. [6] Scott Kelby; Photoshop 7 podli prljavi trikovi; MIŠ; Zagreb 2002. [7] 15 Seconds : Building ASP.NET User and Server Controls -- Part 1;

http://www.15seconds.com/issue/020319.htm [8] W3Schools Online Web Tutorials; http://www.w3schools.com/

Page 53: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 53

Strana Apstrakt 2 Skraćenice i akronimi 3 Uvod 5 DIO I 1. Osnove web dizajna 6

1.1. Razvoj dizajnerskog koncepta 9 1.2. Informaciona arhitektura 10 1.3. Web upotrebljivost 12

2. Modeliranje podataka (ERWIN) 14

2.1. Kreiranje ER modela 15 2.2. Atributi ER modela 15 2.3. Definisanje ograničenja 16

3. Microsoft SQL Server 2000 18

3.1. Modeli baza podataka 18 3.2. Relacijski model 18 3.3. Osnovne karakteristike SQL jezika 21 3.4. SQL Server 2000 22 3.5. Enterprise Manager 22

4. ASP.NET 26

4.1. CLR (Common Language Runtime) 27 4.2. Obrada dinamičkih zahtjeva 28 4.3. Obrada web servisa 30

DIO II 5. Baza podataka 32

5.1. Model osnovne škole 32 5.2. Kreiranje tabela 36 5.3. Kreiranje dijagrama (povezivanje tabela) 39 5.4. Kreiranje pogleda (Views) 42

6. Izrada web prezentacije 45

6.1. Izrada Index.aspx u Dreamweaver-u 46 6.2. Početna strana (index.aspx) 47 6.3. Glavna strana (učenici.aspx) 48

7. Prednosti Web Dnevnika 49 8. Zaključak 51 9. Literatura 52

Page 54: Specijalističke studije TEMA: WEB DNEVNIKapeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specij... · podataka web servisu; to je razlog zašto web servisi koriste SOAP

Specijalistički rad Dejan Trifunović

 

Univerzitet Apeiron, Banja Luka Fakultet za poslovnu informatiku Str. 54