Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 46

.

Korisniki zahtev
Potrebno je napraviti aplikaciju koja ce omoguciti razmenu informacija i komunikaciju izmeu
zaposlenih u odeljenjima u okviru kompanije i izmedju zaposlenih iz drugih kompanija i njihovih
odeljenja. Pomocu aplikacije potrebno je omoguiti zaposlenima (korisnicima sistema) da primaju
informacije od kompanije, odeljenja, durgih zaposlenih,da razmenjuju poruke sa drugim zaposlenim,
direknu komunikaciju sa pomou eta kao i da prave svoje info grupe. a odrzavanje pravilnog rada
aplikacije potrebni su administratori i moderatori. !oderatori su zadu"eni za odr"avanje pojedinih info
grupa, a administratori imaju mogunost dodavanja novih kompanija u grupu kompanija, dodavanje novih
info grupa u odreena odeljenja kompanija i izbor novih novih moderatora.
1
2. Opis tehnologija korienih u aplikaciji
2.1. HTML
#$!%, #&per$e't !arkup %anguage, je standarizovani jezik koji se koristi pri
strukturiranju tekstova, medija i ugraenih objekata u (eb stranice i elektronsku po)tu. *ao
modifikovanu i pojednostavljenu verziju +,!% jezika, #$!% standarizuje i odr"ava -orld
-ide -eb .onsortium (-/.). 0riginalnu verziju #$!%1a kreirao je $im 2erners1%ee, a prva
zvanina verzija je iza)la juna 344/ godine.
#$!l jezik je sainjen od obinog teksta i tagova. 5ako se #$!% znakovi (tags) esto
nazivaju kodom, tehniki #$!% nije kod jer kompjuterski kod su instrukcije koje od raunara
tra"e da izvr)i odreenu operaciju. +vrha #$!% znakova je da se se struktura dokumenta
6oznai6 tako da bi korisnikov agent (user agent), tj. internet pretra"iva mogao da prepozna
strukturu dokumenta i ispravno je prika"e u prozoru internet pretra"evaa kojeg korisnik koristi.
a dodatno modifikovanje (eb stranica, do sada su iza)li neki dodaci7
.++ ili .ascading +t&le +heets za izgled i polo"aj prezentacije
+kriptni jezici (8avascript, 92+cript) za omoguavanje dinaminosti i interaktivnosti na
(eb prezentacijama,
:0! ili :ocument 0bject !odel, koji oznaava vezu izmeu skripte i elementa na stranici
,ornji dodaci, u paketu sa #$!% jezikom, ponekad se nazivaju :#$!% ili :inamini
#$!%.
2.2. CSS
.++ je u osnovi skup instrukcija koje defini)u kako neki #$!% dokument treba da se
prika"e. ;ajbolja stvar kod .++1a je da se on mo"e deflnisati u spolja)njoj datoteci, ili listu
(sheet). Pretra"iva onda mo"e da proita ovaj spolja)nji list i da primeni sadr"aj na odreeni
sadr"aj datoteke. ;a taj nain se stil i formatiranje strane odvajaju od samog sadr"aja. 0vo je vrlo
bitan koncept kod dizajna (eb strana. 0vo 9am pru"a moan i detaljan nain da a"urirate svoj
(eb sajt. < datoteci sa stilovima mo"ete definisati da se za tekst primenjuje font =rial, da je
veliina slova 3> piksela, da su slova crvene boje, da su masna, da je tekst levo poravnat i da je
pozadina plava. =ko ovu datoteku pridru"ite svim stranama na svom sajtu, tekst e se uvek
prikazivati na taj nain. =ko promenite mi)ljenje, mo"ete da promenite jednu datoteku i da zadate
da font bude $imes, da veliina slova bude >? piksela, da su zelene boje, pisana kurzovim i desno
poravnata. <pamtite tu novu datoteku i ceo (eb sajt se automatski a"urira. .++ takoe
omoguava da radite neke stvari koje u #$!%1u nisu mogue. a svoju stranu mo"ete definisati
nivo kroz koji ete se kretati klizaem. ;a taj nain mo"ete da imate prozor u sredini strane sa
sadr"ajem kroz koji se mo"ete kretati uz pomo klizaa. a svaku ivicu u okviru tabele mo"ete
2
definisati razliitu boju. !o"ete podesiti da se kod oznaka za nabrajanje koristi korisniki
definisana grafika, ili mo"ete obrisati podvlaenje hiperlinkova. Premda se sa svakom novom
verzijom pretra"ivaa pobolj)ava podr)ka koju oni imaju za .++, ipak nee svi pretra"ivai
prikazati sve elemente .++1a, niti e sve elemente prikazati na isti nain. <vek je dobro da svoju
stranu testirate u razliitim pretra"ivaima. 8edna od bitnih ideja u vezi .++1a je da ako
pretra"iva ne podr"ava neki stil, informacije su i dalje tu, ali se ne koriste stilovi koji nedostaju.
5@ A i ;etscape B i novije verzije uglavnom prikazuju veinu .++ elemenata. 5zvesna ogranienja
postoje u verziji ;etscape C. .++ 9am daje neverovatnu kontrolu nad stranama. -/. sada
preporuuje da za formatiranje strana koristite .++. $rebalo bi da pa"ljivo razmotrite mogunosti
primene .++1a kod dizajna.
2.3. JAVASCRIPT
8ava +cript pripada grupi jezika za skriptovanje, pre svega klijentske strane, mada se mo"e
izvr)avati i na serveru (runatDEserverE). 8ava +cript je najpopularniji jezik na 5nternetu, koji je
dizajniran da povea interaktivnost #$!% strana.
Fazvila ga je kompanija ;etscape .ommunications i uvela u ;etscape ;avigator, poev)i
od verzije >.G, uporedo sa uvoenjem podr)ke za 8avu. 8ava+cript je uveden radi poveanja
interaktivnosti veb strana. 9eb itai koji podr"avaju 8ava+cript interpretiraju kod.
8ava+cript dodaje interaktivnost veb prezentaciji na strani klijenta. ;a primer, kori)enjem
8ava+cripta je mogue odgovarati na akcije korisnika u samom veb itau. 2itno je naglasiti da
8ava+cript program mo"e da se izvra)ava samo u okviru veb itaa i nigde drugde. Pri kreiranju
8ava+cript koda mo"e se koristiti bilo koji =+.55 editor.
Polazni naziv 8ava+cript jezika bilo je %ive+cript, ali u saradnji ;etscape1a i +un1a, ime je
izmenjeno u 8ava+cript, zbog namere da 8ava i 8ava+cript budu jezici 5nterneta i internet
programiranja.
8ava+cript programi se koriste da bi detektovali i reagovali na dogaaje koji su inicirani od
strane korisnika, kao npr. prelazak mi)em preko linka i grafikog objekta na strani. 8ava+cript
kod mo"e da pobolj)a kvalitet sajta navigacionim pomagalima, skrolovanim porukama, dialog
prozorima, dinaminim slikama, koliicima za kupovinu (shopping cart), itd. 8ava+cript
omoguava korisnicima da kontroli)u izled veb strane dok se dokument HtumaiE od strane
itaa. <z pomo 8ava+cripta, mo"emo da proverimo tanost podataka koje je korisnik ukucao u
formu, pre nego )to se ti podaci prebace na server. 8ava+cript testira brauzaer korisnika da vidi da
li ima neophodne dodatke (plug inns) za uitavanje tra"ene strane i ako ih nema, 8ava+cript
usmerava korisnika na drugi sajt da ih nabavi. 8ava+cript slu"i kao programski jezik. ;jegovo
jezgrosadr"i osnovne elemente programskih jezika kao )to su promenljive, tipovi podataka,
kontrolne petlje, ifIelse izjave, s(itch izjave, funkcije i objekte. 8ava+cript se koristi za
aritmetike operacije, manipulacije datumom i vremenom, nizovima, stringovima i objektima. 0n
takoe ita i upisuje vrednosti kuki fajlova i dinamiki kreira #$!% na osnovu vrednosti kukija.
3
2.4. PHP
+erver 1 side skripting je (eb server tehnologija koja omoguava da se korisniki zahtevi
obrauju pomou skripti koje se izvr)avaju na serverskoj strani kako bi se generisale dinamike
stranice. ;aje)e se koristi da bi se interaktivne (eb stranice povezale sa bazama podataka, radi
identifikacije korisnika, a"uriranja sadr"aja, stvaranja raznih diskusionih grupa i jo) zbog mnogo
toga. Fazlika izmeu skriptovanja na serverskoj i korisnikoj strani je u tome )to se kod
korisnike strane skripte izvr)avaju u (eb bro(ser1u korisnika, naje)e pomou 8ava+cript1a.
;ajzastupljenije tehnike serverske strane7
.ommon ,ate(a& 5nterface
=ctive +erver Pages
8ava +ervlet i 8ava +erver Pages
P#P
P#P je open source jezik koji se koristi za razvoj server1side aplikacija, kao i dinamikog
-eb sadr"aja. P#P dozvoljava interakciju sa velikim brojem relacionih baza podataka kao )to su
!&+J%, 0racle, 52! :>, !icrosoft +J% +erver, Postgre+J% i +J%ite. P#P radi na veini
operativnih sistema dana)njice, kao )to su <;5K, %inu', -indo(s i !ac 0+ i mo"e da interaguje
sa veinom -eb servera.
Personal #ome Page $ools je predstavio P#P 344A. godine, a dve godine kasnije su razvoj
nastavila dva 5zraelska programera. 0d 3444. godine se zasniva na end engine1u. P#P je prvo
bio akronim za Personal #ome Page $ools, da bi kasnije promenio naziv u #&perte't
Preprocessor.
P#P je stekao popularnost zbog svoje jednostavnosti i sintakse nasleene iz programskog
jezika .. $okom vremena jezik se pro)irivao i sticao mogunosti za objektno orijentisano
programiranje, naroito od verzije A.G. ;alikuje jeziku .LL u smislu da dozvoljava i isto1
proceduralno programiranje ali omoguava i kori)enje klasa i drugih koncepata objektno
orijentisanog programiranja (nasleivanje, apstraktne metode, interfejsi itd.).
:anas, P#P je instaliran na vi)e od >G miliona sajtova i preko million (eb servera.
Poslednja realizovana stabilna verzija je A.>.B iz maja >GG?.god.
;eke od osnovnih odrednica P#P M a su7
P#P je akronim za #&perte't Preprocessor
server M side skriptni programski jezik
skripte se izvr)avaju na serveru
podr"ava rad sa razliitim bazama podatama (!&+J%, 5nformi', 0racle, +&base, +olid,
Postgre+J%, ,eneric 0:2., itd.)
open source softver (0++)
radi na razliitim platformama (-indo(s, %inu', <ni' i td.)
4
kompatibilan je sa skoro svim serverima koji se danas koriste (=pache, 55+, itd. )
lak je za uenje i efikasno funkcioni)e na strani servera.
Za PHP fajlove, bitne su sledee injenice:
mogu da sadr"e tekst, #$!% tagove i skripte
vraaju se klijentskom bro(ser M u kao #$!% tekst (plain #$!%)
imaju ekstenziju7 E.phpN, E.php/N ili E.phtmlN
5
2.5. AJAX
=8=K predstavlja (eb razvojnu tehniku za kreiranje interaktivnih (eb sadr"aja. =8=K tehnologija
se zasniva na razmeni malih koliina podataka sa serverom, kako korisnik ne bi stalno morao da osve"ava
stranicu. ;a taj nain se omoguava potpuna interaktivnost, efikasnost i pobolj)ava funkcionisanje
stranice uop)te. =8=K nije tehnologija sam po sebi, ve termin koji se odnosi na kori)enje grupe
tehnologija.
=8=K obuhvata7
prezentaciju baziranu na standardima koristei K#$!% i .++O
dinamiki prikaz i interakciju preko :ocument 0bject !odel1aO
razmenu i manipulaciju nad podacima koristei K!% i K+%$O
asinhrono prikupljanje podataka uz pomo K!%#ttpFePuest1a koji ini jezgroO
i 8ava+cript koji povezuje sve u celinu.
5deja koja se krije iza =8=K1a jeste da se stranica na kojoj se odvija (eb aplikacija uita samo
jednom, a da se svaka dalja komunikacija sa serverom sakrije od oiju korisnika i obavlja bez ponovnog
uitavanja itave stranice. +vaki prenos podataka izmeu servera i klijenta (u sluaju =8=K1a to je
bro(ser) vr)i se u pozadini. 8asno je da je ovo nemogue izvesti statikim #$!%1om, pa tu na scenu
stupa 8ava+cript. 8ava+cript je zadu"en za komuniciranje sa serverom M slanje #$$P zahteva, prijem
podataka sa servera i njihov prikaz na stranici, a i interakcija sa korisnikom posti"e se kori)enjem ovog
jezika.
;eki od osnovnih principa na kojima bi trebalo da se zasnivaju =8=K aplikacije7
!inimalan protok 1 =8=K aplikacije bi trebalo da )alju i primaju sa servera )to je mogue
manje informacija
=8=K aplikacije predstavljaju korisniku drugaije modele interakcije od tradicionalnih (eb
aplikacija. ;asuprot Eklik M ekajE prirodi standardnih (eb aplikacija, =8=K predstavlja
modele interakcije koji su slini desktop aplikacijama. 2ez obzira koji se model interakcije
koristi, najbitnije je obezbediti konzistentnost kako bi korisnik znao )ta treba sledee da
uradi.
5zbegavaju se nepotrebni elementi na strani kao )to su animacije ili delovi koji trepere.
5zbegava se preuzimanje cele strane 1 celokupna komunikacija sa serverom, nakon
uitavanja inicijalne (eb strane treba da bude zadatak =8=K engine Ma
6
=8=K omoguava razliite funkcionalnosti7
9alidacija podatka u realnom vremenu 1 Podaci na formama kao )to su7 user 5:s, serial
numbers, postal codes, i ostali koji zahtevaju validaciju od strane servera, mogu biti
provereni pre submit1 ovanja forme.
=utocompletion i autosuggest 1 0dreeni delovi podataka koji se unose od strane
korisnika(posetioca)7 e1mail adresa, ime, grad i ostali se mogu automatski kompletirati, tj.
dovr)iti odmah nakon )to se unesu samo poetni delovi.
<itavanje na zahtev 1 < skladu sa iniciranim dogaajem od strane korisnika, #$!%
strana mo"e povui veu koliinu podataka u pozadini i omoguiti uitavanje kompletne
strane mnogo br"e.
+ofisticiran korisniki interfejs, kontrole i efekti M *ontrole kao )to su meniji, tabele
podatka, tekst editori, kalendari, status bar1ovi 5 sl. 0moguavaju korisnicima bolju
interakciju, bez potrebe za uitavanjem kompletne stranice.
0sve"avanje podataka 1 #$!% stranice povlae podatke sa servera i omoguavaju
najsve"ije podatke kao )to su rezultati, cene akcija, vreme ili neke druge podatke iz
specifinih aplikacija.
:elimian submit M bez potrebe za uitavanjem cele forme.
+tranica kao aplikacija M (eb stranice postaju sline desktop aplikacijama
!o"e se zakljuiti da, za razliku od klasinih (eb aplikacija, =8=K onemoguava korisnikom
interfejsu direktnu komunikaciju sa serverom. ;a taj nain je mogue ostvariti n1slojnu arhitekturu u
punom smislu te rei (u potpunosti je odvojen korisniki interfejs od ostatka sistema). =8=K engine je
odgovoran za tu komunikaciju i on na odreen nain i ima odgovornost kontrolera korisnikog interfejsa,
jer poziva server u skladu sa akcijama korisnika. #$$P rePuest prenosi zahteve do servera dok se oni sa
servera vraaju u odgovarajuem obliku. =8=K engine mo"e da ima u potpunosti ulogu kontrolera
korisnikog interfejsa ukoliko se, kao )to je i preporulijvo, unutar njega implementiraju i funkcije koje e
da obrauju korisnike akcije (pritisak mi)a, dugmeta i sl.). ahtevi prema, kao i odgovori od strane
servera, se ne moraju poklapati sa korisnikim zahtevima, ve se odvijaju u bilo kom pogodnom trenutku.
2ro(ser se Ene zamrzavaE i ne eka na odgovor servera. <mesto toga, korisnik je neprestano u
mogunosti da skroluje, pritiska mi)a, kuca na stranici.
=8=K aplikacija elimini)e start1stop1start1stop prirodu interakcije sa -ebom uvodei posrednika M
=8=K engine M izmedju korisnika i servera. 5zgledalo je da e se dodavanjem sloja samo usporiti
aplikacija, ali to uop)te nije sluaj. <mesto uitavanja (eb strane, na startu sesije, bro(ser uitava =8=K
engine M napisanu u 8ava+criptu i obino sklonjenu u neki skriveni frejm. =8=K engine je odgovoran za
prenos podataka u oba smera, prikazivanje interfejsa koji korisnik vidi i komunikaciju sa serverom u ime
korisnika. =8=K engine dozvoljava korisniku da se njegova interakcija sa aplikacijom odigrava asinhrono
M nezavisno od komunikacije sa serverom.
7
+vaka korisnika akcija koja bi generisala #$$P zahtev, umesto toga dobija formu 8ava+ript poziva
=8=K engine. +vaki odgovor na korisniku akciju koji ne zahteva odgovor od servera, kao )to je prosta
validacija podataka, izmena podataka u memoriji, ak i neka navigacija M engine vraa sama. <potrebom
=8=K1a mnoge od akcija, koje su karakteristine za desktop aplikacije, postaju dostupne i u (eb
aplikacijama (real1time validacija podatka, drag and drop, i sl.)
2.6. SQL
+J% je standardni programski jezik za pristup i manipulaciju podacima iz relacionih baza podataka
i podr"an je od strane svih servera relacionih baza podataka. < relacionim bazama podaci su skladi)teni
preko niza tabela. +vaka tabela sadr"i kolone koje opsiuju atribute podataka, a svaki red je instanca
podataka.
Felational :ata 2ase !anagement +&stems (F:2!+), odnosno sistemi za upravljanje relacionim
bazama podataka su se u praksi pokazali kao najbolji nain upravljanja podacima.
3. Dijagram sluajeva korienja
8
Alternativni scenario:
>.3 <koliko sistem ne mo"e da se pove"e na bazu prikazuje poruku o datom problemu
D!: Dijagram sekvenci sluajeva korienja " #zmena in$ormacija
Osnovni scenario:
3.*orisnik bira opciju za prikaz izmenu informacija.
>.+istem prikazuje formu za izmenu informacija.
/.*orisnik unosi nove podatke.
C.+istem prikazuje poruku o uspe)noj izmeni.
Alternativni scenario:
C.3 <koliko sistem ne mo"e da se pove"e na bazu prikazuje poruku o datom problemu
9
Alternativni scenario:
>.3 +istem nije mogao da ostvari konekciju sa bazom
D3: Dijagram sekvenci sluajeva korienja " Kreiranje nove grupe
Osnovni scenario:
3. *likom na ikonicu H,rupeE, sistem vraa administratora pregled grupa kojih je lan kao i mogunost
kreiranja nove grupe
10
>. *likom na H;ova grupaE sistem prikazuje administratora polje za naslov grupe i te't polje za prvi post
u okviru nove grupe, kao i dugme HnapraviE
/. *likom na dugme H;apraviE sistem u bazi snima novu grupu i obave)tava administratora
Alternativni scenario:
/.3 +istem ne moze da pristupi bazi
D%: Dijagram sekvenci sluajeva korienja " &risanje grupe
Osnovni scenario:
3. *likom na ikonicu H,rupeE, sistem vraa administratora pregled grupa kojih je lan kao i mogunost
kreiranja nove grupe
11
2.<laskom u neku od grupa koju je administratora kreirao, sistem sa leve strane prikazuje opciju brisanj
/. 0dabirom opcije Hobri)i grupuE administratora bri)e grupu iz baze
C. +istem obave)tava administratora
Alternativni scenario7
/.3 +istem nije mogao da pristupi bazi
D': Dijagram sekvenci sluajeva korienja " lanje poruka
Osnovni scenario:
3.*likom na HporukeE sistem nudi administratora / opcije7 Hnapisi porukuE, HprijemE i HposlatoE
>.0dabirom Hnapisi porukuE sitem administratora prikazuje padajuci listu drugih korisnika, polje za
naslov poruke, polje za sadr"aj poruke i dugme posalji
/. =dministratora vr)i izbor prijatelja, popunjava poruku i )alje je pritiskom dugmeta HposaljiE
C.+istem prosledjuje poruku u bazu i obave)tava klijenta da je poruka uspe)no poslata
12
Alternativni scenario:
C.3 <koliko sistem ne mo"e da se pove"e na bazu prikazuje poruku o datom problemu.
D(: Dijagram sekvenci sluajeva korienja " )regle* poruka
Osnovni scenario:
3. =dministratora bira opciju poruke.
>.+istem prikazuje primljene poruke od drugih korisnika.
13
Alternativni scenario:
>.3 <koliko sistem ne mo"e da se pove"e na bazu prikazuje poruku o datom problemu.
D+: Dijagram sekvenci sluajeva korienja " #zmena in$ormacija
Osnovni scenario:
3. =dministratora bira opciju za prikaz izmenu informacija.
>.+istem prikazuje formu za izmenu informacija.
/. =dministrator unosi nove podatke.
C.+istem prikazuje poruku o uspe)noj izmeni.
14
Alternativni scenario:
C.3 <koliko sistem ne mo"e da se pove"e na bazu prikazuje poruku o datom problemu.
D!: Dijagram sekvenci sluajeva korienja " Do*avanje vesti
Osnovni scenario:
3. =dministrator bira opciju za dodavanje nove vesti
>.+istem mu vraa formu za naslov i tekst vesti
/. =dministrator popunjava formu i pritiskom na dugme H:odajQE objavljuje vest
C. +istem mu vraa poruku da je vest uspesno dodata
15
Alternativni scenario:
C.3 <koliko sistem ne mo"e da se pove"e na bazu prikazuje poruku o datom problemu.
D,: Dijagram sekvenci sluajeva korienja " Do*avanje mo*eratora
Osnovni scenario:
3. =dministrator bira opciju za dodavanje novog moderatora
>.+istem mu vraa spisak lanova grupe
/. =dministrator bira novog moderatora i pritiskom na dugme H:odajQE delegira novog moderatora
C. +istem mu vraa poruku da je moderator uspesno dodat
16
Alternativni scenario:
>.3 <koliko sistem ne mo"e da se pove"e na bazu i prikaze lanove grupe
C.3 <koliko sistem ne mo"e da se pove"e na bazu prikazuje poruku o datom problemu
17
D-.: Dijagram sekvenci sluajeva korienja " Do*avanje kompanije
Osnovni scenario:
3.5zborom opcije HadminE, sistem trazi od administratora da unese administratorski username i )ifru
>.+istem prikazuje padajui meni iz kod administrator bira )ta "eli da doda u ovom sluaju kompaniju
/.=dministratoru se pojavljuju polja za unos imena i opisa kompanije
C.Popunjavanjem forme i pritiskom na dugme HdodajE administrator unosi novu kompaniju
A.+item obavestava administratora da je kompanija uspesno dodata
Alternativni scenario:
3.3 =dministratorska )ifra je pogre)na
A.3 +istem ne mo"e da se pove"e sa bazom
18
D--: Dijagram sekvenci sluajeva korienja " Do*avanje o*eljenja
Osnovni scenario:
3.5zborom opcije HadminE, sistem trazi od administratora da unese administratorski username i )ifru
>.+istem prikazuje padajui meni iz kod administrator bira )ta "eli da doda u ovom sluaju odeljenje
/.=dministratoru se pojavljuju polja za unos imena odeljenja u opis odeljenja, kao i sve ponudjene
kompanije
C.Popunjavanjem forme i pritiskom na dugme HdodajE administrator unosi novo odeljenje
A.+item obavestava administratora da je odeljenje uspesno dodato
Alternativni scenario:
3.3 =dministratorska )ifra je pogre)na
A.3 +istem ne mo"e da se pove"e sa bazom
19
D-2: Dijagram sekvenci sluajeva korienja " Do*avanje zanimanja
Osnovni scenario:
3.5zborom opcije HadminE, sistem trazi od administratora da unese administratorski username i )ifru
>.+istem prikazuje padajui meni iz kod administrator bira )ta "eli da doda u ovom sluaju zanimanje
/.=dministratoru se pojavljuju polja za unos odeljenja na koje se unosi zanimanje, naziv zanimanja i opis
C.Popunjavanjem forme i pritiskom na dugme HdodajE administrator unosi novo zanimanje
A.+item obavestava administratora da je zanimanje uspesno dodato
20
Alternativni scenario:
3.3 =dministratorska )ifra je pogre)na
A.3 +istem ne mo"e da se pove"e sa bazom
21
-3: Dijagram sekvenci sluajeva korienja " O*java a*ministratora/logout0
Osnovni scenario:
3. =dministratora bira opciju H5zloguj seE
>.+istem odjavljuje administratora i vraa ga na poetnu stranu
Alternativni scenario:
I
22
Arhitektura s!t"ersk# siste$a
23
'. Korisniko uputstvo
1egistracija korisnika
:a bi se koristila aplikacija buisness.net potrebno je da korisnik bude registrovan. Fegistracija se
vrsi na pocetnoj strani i forma izgleda ovako7
Prilikom registracije se moze desiti da nije popunjeno neko polje, da email adresa nije u odgovarajucem
formatu ili sifra, sistem ce o tome obavestiti korisnika.
24
*ada se forma za registraciju uspesno popuni sistem ce korisnika poslati na njegovu profil stranicu.
25
#zmena pro$ila
;a profinoj strani se kratak info korisnika kao i najnovije vesti iz grupa u koje je uclajnjen i vesti koje
prati. *likom na informacije korisniku se prikazuju njegovo osnovne informacije.
0vde korisnik ima mogunost da promeni neke od svojih osnovnih podataka kao i da postavi sliku koja e
mu stajati na profilu.
26
=ko kliknemo na .hoose Rile otvara nam se novi prozor za pretragu slike i klikom na HopenE otvaramo
sliku. !aksimalna dozvoljena velicina slike je >mb.
lanje poruke
*ada korisnik zeli da posalje poruku drugom korisniku potrebno je da klikne na poruke i odabere slanje
poruke.
27
0dabirom opcije H;apisi porukuE korisniku se otvara forma za slanje poruke koja izgleda ovako7
*ada korisnik posalje poruku dobija informaciju o tome da li je poruka uspesno poslata, ako jeste dobie
sledece obavestenje.
=ko odemo na Poslato videcemo poslate poruke.
28
*ada nam neko posalje poruku mo"emo videti kao to izgleda na sledecoj slici.
5zgled neproitane poruke u inbo'u.
29
Sitanje poruke.
30
2clanjenje u grupu
+vaki korisnik ima mogucnost da bude uclanjen u vise info grupa. :a bi se ulanio u grupu potrebno je
klikne na kompanije i da otvori kompletan spisak.= zatim da odabere grupu u kojoj "eli bit lan.
*orisnik mo"e da izabere "eljenu grupu, da je otvori i odnda ce dobiti opciju da se ulani u grupu, sto e
mu omoguiti da dobija vesti iz te grupe.
31
Chat sistem
aposleni mo"e uvek videti ko je na mre"i i prostim izborom osobe mo"e pokrenuti chat.
32
Upustvo za moderatore
!oderator ima iste mogunosti kao i obian korisnik, ali osim toga moze da dodavati vesti i nove
moderatora za odreenu grupu.
Do*avanje vesti
!oderator ima kao opciju Hdodaj vestE koja mu omoguava dodavanje vesti u delu gde je moderator.
<laskom u grupu sa leve strane dobija opcije sa kojima mo"e vr)iti izmene u grupi.
33
0pcije su7 dodja novu vest, dodaj moderator (koji e postati zadu"eni za ovu grupu o opcija brisanja
grupe).
34
:odavanje novih vesti u okviru grupe se vr)i na Dodaj vest. $ada nam se otvara sledeca forma
5 kada objavimo vest ona ce se pojaviti u grupi i moci ce je videti svi clanovi grupe
35
Do*avanje novog mo*eratora
!oderator mo"e da dodaje moderatore u grupi za koju je zadu"en, izborom opcije H:odaj moderatoreE.
Upustvo za admnistratore
Prednost administratora je da mo"e da dodaje nove kompanije, odeljenja i zanimanja na odeljenjima.
$akoe mo"e dodavati nove moderatore i poseduje sve funkcije i mogucnosti koje inae poseduju
moderatori i korisnik.
=dministratorski deo otvara klikom na Admin koje se nalazi na profilu.
36
0pcije koje dobija su dodavanje kompanije, odeljenja i zanimanja.
37
;a ovoj slici se vidi izgled forme za dodavanje kompanije. Potrebno je uneti ime i opis kompanije a zatim
dodati kompaniju klikom na Dodaj.
0pcija dodavanja odeljena nam predstavlja sledeu formu. Potrebno je napisati opis i ime odeljenja i
odabrati u okviru koje kompanije se odeljenje nalazi. :odavanje se vr)i klikom na Dodaj.
38
39
a dodavanje zanimanja potrebno je uneti opis i naziv zanimanja i odabrati u okviru kog odeljenja se
zanimanje nalazi.
:odavanje se vr)i na Dodaj.
;akon dodavanja bilo kompanije, zanimanja ili odeljenja dobijamo povratnu informaciju o uspehu
operacije.
40
(. 1eprezentativni *elovi ko*a
ervis
+ervis za izraunavanje razdaljine na osnovu longintuda i langintuda koje smo dobili na osnovu 5P adrese. 9a"no je
voditi rauna kojim redom prosleujemo parametre.
TUphp
errorVreporting(@V=%% W @V:@PF@.=$@:)O
include(XlibInusoap.phpX)O
include(XincludeIdbVconf.phpX)O
Yserver D ne( soapVserver()O
Yserver1Zconfigure-+:%(X0pis -eb +ervisaX, Xurn7(ebservisX)O
Yserver1Zregister(Xget:istancesX,arra&(Xlat3X DZ X'sd7stringX,Xlat>X DZ X'sd7stringX,Xlng3X DZ
X'sd7stringX,Xlng>X DZ X'sd7stringX),arra&(XreturnX DZ X'sd7stringX),Xget:istanceX)O
function get:istances(Ylat3, Ylat>, Ylng3, Ylng>)[
Ypi?G D !VP5 I 3?GO
Ylat3 \D Ypi?GO
Ylng3 \D Ypi?GO
Ylat> \D Ypi?GO
Ylng> \D Ypi?GO

Yr D B/]>.]4]O II mean radius of @arth in km
Ydlat D Ylat> 1 Ylat3O
Ydlng D Ylng> 1 Ylng3O
Ya D sin(Ydlat I >) \ sin(Ydlat I >) L cos(Ylat3) \ cos(Ylat>) \ sin(Ydlng I >) \ sin(Ydlng I
>)O
Yc D > \ atan>(sPrt(Ya), sPrt(3 1 Ya))O
Yreturn D Yr \ YcO

return (Yreturn)O
^
41
Y#$$PVF=-VP0+$V:=$= D isset(Y#$$PVF=-VP0+$V:=$=) U
Y#$$PVF=-VP0+$V:=$= 7 XXO
Yserver1Zservice(Y#$$PVF=-VP0+$V:=$=)O
UZ
Securit!php
TUphp
rePuireVonce Xvars.phpXO
IIkoriscenje rege'1a za proveru unetih vrednosti
function pregVnumlet(Ysubject, Ygroup D G) [
Ypattern D XI_a1z=1G14`LIXO
if (pregVmatch(Ypattern, Ysubject, Ymatch) aa isset(Ymatch_Ygroup`)) [
return Ymatch_Ygroup`O
^
return falseO
^
function pregVemail(Yemail)[
if(pregVmatch(6W_Va1zG141`L(b._Va1zG141`L)\c_a1zG141`L(b._a1zG141`L)\(b._a1z`[>,/^)W6,
Yemail))
return trueO
return falseO
^
function valVpass(Ypass)[
if(pregVmatch(XI_=1`IX,Ypass) aa pregVmatch(XI_a1z`IX,Ypass) aa pregVmatch(XI_G14`IX,
Ypass))
return trueO
return falseO
^
function valVscript(YfileVt&pe)[
s(itch (YfileVt&pe)[
case 6applicationI'1httpd1php6 7 return trueO
case 6applicationI'1php67 return trueO
^
return falseO
^
function valVimg(YfileVt&pe)[
s(itch (YfileVt&pe)[
42
case 6imageIjpeg6 7
return trueO
case 6imageIpjpeg6 7
return trueO
case 6imageIpng6 7
return trueO
case 6imageIgif6 7
return trueO
^
return falseO
^
function valVsize(Ysize)[
if(Ysize T <P%0=:V+5@V%5!5$)
return trueO
return falseO
^
function httpVauthentication (Yrealm)[
Yusername D F@=%!V=:!5;V<+@FO
Ypass(ord D F@=%!V=:!5;VP=++O
if(Qisset(YV+@F9@F_XP#PV=<$#V<+@FX`) dd Qisset(YV+@F9@F_XP#PV=<$#VP-X`) dd
(YV+@F9@F_XP#PV=<$#V<+@FX` QD Yusername dd
YV+@F9@F_XP#PV=<$#VP-X` QD Ypass(ord))[
header(X#$$PI3.3.CG3 <nauthorizedX)O
header(X---1=uthenticate72asic realmDX.Yrealm)O
e'it(XTh>Zefghif jklmkno lh kmhp jfk qrifsrfi tsflfrihuqpf. TIh>ZX)O
^
^
UZ
session!php
TUphp
sessionVstart()O
IIodrzavanje sesije preko cookija 1 dopuniti neko obavezno
if(Qisset(YV+@++50;_XsidX`) dd Qisset(YV+@++50;_XnameX`))
if(isset(YV.00*5@_XsidX`) aa isset(YV.00*5@_XnameX`) aa YV.00*5@_XnameX` QDXX)[
YV+@++50;_XsidX` D YV.00*5@_XsidX`O
43
YV+@++50;_XnameX` D YV.00*5@_XnameX`O
YV+@++50;_XfnameX` D YV.00*5@_XfnameX`O
YV+@++50;_XlnameX` D YV.00*5@_XlnameX`O
YV+@++50;_XemailX` D YV.00*5@_XemailX`O
YV+@++50;_XkidX` D YV.00*5@_XkidX`O
YV+@++50;_XoidX` D YV.00*5@_XoidX`O
YV+@++50;_XsubidX` D YV.00*5@_XsubidX`O
YV+@++50;_XgidX` D YV.00*5@_XgidX`O
YV+@++50;_XlatX` D YV.00*5@_XlatX`O
YV+@++50;_XlongX` D YV.00*5@_XlongX`O
YV+@++50;_XgradX` D YV.00*5@_XgradX`O
YV+@++50;_XdrzavaX` D YV.00*5@_XdrzavaX`O
^
function startVsession(Ysid, Yname, Yfname, Ylname, Yemail, Ykid, Yoid, YsubidDG, Ygid, Ylat,
Ylong, Ygrad, Ydrzava)[
YV+@++50;_XsidX` D YsidO
YV+@++50;_XnameX` D YnameO
YV+@++50;_XfnameX` D YfnameO
YV+@++50;_XlnameX` D YlnameO
YV+@++50;_XemailX` D YemailO
YV+@++50;_XkidX` D YkidO
YV+@++50;_XoidX` D YoidO
YV+@++50;_XsubidX` D YsubidO
YV+@++50;_XgidX` D YgidO
YV+@++50;_XlatX` D YlatO
YV+@++50;_XlongX` D YlongO
YV+@++50;_XgradX` D YgradO
YV+@++50;_XdrzavaX` D YdrzavaO
IIsecurit& reasons
setcookie(6sid6, Ysid, time() L /BGGGGG)O
setcookie(6name6, Yname, time() L /BGGGGG)O
setcookie(6fname6, Yfname, time() L /BGGGGG)O
setcookie(6lname6, Ylname, time() L /BGGGGG)O
setcookie(6email6, Yemail, time() L /BGGGGG)O
setcookie(6kid6, Ykid, time() L /BGGGGG)O
setcookie(6oid6, Yoid, time() L /BGGGGG)O
setcookie(6subid6, Ysubid, time() L /BGGGGG)O
setcookie(6gid6, Ygid, time() L /BGGGGG)O
setcookie(6lat6, Ylat, time() L /BGGGGG)O
setcookie(6long6, Ylong, time() L /BGGGGG)O
setcookie(6grad6, Ygrad, time() L /BGGGGG)O
setcookie(6drzava6, Ydrzava, time() L /BGGGGG)O
44
^
function destro&Vsession()[
YV+@++50; D arra&()O
sessionVdestro&()O
setcookie(6sid6)O
setcookie(6name6)O
setcookie(6fname6)O
setcookie(6lname6)O
setcookie(6email6)O
setcookie(6kid6)O
setcookie(6oid6)O
setcookie(6subid6)O
setcookie(6gid6)O
setcookie(6lat6)O
setcookie(6long6)O
setcookie(6grad6)O
setcookie(6drzava6)O
setcookie(6chat6)O
setcookie(6end>6)O
^
UZ
45
3iteratura
!aterijali sa sajta http7II(((.m&elab.net
Materijali sa sajta http://www.w3schools.com/
46

You might also like