veleuČiliŠte u rijeci · će bti podržan aplikativnim rješenjima kroz programske jezike php...
TRANSCRIPT
VELEUČILIŠTE U RIJECI
Marko Fresl, Vedran Hibler, Adnan Šatri
Sustav za obavještavanje i e-redomat- Autotrolej
(Projekt)
Rijeka, 2016.
VELEUČILIŠTE U RIJECI
Poslovni odjel Specijalistički diplomski stručni studij Informacijskih teh.u poslovnim
sustavima
Sustav za obavještavanje i e-redomat- Autotrolej
(Projekt)
MENTOR: STUDENT:
dr. sc. Marin Kaluža, viši predavač Marko Fresl
Vedran Hibler
Adnan Šatri
Rijeka, travanj 2016
Sažetak
Cilj ovoga projekta je razviti aplikaciju za obavještavanja korisnika putem android
aplikacije u slučaju da poduzeće autotroleja objavi neku novost. Isto tako cilj je napraviti
funkcionalni redomat na android aplikaciji koji bi omogućio korisnicima podizanje listića s
broj te na taj način smanjio redove čekanja u objektu autotroleja.
Ključne riječi: autotrolej, redomat, sustav, obavještavanje
Sadržaj
1. Uvod ....................................................................................................................................... 1
2. Opis poslovnog sustava .......................................................................................................... 2
2.1. Uloge i odgovornosti razvojnog tima .............................................................................. 3
2.2. Arhitektura sustava i alati koji će se koristiti ................................................................... 4
2.3. Korisnički zahtjevi ........................................................................................................... 6
2.3.1.Anketa o mišljenju korisnika o samoj ideji iza aplikacije ...................................... 6
2.4. Plan razvoja projekta ...................................................................................................... 12
3. Analiza i dizajn sustava ........................................................................................................ 13
3.1. Dijagram dekompozicije ................................................................................................ 13
3.2. Dijagram konteksta ........................................................................................................ 14
3.2.1. Dijagram toka podataka 1. razine. ....................................................................... 15
3.2.2. Dijagram toka podataka 2. razine (Preuzimanje brojeva) ................................... 16
3.2.3. Dijagram toka podataka 2. razine (Prikaz obavijesti).......................................... 16
3.2.4. Dijagram toka podataka 2. razine (Registracija djelatnika) ................................ 17
3.3. EV-a dijagram ................................................................................................................ 18
3.4. Relacijski model ............................................................................................................. 20
3.5. UML dijagrami .............................................................................................................. 22
3.5.1.USE CASE dijagram ............................................................................................ 22
3.5.2.Slučajevi korištenja............................................................................................... 23
3.5.3.Dijagram klasa ...................................................................................................... 29
3.5.4.Dijagram aktivnosti .............................................................................................. 30
3.6. Grafički prikaz MVC modela ........................................................................................ 33
4. Prototip izgleda aplikacije (MOCK-UP) .............................................................................. 39
4.1. Web aplikacija ............................................................................................................... 39
4.2. Android aplikacija .......................................................................................................... 44
5. Testiranje aplikacije .............................................................................................................. 47
5.1. Testiranje funkcionalnosti web aplikacije ..................................................................... 47
5.2. Testiranje sigurnosti web aplikacije ............................................................................... 48
5.3. Testiranje funkcionalnosti android aplikacije ................................................................ 49
5.4. Testiranje prihvatljivosti cjelokupnog sustava ............................................................... 51
7. Zaključak .............................................................................................................................. 60
Popis slika, tablica i grafikona .................................................................................................. 61
1
1. Uvod
Kao jedan od većih problema u suvremenom dobu predstavljaju stvari koje se ne mogu
„online“ obaviti. Naime ljudi su došli na tu razinu prateći razvoj tehnologije da oni
pokušavaju većinu svojih funkcija riješiti što je više moguće iz udobnosti svoje fotelje od
kuće.
Priparni cilj razvoja ovakve aplikacije je upravo proizašao iz činjenice da su korisnici
nezadovoljni trenutnom situacijom i načinom rada redomata i web stranice poduzeća
autotroleja. Naime provođenjem ankete zaključili smo da bi takva aplikacija bile od iznimne
korisiti svim korisnicima autotrolejskih usluga jer bi ona njima omogućila dobivanje kako
obavijesti o promjenama npr. voznog reda tako i uzimanje rednog broja na redomatu te na taj
način ukinula potrebu za fizičkom nazočnosti korisnika te njegovom čekanju u redu.
Sa gledišta poslovnih sustava možemo zaključiti da se u današnje vrijeme mnogo
posvećuje razvoju informacijskih tehnologija koje bi trebal korisnicima olakšati obavljanje
pojedinih zadataka. Poduzeća koja žele ostati konkurentna na tržištu te osigurati svoju
ekzistenciju moraju ulagati u razvoj novih tehnologija. S ovakvom aplikacijom pomoglo bi se
kako i korisnicima tako i samom poduzeću autotroleja.
2
2. Opis poslovnog sustava
Cilj ovoga sustava je primarno postići manje redove čekanja prilikom dobivanja usluga
koje nudi autotrolej ali isto tako i ažurno dobivanje o promjenama na web stranicama
navedenog poduzeća. Korištenjem ove aplikacije korisnicima se omogućuje preko android
uređaja uvid u sve promjene koje su nastala na službenim stranicama, isto tako će i dobivati
notifikacije ako dođe do ikakve promjene. Osim notifikacija korisnicima je omogućeno i
izvlačenje rednog broja za redomat. Kao što je navedeno provođenje ankete je pokazalo da bi
100% ispitanika koristilo ovu aplikaciju te ju smatraju korisnim.
Takav sustav trebao bi omogućiti:
• Uvid u novosti s službenih stranica
• Preuzimanje virutalnog broja na korisnikovom android uređaju
• Prikaz broja koji je trenutno na redu
• Prikaz koliko je brojeva ispred
• Djelatnici mijenjaju redni broj
• Radi nemogućnosti potencijalnog sabotiranja korisnika se treba ograničiti da ne može
izvući novi broj dok njegov trenutni broj nije prošao
Prilikom izrade takvoga sustava javljaju se određeni problemi. Najveći problem upravo
predstavlja susret s novim, nepoznatim tehnologijama kao što je alat Android studio. Postoje i
problemi u vremenskim rokovima te izradi cijelokupne aplikacije.
3
2.1. Uloge i odgovornosti razvojnog tima
Članovi razvojnog tima su:
1. Marko Fresl
2. Adnan Šatri
3. Vedran Hibler
Prilikom izrade ovoga projekta svatko je doprinosio određenim idejama za modifikaciju,
kao i samom izradom pojedinih dijelova aplikacije:
• Fresl - izrada dokumentacije, anketiranje korisnika, izrada android aplikacije (Android
Studio - Java)
• Šatri – izrada dokumentacije, baza podataka, web-aplikacija Redomat (CodeIgniter –
PHP), web servis za spajanje na Android (PHP)
• Hibler - izrada dijagrama, dokumentacije, izrada administratorskog dijela web
aplikacije (CodeCharge Studio), dizajn
Tijekom izrade svi članovi tima su zajedno radili, komunicirali te dopunjavali i
izmjenjivali ideje te predlagali moguća rješenja u određenim segmentima projekta.
4
2.2. Arhitektura sustava i alati koji će se koristiti
Arhitektura sustava za obavještavanje i e-redomat Autotrolej je troslojna (klijent-
server sa elementima klijentske aplikacije, aplikacijskog servera i SUBP - MariaDB). Sustav
će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java
(Android aplikacija) uz potporu pratećih jezika HTML i CSS za vizualna rješenja.
Slika 1. Arhitektura sustava
Izvor: izradili autori
5
Front- end alati i tehnologije:
1. Korištene tehnologije za izradu front-end dijela aplikacije:
➢ CodeIgniter Framework (PHP programski jezik, HTML, CSS) za izradu web-
servisa koji sadrži funkcijsku osobinu preuzimanja novog rednog broja od
strane korisnika i prikaz broja klijenata u redu. Uz to, zasebni web servis
omogućavati će prikaz trenutnog broja koji je u obradi
➢ NetBeans razvojna okolina
➢ Android Studio za izradu Android aplikacije koja će biti povezana na web-
servis i omogućavati će funkcijske osobine opisane u prvoj stavci te pregled
obavijesti (view) sa stranice Autotrolej Rijeka.
Back-end alati i tehnologije:
➢ CodeIgniter Framework (PHP programski jezik, HTML, CSS) za izradu web-
aplikacije koja uključuje administriranje zaposlenika u smislu dodjele autentikacijskih
podataka te zasebne web-aplikacije za upravljanje redovima čekanja.
6
2.3.Korisnički zahtjevi
Kao i kod izrade svake druge aplikacije koja će olakšati određeni segment korisnicima
postavlja se osnovno pitanje, tko će koristiti aplikaciju?
Ovu aplikaciju će koristiti svi korisnici koji su na neki način povezani tj. koriste
usluge koje nudi poduzeće autotrolej. Naime pomuću ove aplikacije korisnicima bi se uvelike
trebao olakšati sam proces npr. produljenja prava za mjesečnu prijevoznu kartu. Ideja je da
korisnik može od kuće podignuti broj na redomatu te tek kada je nekih 20 ljudi ispred njega u
redu čekanja otići fizički do autotroleja. S druge strane želi se postići mogućnost notifikacije
korisnika tako da on ne mora stalno odlaziti na stranice autotroleja kako bi vidio određene
obavijesti tj. promjene na stranici.
2.3.1. Anketa i mišljenju korisnika o samoj ideji iza aplikacije
Ideja je predstavljena u pisanom obliku korisnicima i koncipirana je od ukupno 6
pitanja. Objašnjenje na anketi je glasilo: „Naša ideja je izgraditi mobilnu aplikaciju za
informacijski sustav autotroleja Rijeka. Kroz aplikaciju koju bi vi preuzeli mogli bi ste vidjeti
sve nove obavijesti koje autotrolej objavi na web stranici (automatska notifikacija), a isto
tako uveli bi i web redomat. Web redomat bi radio na jednostavnom principu te bi vi mogli od
bilo gdje dignuti listić s vašim brojem te imati u svakom trenutku prikazan broj ljudi ispred
Vas. Sjetite se i sami koliko vremena izgubite dok čekate ispred autotroleja kada će Vaš broj
doći. I zamislite si da možete otići na kavu i kroz mobitel pratiti koliko je ljudi ispred. Cilj ove
ankete je vidjeti koliko Vi podupirete ovu aplikaciju kao korisnik usluga autotroleja. Molim
Vas da kroz sljedeću anketu odgovarate iskreno„.
7
Pitanja na anketi su glasila:
1. Da li ste korisnik usluga autotroleja?
2. Vaša životna dob je?
3. Da li uspijevate vidjeti sve obavijesti koje autotrolej objavi na svojim
službenim web stranicama?
4. Koliko često čekate dugo da dođete na red u autotroleju (iznad 2 sata)
5. Da li Vam se ideja za gore navedenu aplikaciju čini korisnom?
6. Da se aplikacija izradi koliko često bi ju koristili?
Korisnicima je detaljnije objašnjena ideja za aplikaciju kroz verbalnu interakciju te je
od ukupno 30 ispitanika na pitanja odgovoreno na sljedeći način:
Tablica 1. 1.Pitanje ankete
1. Da li ste korisnik usluga autotroleja?
Odabir korisnika (od njih 30) %
Da 30 100
Ne 0 0
Izvor: izradili autori
Grafikon 1. 1.Pitanje ankete
Izvor: izradili autori
8
Tablica 2. 2.Pitanje ankete
2. Vaša životna dob je?
Odabir korisnika (od njih 30) %
Do 18. god. 7 23,33
Od 18 do 30 god. 15 50
Preko 30 god. 8 26,66
Izvor: izradili autori
Grafikon 2. 2.Pitanje ankete
Izvor: izradili autori
Tablica 3. 3.Pitanje ankete
3. Da li uspijevate vidjeti sve obavijesti koje autotrolej
objavi na svojim službenim web stranicama?
Odabir korisnika (od njih 30) %
DA 8 26,6
NE 22 73,33
Izvor: izradili autori
9
Grafikon 3. 3.Pitanje ankete
Izvor: izradili autori
Tablica 4. 4.Pitanje ankete
4. Koliko često čekate dugo da dođete na red u
autotroleju (iznad 2 sata)
Odabir korisnika (od njih 30) %
Nikad 2 6,66
Ponekad 12 40
Često 12 40
Vrlo često 4 13,33
Izvor: izradili autori
Grafikon 4. 4.Pitanje ankete
Izvor: izradili autori
10
Tablica 5. 5.Pitanje ankete
5. Da li Vam se ideja za gore navedenu aplikaciju čini
korisnom?
Odabir korisnika (od njih 30) %
DA 30 100
NE 0 0
Izvor: izradili autori
Grafikon 5. 5.Pitanje ankete
Izvor: izradili autori
11
Tablica 6. 6.Pitanje ankete
6. Da se aplikacija izradi koliko često bi ju koristili?
Odabir korisnika (od njih 30) %
Nikad 0 0
Ponekad 7 23
Često 10 33,33
Vrlo često 13 43,33
Izvor: izradili autori
Grafikon 6. 6.Pitanje ankete
Izvor: izradili autori
Iz navedenih rezultata možemo zaključiti da većina korisnika odobrava samu ideju za
aplikaciju te da će ju koristiti kada se izradi.
12
2.4. Plan razvoja projekta
Slika 2. Plan razvoja projekta
16
.3.2
01
6.
22
.3.2
01
6.
03
.4.2
01
6.
15
.4.2
01
6.
20
.4.2
01
6.
28
.4.2
01
6.
05
.5.2
01
6.
09
.5.2
01
6.
15
.5.2
01
6.
01
.6.2
01
6
Odabir teme Analiza poslovnog sustava Izrada projektne dokumentacije Izrada dijagrama
Prototip aplikacije Izrada web-app i web- servisa Izrada android aplikacije Testiranje aplikacije Uvođenje aplikacije
Izvor: izradili autori
Na prikazanom planskom dijagramu definirani su okvirni rokovi te su segmentirani
projektni dijelovi koji se moraju izraditi po definiranim datumima izvršavanja.
13
3. Analiza i dizajn sustava
3.1. Dijagram dekompozicije
Slika 3. Dijagram dekompozicije
Izvor: Izradili autori
Na predmetnoj slici prikazan je dijagram dekompozicije sa poslovnim funkcijama
preuzimanja rednog broja odnosno podfunkcijama preuzimanja novog rednog broja te prikaza
broja klijenata u redu. Funkcija usluživanje stranaka ima funkcionalnosti odabira trenutnog
broja za obradu te prikaza broja klijenta za obradu. Funkcija prikaz obavijesti služi za
preuzimanja obavijesti putem RSS-a te prikaza preuzetih obavijesti. Posljednja prikazana
funkcija poslovnog sustava je registracija djelatnika.
14
3.2. Dijagram konteksta
Slika 4. Dijagram konteksta
KLIJENT
Autentikacijski podaci
0. IS Autotrolej
ADMINISTRATOR
WEB-STRANICA
AUTOTROLEJ
Zahtjev za novim rednim brojem
Novi redni broj
ObavijestiZahtjev za prikazom broja klijenata u redu
Broj klijenata u redu
Klijent na redu
Izvor: Izradili autori
Dijagramom konteksta prikazan je glavni proces odnosno informacijski sustav za
obavještavanja te preuzimanja rednog broja. Korisnik kada otvori aplikaciju na svom android
uređaju on šalje IS-u zahtjev za novim rednim broje ili zahtjev za prikazivanjem trenutnog
broja na šalteru. IS autotroleja mu vraća informacije koje traži. Administrator može
dodjeljivati autentikacijska prava djelatnicima koji rade na samom podsustavu redomata. Isto
tako službena stranica autotroleja opskrbljuje sam sustav s obavijestima koji su u konačnici
prikazani samom korisniku. Radi boljega razumijevanja i lakšega objašnjavanja sustav je
detaljnije razrađen u sljedećim dijagramima prikazanim kroz rad.
15
3.2.1. Dijagram toka podataka 1. razine
Slika 5. Dijagram toka podataka 1. razine
KLIJENT
Autotrolej-
Server
Novi redni broj
Zahtjev za novim rednim brojem
Bro
j klije
na
ta u
red
u
Za
htje
v z
a p
rika
zo
m b
roja
klije
na
ta u
red
u
1. PREUZIMANJE
REDNOG BROJA
KLIJENT
2.USLUŽIVANJE
KLIJENATA
Klijent na redu
3. PRIKAZ
OBAVIJESTIObavijesti
WEB-STRANICA
AUTOTROLEJ
4. REGISTRACIJA
DJELATNIKAAutentikacijski podaci ADMINISTRATOR
Izvor: izradili autori
Dijagram prve razine pokazuje detaljnije sve funkcionalnosti koje IS obavještavanja
nudi. Naime klijent šalje zahtjev za preuzimanje rednog broja što mu sustav i omogućava.
Također tako korisniku je na zahtjev omogućen pregled broja korisnika koji su ispred njega.
Administrator dodjeljuje autentikacijska prava za pojedinog djelatnika. Dok djelatnik uslužuje
pojedine klijente na način da kada obradi jednoga mijenja trenutni redni broj na web
aplikaciji. Sustav također tako vuče sve obavijesti sa službenih stranica autotroleja te na taj
način omogućava pregled istih korisnicima.
16
3.2.2. Dijagram toka podataka 2.razime (Preuzimanje brojeva)
Slika 6. Dijagram toka podataka 2. razine (Preuzimanje brojeva)
KLIJENT
Autotrolej-
Server
2.2 Prikaz broja
klijenata
1.1. Peuzimanje
novog rednog broja
Novi redni broj
Zahtjev za novim rednim brojem
Bro
j klije
na
ta u
red
u
Za
htje
v z
a p
rika
zo
m b
roja
klije
na
ta u
red
u
Izvor: Izradili autori
Proces 1.1. omogućuje korisniku da preda zahtjev za izvlačenjem novog rednog broja te
mu u konačnici isporučuje taj broj. Proces 1.2. zadužen je da korisniku pruža informacije o
stanju na šalteru tj. o prikazu trenutnog rednog broja. Sve je to omogućeno uz pomoć
„skladišta“ Autrotroleja.
3.2.3. Dijagram toka podataka 2.razime (Prikaz obavijesti)
Slika 7. Dijagram toka podataka 2. razine (Prikaz obavijesti)
Autotrolej-
Server
3.1. Preuzimanje
obavijesti RSSObavijesti
WEB-STRANICA
AUTOTROLEJ
3.2. Prikaz
preuzetih obavijesti
Izvor: Izradili autori
17
Proces 3.1. zadužen je za preuzimanje obavijesti sa službenih stranica autotroleja te uz
pomoć procesa 3.2. za prikaz istih korisnicima.
3.2.5. Dijagram toka podataka 2.razine (Registracija djelatnika)
Slika 8. Dijagram toka 2. razine (Registracija djelatnika)
Autotrolej-
Server4. REGISTRACIJA
DJELATNIKAAutentikacijski podaci ADMINISTRATOR
Izvor: izradili autori
Proces 4 zadužen je za registraciju djelatnika same web aplikacije. Administrator unosi
nove djelatnike ovisno da li oni već postoje ili ne što se provjerava kroz skladište
Autrotroleja. Nakon što administrator doda nove djelatnike on mi dodijeli autentikacijske
podatke uz pomoć kojih oni pristupaju samoj web aplikaciji.
18
3.3. EV-a dijagram
Slika 9. EV-a dijagram
Izvor: Izradili autori
EV-a dijagram sastoji se od 3 entiteta sa njihovim pripadajućim atributima:
1. Kategorija- sastoji se od ID-a kategorije te naziva kategorije
2. Klijent- sastoji se od ID-a klijenta te vanjskog ključa kategorije
3. Klijent na redu- sastoji se od ID-a klijenta
19
• Klijent može izvući jednu ili više kategorija za redomat
• A određena kategorija s određenim brojem može pripadati jednom i samo jednom
klijentu
• Klijent može biti jedan i samo jedan klijent na redu
• Klijenti na redu mogu biti jedan ili više klijenta
Tablica 7. Popis entiteta i atributa EV-a modela
Entitet Opis entiteta Atributi Opis atributa
Kategorija Vode se podatci
određenoj kategoriji
Id_kategorije
Kategorija
ID kategorije
Naziv kategorije
Klijent Broj redomata
(klijenta)
Id_klijenta
Id_kategorije
Broj klijenta
Oznaka kategorije
Klijent na redu Broj klijenta Id_klijenta Broj klijenta
Izvor: izradili autori
20
3.4. Relacijski model
Slika 10. Relacijski model
Izvor: Izradili autori
Relacijski model sustava za obavještavanje Autotroleja sastoji se od 4 entiteta. Entiteti
su: kategorija, klijent, klijent na redu te login podatci.
• Kategorija je opisana sljedećim atributima: id_kategorije (primarni ključ) i
kategorijom (naziv katerije)
• Klijent je opisan sljedećim atributima: Id_klijenta (primarni ključ) i
Id_kategorije (vanjski ključ)
• Klijent na redu je opisan atributom Id_klijenta (primarni ključ)
21
Tablica 8. Popis relacijskih shema, njihovih atributa i tipova podataka
Izvor: izradili autori
Ime sheme: Kategorija
Ime atributa Tip podataka Napomena
Id_kategorije Integer (11) Primarni ključ
Kategorija Varchar (45)
Ime sheme: Klijent
Ime atributa Tip podataka Napomena
Id_klijenta Integer (11) Primarni ključ
Id_kategorije Varchar (11) Vanjski ključ
Ime sheme: Klijent na redu
Ime atributa Tip podataka Napomena
Id_klijenta Integer (11) Primarni ključ
22
3.5. UML dijagrami
3.5.1. USE CASE
Slika 11. USE CASE dijagram
Izvor: izradili autori
23
3.5.2. Slučajevi korištenja
➢ Dohvat obavijesti
Identifikacijski sažetak: Korisnik pristupa mobilnoj aplikaciji te traži sve obavijesti sa
službenih stranica autotroleja. Aplikacija dostavlja sve obavijesti koje se nalaze na
službenim stranicama autotroleja
Akteri: Korisnik
Preduvjeti: Instalirana aplikacija na android uređaju
Tijek događaja:
Glavni uspješni scenarij (G):
1. Korisnik otvara android aplikaciju
2. Aplikacija prikazuje sučelje
3. Administrator se automatski nalazi na tabu za obavijesti
4. Sustav prikazuje sve obavijesti
Alternativne sekvence:
A1: korisnik odabire tab za redomat
3. Korisnik odabire tab za izvlačenje rednog broja na redomatu
Sekvence s greškom:
E1: korisnik nema pristupa internetu
2. Korisnik nema pristupa internetu
24
Slika 12. Sevencijalni dijagram – dohvat obavijesti
Korisnik Autotrolej-Server
Zahtjev za dohvaćanje obavijesti
Obavijesti (RSS)
Izvor: Izradili autori
➢ Dodjela autentikacijskih prava
Identifikacijski sažetak: Administrator dodjeljuje prava za pristup web aplikaciji
pojedinom djelatniku. Nakon što djelatnik dobije prava za autentikaciju on se prijavljuje u
sustav web aplikacije
Akteri: Administrator
Preduvjeti: Administratorska prava za autentikaciju
Tijek događaja:
Glavni uspješni scenarij (G):
1. Otvaranje administrativnog login obrasca
2. Administrator unosi svoje korisničko ime i lozinku
3. Administratoru se otvara administratorsko sučelje
4. Administrator dodaje novog djelatnika
5. Administrator upisuje korisničko ime, lozinku te ime i prezime djelatnika
6. Potvrđuje se unos
7. Djelatnik je spremljen
25
Alternativne sekvence:
A1: ažuriranje djelatnika
4. Administrator ažurira postojeće djelatnike
Sekvence s greškom:
E1: Administrator nema autentikacijske podatke
3. Administrator je krivo unio svoje korisničko ime ili lozinku
E2: Djelatnik već postoji
6. Djelatnik s tim korisničkim imenom već postoji
Slika 13. Sekvencijalni dijagram - dodjela autentikacijskih podataka
Djelatnik Administrator Autotrolej-Server
Kreniranje korisničkog imena
Obavijest o kreiranom korisnickom imenu
Kreniranje lozinke
Obavijest o kreiranoj lozinci
Korisničko ime i lozinka
Izvor: Izradili autori
26
➢ Autentikacija djelatnika u sustav
Identifikacijski sadržaj: Djelatnik se prijavljuje u sustav i pristupa aplikaciji.
Akteri: Administrator (djelatnik)
Tijek događaja:
Glavni uspješni scenarij (G):
1. Djelatnik traži ulazak u sustav s ovlastima za djelatnike
2. Sustav nudi (omogućuje) unos lozinke i korisničkog imena
3. Djelatnik unosi korisničko ime i lozinku i potvrđuje unos
4. Sustav provjerava ispravnost i postojanje lozinke
5. Sustav prikazuje sučelje za djelatnike (početni ekran)
Sekvence s greškom:
E1: neuspješna autentikacija – ponovi unos
1. Djelatnik traži ulazak u sustav
2. Sustav nudi unos korisničkog imena i lozinke
3. Djelatnik unosi korisničko ime i lozinku te potvrđuje unos
7. Sustav provjerava lozinku, lozinka nije ispravna
8. Sustav javlja djelatniku da lozinka nije ispravna
9. Korak G2
Slika 14. Sekvencijalni dijagram - autentikacija djelatnika u sustav
Djelatnik
Autentikacija
Autorizacija za pristup ažuriranju rednog broja
Autotrolej-Server
Izvor: Izradili autori
27
➢ Uzimanje novog broja i pregled klijenata u redu
Identifikacijski sadržaj: Korisnik pristupa aplikaciji te traži izvlačenje rednog
broja za redomat u sustavu autotroleja. Korisnik izvlači broj te djelatnik prebacuje
brojeve na web aplikaciji nakon što završni pojedinog korisnika.
Akteri: Korisnik, djelatnik
Tijek događaja:
Glavni uspješni scenarij (G):
1. Djelatnik traži ulazak u sustav s ovlastima za djelatnike
2. Sustav nudi (omogućuje) unos lozinke i korisničkog imena
3. Djelatnik unosi korisničko ime i lozinku i potvrđuje unos
4. Sustav provjerava ispravnost i postojanje lozinke
5. Sustav prikazuje sučelje za djelatnike (početni ekran)
6. Djelatnik kreće s radom redomata
7. Djelatnik prebacuje trenutni redni broj nakon što obavi trenutnog klijenta
8. Aplikacija daje uvid korisniku trrenutni redni broja
9. Korisnik traži izvlačenje novog rednog broja
10. Aplikacija dozvoljava korisniku izvlačenje novog rednog broja
11. Aplikacija nudi korisniku u sve vrijeme pregled trenutnog rednog broja
Sekvence s greškom:
E1: neuspješna autentikacija – ponovi unos
1. Djelatnik traži ulazak u sustav
2. Sustav nudi unos korisničkog imena i lozinke
3. Djelatnik unosi korisničko ime i lozinku te potvrđuje unos
4. Sustav provjerava lozinku, lozinka nije ispravna
5. Sustav javlja djelatniku da lozinka nije ispravna
6. Korak G2
E2: nemogućnost izvlačenja novog rednog broja
14. Korisniku se onemogućava izvlačenje novog rednog broja u slučaju da njegov prijašnje
izvučeni broj nije prošao tj. nije obrađen
28
Slika 15. Sekvencijalni dijagram – uzimanje novog broja i pregled klijenata u redu
Korisnik Djelatnik Autotrolej-Server
Trenutni redni broj
Prikaz kolicine brojeva u redu
Prikaz trenutnog rednog broja
Zahtjev za novim rednim brojem
Novi redni broj
Prikaz trenutnog rednog broja
Izvor: Izradili autori
29
3.5.3. Dijagram klasa
Kandidati za klase modela iz tekstualnog opisa slučajeva korištenja su:
➢ Kategorija- ID kategorije, kategorija
➢ Klijet- ID klijenta
➢ Klijent na redu- ID_klijenta
➢ Login podatci- ime i prezime, korisnicko ime, lozinka i pozicija
Slika 16. Opći dijagram klasa
Izvor: Izradili autori
30
3.5.4. Dijagram aktivnosti
Slika 17. Dijagram aktivnosti dohvata obavijesti
Izvor: izradili autori
Slika 18. Dijagram aktivnosti autentikacije djelatnika u sustav
Izvor: izradili autori
31
Slika 19. Dijagram aktivnosti dodjela autentikacijskih prava djelatniku
Izvor: autori
32
Slika 20. Dijagram aktivnosti uzimanje novog broja na redomatu
33
3.6. Grafički prikaz MVC
Web servis i web-aplikacija biti će implementirane korištenjem MVC (engl. Model –
View – Controller) obrasca.
Model (Model) predstavlja podatkovnu logiku klijenta. U modelu su sadržani svi
potrebni podaci koje program koristi. Pogled (View) predstavlja grafičko sučelje programa.
Služi isključivo za prikaz podataka krajnjem korisniku. Kontroler (Controller) jest jezgra
programa. Obavlja svu poslovnu logiku u okviru klijentske aplikacije: Ažuriranje i validacija
podataka, komunikacija s poslužiteljem, upravljanje pogreškama itd.
MVC je kombinacija navedenih dijelova (modela, pogleda i kontrolera) kao što je
prikazano na slici (Slika 2-1). Cilj MVC-a je razdvajanje poslovne/podatkovne logike i
prikaza podataka, kako bi se smanjila složenost projektiranja sustava te povećala fleksibilnost
i održivost koda.
Slika 21. Skica trokomponentnog MVC modela
Izvor: izradili autori
34
Model E-redomat Autotrolej klijenta čine:
➢ popis kreiranih brojeva unutar redomata za obradu
➢ specifični podaci: podaci o trenutnom broju u obradi
Kontroler E-redomat Autotrolej klijenta obavlja sljedeće zadaće:
➢ Šalje upit na server za dohvat podataka o trenutnom broju za obradu
➢ Predaje podatke modelu
➢ Preuzima podatke iz pogleda
➢ Sinkronizacija podataka na pogledu
Pogled E-redomat Autotrolej klijenta je grafičko sučelje s različitim komponentama (liste,
gumbi, komponente za unos teksta itd.) za prikaz podataka.
3.6.1. Specifične metode unutar web-aplikacije Redomat
Metoda za dohvat klijenata na redu koji nisu usluženi (kriterijski po kategoriji)
class Klijent_model extends CI_Model
{
function __construct()
{
// Call the Model constructor
parent::__construct();
}
//dohvat klijenata koji nisu usluženi
function dohvat_klijenata1()
{
$sql = 'select Id_klijenta from klijent where klijent.Id_kategorije="1" and
klijent.Id_klijenta not in (select Id_klijenta from klijent_na_redu)';
$query = $this->db->query($sql);
$result = $query->result();
//array lista za spremanje klijenata na redu
$klijent_id = array('-ODABIR-');
for ($i = 0; $i < count($result); $i++)
{
array_push($klijent_id, $result[$i]->Id_klijenta);
35
}
return $klijent_id_result = array_combine($klijent_id, $klijent_id);
}
Metoda za dohvat klijenta koji je prozvan za ustupanje na usluživanje (kriterijski po
kategoriji)
class Klijent_na_redu1 extends CI_Model{
function __construct()
{
// Call the Model constructor
parent::__construct();
}
//ucitavanje klijenta na redu
function get_klijent_na_redu1()
{
$sql = 'SELECT klijent.Id_klijenta
FROM klijent_na_redu left join klijent on
klijent_na_redu.Id_klijenta=klijent.Id_klijenta where klijent.Id_kategorije="1"
ORDER BY Id_klijenta DESC
LIMIT 1;';
$query = $this->db->query($sql);
$result = $query->result();
return $result;
}
}
Metoda za dohvat korisničkog imena i lozinke iz baze za potrebe autentikacije (md5
hashiranje)
class Login_model extends CI_Model
{
function __construct()
{
// Call the Model constructor
parent::__construct();
}
//dohvat korisnickog imena i lozinke
function get_user($usr, $pwd)
{
$sql = "select * from login_podaci where korisnicko_ime = '" . $usr . "' and
lozinka = '" . md5($pwd) . "' and radno_mjesto = '1'";
36
$query = $this->db->query($sql);
return $query->num_rows();
}
}?>
Metoda za ubacivanje klijenata koji su u redu na čekanje unutar combobox izbornika,
validacija uspješnosti te povratna poruka nakon unosa
function index()
{
if (! $this->session->userdata('logged_in'))
{
redirect('login/index');
}
//dohvat klijenata
$data['klijent1'] = $this->klijent_model->dohvat_klijenata1();
//set validation rules
$this->form_validation->set_rules('klijent', 'Klijent', 'callback_combo_check');
if ($this->form_validation->run() == FALSE)
{
//fail validation
$this->load->view('klijent1_view', $data);
}
else
{
$Id_klijenta = $this->input->post('klijent');
//pass validation
$data = array(
'Id_klijenta' => $Id_klijenta
);
//insert the form data into database
$this->db->insert('klijent_na_redu', $data);
37
//prikaz uspješnosti poruke
$this->session->set_flashdata('msg', '<div class="alert alert-success text-
center">Klijent je pozvan!!!</div>');
redirect('klijent1/index');
}
}
//custom validation function for dropdown input
function combo_check($str)
{
if ($str == '-ODABIR-')
{
$this->form_validation->set_message('combo_check', 'Odaberite klijenta ukoliko
je u redu za čekanje. Za učitavanje pritisnite gumb "Učitaj klijente"');
return FALSE;
}
else
{
return TRUE;
}
}
}
Metoda za dohvat gcm_tokena klijenata koji su u redu u čekanju te nisu usluženi (kriterijski
po kategorijama)
function dohvat gcm_tokena()
$result = mysql_query("select gcm_token from klijent where Id_kategorije = 1 and
Id_klijenta >= '$Id_klijenta'");
$storeArray = Array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$storeArray[] = $row['gcm_token'];
}
// gcm response
$url = 'https://android.googleapis.com/gcm/send';
$fields = array(
'registration_ids' => $storeArray,
'data' => array("poruka" => "Trenutno se obrađuje klijent " . $Id_klijenta,
"trenutni" => $Id_klijenta,
38
"kategorija" => 1),
);
$gcm_key = 'AIzaSyBku9FZjmxUsz47IuxJQAxHfpprP6xhL74';
$headers = array(
'Authorization:key=' . $gcm_key,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
Event na bazi podataka (MariaDB) za pražnjenje brojeva (setiranje na nulu) unutar tablica
klijent i klijent_na_redu prije početka novog radnog dana
CREATE EVENT brisanje_svega
ON SCHEDULE
EVERY 1 DAY
STARTS '2016-05-27 06:15:00'
DO TRUNCATE table klijent_na_redu;
TRUNCATE table klijent;
39
4. Prototip izgleda aplikacije (MOCK-UP)
4.1. Web-aplikacija
Slika 22. Početni prikaz administratorske aplikacije
Izvor: Izradili autori
Početni zaslon za prijavu administratora omogućuje administratoru autentikaciju u
administrativni dio sustava. On unosi svoje korisničko ime i lozinke te se klikom na tipku
prijava autenticira u sustav.
Slika 23. Početna stranica admin servisa
Izvor: Izradili autori
Korisničko sučelje admina se sastoji od nekoliko tabova. To su unos novih/ažuriranje
administratora, unos/ažuriranje djelatnika te pregled admina i djelatnika.
40
Slika 24. Unos admina
Izvor: Izradili autori
Na tabu za unos administratora admin unosi administratorsko korisničko ime, lozinku,
ime i prezime te OIB.
Slika 25. Unos djelatnika
Izvor: Izradili autori
Na tabu za unos djelatnika admin unosi korisničko ime, lozinku, ime i prezime te
OIB.
41
Slika 26. Pregled admina
Izvor: Izradili autori
Na tabu za pregled admina administratoru je omogućen pregled svih postojećih
administratore te mogućnost ažuriranja podataka o njima.
Slika 27. Pregled zaposlenika
Izvor: Izradili autori
Na tabu za pregled djelatnika administratoru je omogućen pregled svih postojećih
djelatnika te mogućnost ažuriranja podataka o njima.
42
Slika 28. Početna stranica servisa za zaposlenike
Izvor: autori
Početni prozor za autentikaciju djelatnika sadrži polja za unos korisničkog imena i
lozinke. Djelatnik upisuje svoje korisničko ime i lozinku te prilikom pritiska na tipku
„Prijava“ otvara mu se obrazac prikazan na slici 30.
Slika 29. Odabir kategorije za rad na redomatu – zaposlenici
Izvor: Izradili autori
Pošto se usluge koje nudi autotrolej dijele u više kategorija (trenutno 3) djelatnik prije
samoga početka rada odabire kategoriju za koju će njegov šalter raditi.
43
Slika 30. Upravljanje redomatom – zaposlenici
Izvor: Izradili autori
Nakon odabira kategorije djelatniku se otvara obrazac prikazan na slici 31. Aplikacija
omogućuje da djelatnik započne rad, tj. na kraju radnog vremena zaustavi rad (planira se tu
aktivnost razraditi na bolji način tj. tipkom restart). Obavezno je da se na neki način zaustavi
rad redomata kako bi korisnicima bilo onemogućeno dizanje broje poslje radnog vremena
autotroleja. Djelatnik kada obavi pojedinog korisnika klikom na tipku „Sljedeći broj“
povećava broj na redomatu te na taj način daje korisniku obavijest da je on sljedeći na redu.
44
4.2. Android aplikacija
Slika 31. Početni prikaz aplikacije
Izvor: Izradili autori
Nakon što korisnik otvori aplikaciju njemu su ponuđena dva taba; redomat i obavijesti.
U slučaju da korisnik odabere redomat prvo su mu ponuđene kategorije koje sam autotrolej
nudi, tj. da li korisnik želi uplatiti prava na karticu, uplatiti parking ili izraditi novu karticu.
Ovisno pto korisnik odabere, tj. koju kategoriju njega se preuzmjerava na prozor za izvlačenje
rednog broja prikaza na slici 33.
Slika 32. Redomat - izvlačenje broja
Izvor: Izradili autori
45
Korisnik pritiskom na tipi „Izvucite broj“ uzmi svoj redni broja za prethodno odabranu
kategoriju. Nakon što je izvukao broj onemogućeno mu je da izvuče novi broj dok njegov
trenutni broj ne prođe. Na taj način se želi onemogućiti zloupotreba ove aplikacije.
Slika 33. Informacije o izvučenom broju i redu čekanja
Izvor: Izradili autori
Nakon što je korisnik izvukao određeni broj za svoju kategoriju on ima u svako vrijeme prikaz
trenutnog rednog broja koji je „aktivan“ na šalteru djelatnika. I dalje ima mogućnost pregledavanja
obavijesti te nakon što njegov redni broj prođe ima mogućnost izvlačenja novog rednog broja.
46
Slika 34. Notifikacija korisniku da je na redu
Izvor: izradili autori
Korisnika će se obavijestiti notifikacijom kada je određeni broj ljudi još ispred njega (npr.
obavijest da je još 10 ljudi ispred njega).
Slika 35. Obavijesti sa stranice Autotrolej
Izvor: Izradili autori
Na slici 36 je prikazan obrazac pomoću kojega će korisnik moći vidjeti obavijesti sa
službenih web stranica autotreleja.
47
5. Testiranje aplikacije
Testiranje se provodi kako bi se provjerilo da li aplikacija podržava funkcionalnosti koju
se zadane kod korisničkih zahtjeva i kako bi se vidjelo da li je aplikacija sigurna od
potencijalnih napada. Mi smo proveli sljedeća testiranja:
• Testiranje funkcionalnost web aplikacije upotrebom softvera Selenium IDE 2.9.1
• Testiranje sigurnosti web aplikacije upotrebom softvera Vega 1.0
• Testiranje funkcionalnosti android aplikacije upotrebom softvera Renorex Studio
• Testiranje upotrebljivosti android i web aplikacije usporedbom dobivenih
funkcionalnosti s definiranim funkcionalnostima definiranih kod zahtjeva sustava
5.1. Testiranje funkcionalnosti web aplikacije
Funkcijsko testiranje web-aplikacije i administratorskog dijela obuhvaćeno je
Selenium IDE 2.9.1. alatom. Samo testiranje segmentirano je na slučaj korištenja web-
aplikacije i slučaj korištenja administracijskog djela aplikacije dok u cjelini obuhvaća sve
moguće varijante korištenja.
Slika 36. Funkcijsko testiranje
48
Izvor: izradili autori
Rezultati provedenih testova ukazuju na potpunu funkcionalnost aplikacija bez
pojavnosti grešaka po testiranim slučajevima korištenja u oba dijela aplikativnih rješenja. Ne
postoje ispadi u izvršavanju funkcijskih zadataka na kojima je temeljena web-aplikacija
Redomat.
5.2. Testiranje sigurnosti web aplikacije
Testiranje sigurnosti web-aplikacije obavljeno je Vega 1.0 alatom za testiranje
ranjivosti aplikacija.
Slika 37. Struktura definiranih ranjivosti web-aplikacije
Izvor: izradili autori
49
Rezultati sigurnosnog testiranja ukazuju na jedan rizik visoke ranjivosti predmetne
aplikacije koji se očituje u nedostatku SSL protokola koji nije implementiran unutar
aplikacije, već se informacije s login forme proslijeđuju nesigurnim http protokolom. Ovaj
problem moguće je otkloniti integracijom SSL certifikata.
Ostale ranjivosti su nižeg rizika po samu web-aplikaciju te se očituju u otvorenim
pristupima prema direktorijima css, fonts, js te slike gdje potencijalni napadači mogu doznati
odrođene informacije iz programskih kodova ili slobodno doći u posjed određenih datoteka
koje ne bi trebale biti dostupne. Sporni problem može se riješiti uvođenjem restriktivnih
permissiona za korisnike iz vana.
Posljednja ranjivost nižeg rizika postojana je na način da je omogućena
autocomplete opcija za polje gdje se unosi lozinka što omogućuje preglednicima da upamte
vrijednosti koje su upisane u tom polju. Ova ranjivost rješava se unutar programskog koda
dodavanjem naredbe autocomplete="off" unutar <form> taga čime će se pregledniku dati
naredba da ne pamti vrijednosti unosa.
5.3. Testiranje funkcionalnosti android aplikacije
Testiranje funkcionalnosti android aplikacije izvedeno je u Ranorex alatu direktnom
USB emulacijom na android uređaju čime su testirane zadane funkcije unutar android
aplikacije.
Rezultati testiranja ukazuju na to da nema nepravilnosti u izvođenju svih funkcija
unutar testirane android aplikacije, a u koje spadaju one ključne: izvlačenje broja, izlaženje iz
reda čekanja (otkazivanje), pregled obavijesti sa Autotrolej stranica unutar Redomat
aplikacije.
50
Slika 38. Rezultati testiranja android aplikacije – Ranorex
Izvor: izradili autori
51
5.4. Testiranje prihvatljivosti cjelokupnog sustava
Testiranje prihvatljivosti (eng. Acceptance Testing) se provodi kako bi se provjerilo da li
sustav ispunjava zahtjeve naručitelja (korisnika). Ako sustav zadovoljava test prihvatljivosti,
sustav je spreman za implementaciju. Glavne funkcionalnosti koje se traže od sustava su:
1. Omogućen uvid u obavijesti od strane korisnika android aplikacije
2. Izvlačenje rednog broja na android aplikaciji
3. Onemogućavanje izvlačenja rednog broja korisnika ako je već izvukao jedan broj (na taj
način se sprječava korisnika da "sabotira" funkcionalnost sustava)
4. Onemogućeno izvlačenje rednog broja nakon radnog vremena samog autotroleja
5. Notifikacija korisnik putem android aplikacije o trenutnom stanju reda čekanja
6. Omogućen od strane korisnika prekid čekanja u redu
7. Registracija novih djelatnika te ažuriranje postojećih od strane administratora sustava
8. Login djelatnika u web aplikaciju
9. Prikaz monitora sa trenutnim rednim brojem koji se odrađuje
10. Poziv korisnika s određenim rednim brojem da pristupi šalteru
1. Omogućen uvid u obavijesti od strane korisnika android aplikacije - korisnik nakon što
pokrene android aplikaciju na svom uređaju ima mogućnost odabira između 2 taba. Na
prvome je e-redomat dok je na drugome sekcija za obavijesti, ako korisnik odabere tab
sa obavijestima on dobiva u uvid sve obavijesti sa službenih stranica autotroleja što je
prikazano na sljedećoj slici.
52
Slika 39. Uvid svih obavijesti
Izvor: izradili autori
2. Izvlačenje rednog broja na android aplikaciji- izvlačenje rednom broja predstavlja
jezgrenu funkcionalnost ovoga sustava. Korisniku je omogućeno izvlačenje rednog
broja za red čekanja.
Slika 40. Izvlačenje rednog broja
Izvor: izradili autori
53
3. Onemogućavanje izvlačenja rednog broja ako je korisnik već u jednom redu čekanja -
korisniku se treba onemogućiti izvlačenje rednog broja ako je on prethodno već
izvukao određeni redni broj za određenu kategoriju usluge. Naime ako bi se to
omogućilo korisniku on bi mogao neprestano izvlačiti redne brojeve na e-redomatu.
Slika 41. Onemogućenje izvlačenje rednog broja
Izvor: izradili autori
4. Onemogućeno izvlačenje rednog broja nakon radnog vremena autotroleja- korisniku se
treba onemogućiti opcija izvlačenja rednog broja nakon radnog vremena samog
autotroleja.
54
Slika 42. Onemogućeno izvlačenje rednog broja nakon radnog vremena
Izvor: izradili autori
5. Notifikacija korisnika o trenutnom stanju- korisnika treba obavijestiti notifikacijom
sa podatcima o trenutnim stanjem
Slika 43. Notificiranje korisnika
Izvor: izradili autori
55
6. Omogućen od strane korisnika prekid u redu čekanja na e-redomatu- korisniku se treba
pustiti mogućnost prekida čekanja u redu čekanja u slučaju da korisnik ili slučajno
izabere krivu kategoriju ili se odluči da ne želi koristiti usluge autotroleja. To se radi na
način da korisnik jednostavno na android aplikaciji klikne na tipku "Odustani od
čekanja".
Slika 44. Prekid čekanja
Izvor: izradili autori
7. Registracija novih te ažuriranje postojećih djelatnika od strane administratora sustava -
administrator sustava mora imati mogućnost ažuriranja postojećih djelatnika, brisanja
istih te stvaranja novih prema potrebi.
56
Slika 45. Pregled djelatnika
Izvor: izradili autori
Slika 46. Forma za dodavanje/ažuriranje djelatnika
Izvor: izradili autori
57
8. Login djelatnika u web aplikaciju- nakon što administrator dodjeli autentikacijske
podatke djelatniku isti mora imati mogućnost pristupa web aplikaciji.
Slika 47. Login forma web aplikacije
Izvor: izradili autori
Slika 48. Sučelje web aplikacije nakon uspješnog login-a
Izvor: izradili autori
58
9. Prikaz monitora sa trenutnim rednim brojem koji se odrađuje- sustav treba omogućiti
prikaz trenutnog rednog broja koji se obrađuje na pojedinoj kategoriji uz pomoć nekog
eksternog monitora.
Slika 49. Prikaz monitora sa trenutnim rednim brojem
Izvor: izradili autori
10. Poziv korisnika s određenim rednim brojem da pristupi šalteru- djelatnik mora imati
mogućnost poziva korisnika na obradu.
59
Slika 50. Poziv određenog korisnika
Izvor: izradili autori
Rezultati testiranja prihvatljivosti: sve funkcionalnosti koje su navedene da bi sustav
trebao podržavati, sustav podržava. Daljnje nadogradnje sustava i poboljšanja su moguća i
poželjna međutim analizom funkcionalnosti možemo reći da sustav zadovoljava potrebama
korisnika te da je spreman za implementaciju.
60
6. Zaključak
Razvoje ovo sustava stekli smo dodatna znanja u područjima:
• programiranja android aplikacija
• programiranja web aplikacija
• upotrebom framework-a CodeIgniter
• modeliranje sustava
Kroz razvoj smo naišli na dosta prepreka radi nepoznavanja načina izrade android
aplikacije.
Iako izrađeni sustav podržava sve osnovne funkcionalnosti navedene kod zahtjeva
aplikacije on ipak nije razvijen do kraja. Naime neke funkcionalnosti bi trebalo riješiti na
drugi način:
• za svaku kategoriju usluga koje nudi autotrolej trebala bi ići drugačija oznaka (npr.
A1, B1, C1)
• notifikacija korisnika bi trebala prikazati koliko je još stranaka točno ispred njega
• web aplikacija bi umjesto dropliste za pozivanje klijenata trebala imati tipku
• za autorefresh na monitor sučelju trebao bi se koristiti javascript
• za definiranje uvjeta da se nakon radnog vremena ne može izvlačiti broj idealno bi
bilo definirati fiksne varijable te tada postaviti if uvjet
Izrada ovoga projekta je doprinijela kako samom razvoju aplikacije tako i našem razvoju
kao potencijalnih budućih developera. Osim što smo naučili koristiti pojedine alata isto tako
smo naučili i surađivati u timu, raspodjeljivati zadatke te debatirati, komentirati i
argumentirati zašto određeni segment sustava napraviti na "ovakav" način a ne na "onakav".
Smatramo da je izrada samoga sustava bila kompleksna ali i zanimljiva te poučna.
61
Popis slika
Slika 1. Arhitektura sustava ....................................................................................................... 4
Slika 2. Plan razvoja projekta .................................................................................................. 12
Slika 3. Dijagram dekompozicije ............................................................................................ 13
Slika 4. Dijagram konteksta ..................................................................................................... 14
Slika 5. Dijagram toka podataka 1. razine ............................................................................... 15
Slika 6. Dijagram toka podataka 2. razine (Preuzimanje brojeva) ........................................... 16
Slika 7. Dijagram toka podataka 2. razine (Prikaz obavijesti) ................................................. 16
Slika 8. Dijagram toka 2. razine (Registracija djelatnika) ........................................................ 17
Slika 9. EV-a dijagram ............................................................................................................ 18
Slika 10. Relacijski model ....................................................................................................... 20
Slika 11. USE CASE dijagram ................................................................................................ 22
Slika 12. Sevencijalni dijagram – dohvat obavijesti ................................................................ 24
Slika 13. Sekvencijalni dijagram - dodjela autentikacijskih podataka .................................... 25
Slika 14. Sekvencijalni dijagram - autentikacija djelatnika u sustav ...................................... 26
Slika 15. Sekvencijalni dijagram – uzimanje novog broja i pregled klijenata u redu ............. 28
Slika 16. Opći dijagram klasa .................................................................................................. 29
Slika 17. Dijagram aktivnosti dohvata obavijesti .................................................................... 30
Slika 18. Dijagram aktivnosti autentikacije djelatnika u sustav .............................................. 30
Slika 19. Dijagram aktivnosti dodjela autentikacijskih prava djelatniku ................................ 31
Slika 20. Dijagram aktivnosti uzimanje novog broja na redomatu ......................................... 32
Slika 21. Skica trokomponentnog MVC modela ..................................................................... 33
Slika 22. Početni prikaz administratorske aplikacije ............................................................... 39
Slika 23. Početna stranica admin servisa ................................................................................. 39
Slika 24. Unos admina ............................................................................................................. 40
Slika 25. Unos djelatnika ......................................................................................................... 40
Slika 26. Pregled admina ......................................................................................................... 41
Slika 27. Pregled zaposlenika .................................................................................................. 41
Slika 28. Početna stranica servisa za zaposlenike ................................................................... 42
Slika 29. Odabir kategorije za rad na redomatu – zaposlenici ................................................ 42
62
Slika 30. Upravljanje redomatom – zaposlenici ...................................................................... 43
Slika 31. Početni prikaz aplikacije .......................................................................................... 44
Slika 32. Redomat - izvlačenje broja ....................................................................................... 44
Slika 33. Informacije o izvučenom broju i redu čekanja ......................................................... 45
Slika 34. Notifikacija korisniku da je na redu ......................................................................... 46
Slika 35. Obavijesti sa stranice Autotrolej .............................................................................. 46
Slika 36. Funkcijsko testiranje ................................................................................................ 47
Slika 37. Struktura definiranih ranjivosti web-aplikacije ........................................................ 48
Slika 38. Rezultati testiranja android aplikacije – Ranorex ..................................................... 50
Slika 39. Uvid svih obavijesti .................................................................................................. 52
Slika 40. Izvlačenje rednog broja ............................................................................................ 52
Slika 41. Onemogućenje izvlačenje rednog broja ................................................................... 53
Slika 42. Onemogućeno izvlačenje rednog broja nakon radnog vremena .............................. 54
Slika 43. Notificiranje korisnika .............................................................................................. 54
Slika 44. Prekid čekanja .......................................................................................................... 55
Slika 45. Pregled djelatnika ..................................................................................................... 56
Slika 46. Forma za dodavanje/ažuriranje djelatnika ................................................................ 56
Slika 47. Login forma web aplikacije ...................................................................................... 57
Slika 48. Sučelje web aplikacije nakon uspješnog login-a ...................................................... 57
Slika 49. Prikaz monitora sa trenutnim rednim brojem ........................................................... 58
Slika 50. Poziv određenog korisnika ....................................................................................... 59
Popis tablica
Tablica 1. 1. Pitanje ankete ........................................................................................................ 7
Tablica 2. 2. Pitanje ankete ........................................................................................................ 8
Tablica 3. 3. Pitanje ankete ........................................................................................................ 8
Tablica 4. 4. Pitanje ankete ........................................................................................................ 9
Tablica 5. 5. Pitanje ankete ...................................................................................................... 10
Tablica 6. 6. Pitanje ankete ...................................................................................................... 11
Tablica 7. Popis entiteta i atributa EV-a modela ..................................................................... 19
Tablica 8. Popis relacijskih shema, njihovih atributa i tipova podataka ................................. 21
63
Popis grafikona
Grafikon 1. 1.Pitanje ankete ...................................................................................................... 7
Grafikon 2. 2. Pitanje ankete ..................................................................................................... 8
Grafikon 3. 3. Pitanje ankete ..................................................................................................... 9
Grafikon 4. 4. Pitanje ankete ..................................................................................................... 9
Grafikon 5. 5. Pitanje ankete ................................................................................................... 10
Grafikon 6. 6. Pitanje ankete ................................................................................................... 11