veleuČiliŠte u rijeci · će bti podržan aplikativnim rješenjima kroz programske jezike php...

69
VELEUČILIŠTE U RIJECI Marko Fresl, Vedran Hibler, Adnan Šatri Sustav za obavještavanje i e-redomat- Autotrolej (Projekt) Rijeka, 2016.

Upload: others

Post on 14-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

VELEUČILIŠTE U RIJECI

Marko Fresl, Vedran Hibler, Adnan Šatri

Sustav za obavještavanje i e-redomat- Autotrolej

(Projekt)

Rijeka, 2016.

Page 2: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne
Page 3: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 4: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 5: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 6: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

Popis slika, tablica i grafikona .................................................................................................. 61

Page 7: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 8: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 9: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 10: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 11: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 12: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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„.

Page 13: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 14: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 15: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 16: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 17: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 18: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 19: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 20: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 21: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 22: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 23: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 24: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 25: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 26: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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č)

Page 27: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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č

Page 28: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

22

3.5. UML dijagrami

3.5.1. USE CASE

Slika 11. USE CASE dijagram

Izvor: izradili autori

Page 29: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 30: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 31: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 32: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 33: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 34: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 35: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 36: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 37: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

31

Slika 19. Dijagram aktivnosti dodjela autentikacijskih prava djelatniku

Izvor: autori

Page 38: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

32

Slika 20. Dijagram aktivnosti uzimanje novog broja na redomatu

Page 39: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 40: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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);

Page 41: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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'";

Page 42: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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);

Page 43: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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,

Page 44: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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;

Page 45: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 46: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 47: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 48: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 49: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 50: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 51: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 52: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 53: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 54: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 55: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 56: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

50

Slika 38. Rezultati testiranja android aplikacije – Ranorex

Izvor: izradili autori

Page 57: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 58: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 59: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 60: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 61: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 62: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

56

Slika 45. Pregled djelatnika

Izvor: izradili autori

Slika 46. Forma za dodavanje/ažuriranje djelatnika

Izvor: izradili autori

Page 63: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 64: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 65: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 66: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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.

Page 67: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 68: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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

Page 69: VELEUČILIŠTE U RIJECI · će bti podržan aplikativnim rješenjima kroz programske jezike PHP (web servisi) i Java (Android ... Odabir teme Analiza poslovnog sustava Izrada projektne

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