You are on page 1of 29

DRAVNI UNIVERZITET U NOVOM PAZARU

DEPARTMAN ZA TEHNIKE NAUKE

PROJEKTNA DOKUMENTACIJA
Android aplikacija CityGuide

Studenti:
Adel Zekovi
Nemanja Lazi
Marko Kulundi

Mentor:
Doc. dr Ejub Kajan

Novi Pazar, 2014.

Sadraj
1.
2.

Uvod.................................................................................................................................................1
Definicija zahteva na osnovi tri slina reenja.................................................................................4
2.1
Novi Sad Pria.........................................................................................................................4
2.2
My Place...................................................................................................................................7
2.3
Favourite Places GPS...............................................................................................................8
3. Osnovni koncept nae aplikacije......................................................................................................9
4. Logiki dizajn.................................................................................................................................11
4.1
Dijagram toka podataka..........................................................................................................11
4.1.1. Proces................................................................................................................................11
4.1.2. Tok podataka.....................................................................................................................12
4.1.3. Skladite podataka............................................................................................................12
4.1.4. Interfejs.............................................................................................................................12
4.1.5. Kontekst dijagram............................................................................................................13
4.1.6. Root dijagram...................................................................................................................14
4.2
UML...................................................................................................................................15
4.2.1
Dijagram sluajeva upotrebe..............................................................................................16
4.2.2
Dijagram stanja.................................................................................................................19
4.2.3
Dijagram sekvenci..............................................................................................................21
4.3
Papir prototip.........................................................................................................................23
5. Fiziki dizajn..................................................................................................................................24

1. Uvod
Android je operativni sistem koji je u kratkom roku od nekoliko godina uspeo da doe
do samog vrha u svetu mobilnih telefona. Prvenstveno je i razvijen za upotrebu na
mobilnim telefonima meutim pokazavi se kao izuzetno uspean prirodan korak je bio
irenje trita pa tako danas postoje i drugi ureaji koji rade na bazi Android-a. Tablet
raunari, e-reader-i pa i Android televizori su ureaji koji koriste ovaj operativni sistem
i za njih se ispostavilo da su veoma dobro prihvaeni od strane korisnika tako da je ovaj
potez bio pun pogodak.
Najvea prednost Andriod-a je u tome to je to open source softver, to znai da je
njegov source code javno dostupan tako da je mogue izvriti izmene u ovom kodu i na
taj nain promeniti funkcionisanje operatvinog sistema. Korisnici i proizvoai mogu
prilagoditi operativni sistem svojim potrebama ili ispraviti neke greke koje nau i o
tome mogu obavestiti programere Android-a koji mogu odluiti da neke izmene ubace u
neku od sledeih verzija softvera. Android se pokazao kao veoma fleksibilan i pogodan
za programiranje aplikacija to mu je i omoguilo da postane popularan na samom
poetku i uz to to je open source je mogao da se brzo razvija u skladu sa primedbama i
unapreenjima od strane korisnika i prilagoava tehnikim reenjima proizvoaa
mobilnih telefona koji su krenuli sa pametnim telefonima na bazi Android-a. Aktuelna
verzija Android-a prua podrku za sledee aktivnosti koje mogu da se integriu u
aplikacije:
uvanje podataka
povezivanje Bluetooth, WiFi, GSM/EDGE i drugi protokoli za povezivanje u
mreu
slanje SMS i MMS poruka
pristup Internetu
otvaranje audio i video fajlova razliitih formata
korienje hardvera: kamere, digitalnog kompasa, senzora ubrzanja, senzora
blizine, senzora pritiska, senzora poloaja, GPS-a i drugih
multi-touch ekran
multi-tasking
Flash podrka
Razvijanje Android aplikacija postaje sve popularnije i svakodnevno se na Market-u
pojavi veliki broj novih. Sve aplikacije su dostupne velikom broju korisnika tako da one
koje se pokau kao korisne veoma brzo dou do velikog broja preuzimanja. Naravno,
ovo omoguava i da se uz malu cenu pojedinanog preuzimanja nakupi zarada ukoliko
se razvije dobar proizvod i puno ljudi bude spremno da za njega plati.

Android operativni sistem se bazira na jezgru Linux-a 2.6 koji je takoe open
source i moe se koristiti za razvijanje novih proizvoda. Na ovaj nain Android koristi
ve razvijene osnovne funkcije Linux-a meu kojima su:
Sigurnosni model (security model) Linux sam obezbeuje sigurnost izmeu
aplikacije i sistema.
Raspolaganje memorijom (memory menagement) o raspodeli memorije takoe
ne moraju da vode rauna programeri samih aplikacija to je jo jedno olakanje
za njih.
Upravljanje procesima (process menagement) dodeljivanje resursa procesima
po potrebi je reeno u samom jezgru Linux-a.
Mreni stek (network stack) upravljanje mrenom komunikacijom.
Model drajvera (driver model) proizvoai hardvera mogu da naprave drajvere
koji se ugrauju u operativni sistem i omoguavaju funkcionisanje hardverskih
komponenti.
Android okvir (framework) je razvijen na bazi Linux-a sa mogunostima koje su
integrisane u njega iz razliitih open source projekata. Ovi open source projekti
iskorieni su za sledee svrhe:
Android run time sastoji se od osnovnih Java biblioteka.
Open GL API (application program interface) koji se koristi za 2D i 3D
kompjutersku grafiku.
WebKit jezgro web brauzera koje je iskorieno za prikazivanje web sadraja i
uitavanje stranica.
SQLite memorija Android ureaja se bazira na open source softveru ralecionih
baza podataka.
Media framework biblioteke za rad sa audio i video sadrajima.
SSL (Secure Sockets Layer) biblioteke zaduene za Internet sigurnost.
Aplikaciono okruenje (application framework) obezbeuje interfejs pomou kojeg
programeri aplikacija mogu koristiti razne biblioteke integrisane u Android kao i mnoge
funkcionalnosti koje su takoe ve razvijene i ugraene u vidu nekih standardnih
funkcija:

Activity manager upravlja ivotnim ciklusom aktivnosti.


Telephony manager obezbeuje pristup telefonskim uslugama i vezanim
informacijama kao to su brojevi telefona.
View system rad sa elementima koji ine korisniki interfejs.
Location manager daje trenutnu geografsku lokaciju ureaja.

Android ureaji raspolau raznim hardverskim alatima koji postaju upotrebivi


posredstvom operativnog sistema. Aplikacije su jo jedan sloj izmeu korisnika i OS-a
koji olakavaju korisniku da iskoristi pun potencijal svog Android ureaja. Poto je
Android open source softver, javno su dostupne programske sekvence za upravljanje
svim resursima koje poseduju razni Android ureaji pa je omogueno svim
programerima aplikacija da iskoriste ove gotove procedure i integriu ih u svoje
aplikacije koje koriste neke od raspoloivih hardverskih alata. Osnovni hardver kojim
raspolae najvei broj android telefona su:

ekran osetljiv na dodir (touchscreen)


GPS radio
SD kartica
senzor blizine
senzor ubrzanja
Bluetooth radio
Kamera

Sve ovo e na to bolji nain u daljoj razradi projektne dokumentacije pokuati da vam
pojasni na tek osnovani Android tim
LOVEDROID. Lovedroid tim ine tri
mlada studenta Dravnog Univerziteta u
Novom Pazaru: Adel Zekovi, Nemanja
Lazi i Marko Kulundi. Pred nama je
naravno preteak zadatak, jer smo svi
poetnici u ovome, ali se nadamo da
neemo izneveriti vae poverenje. U
poetku
ove
dokumentacije
predstavljamo vam tri aplikacije na
osnovu kojih emo pokuati da
formiramo nau, koja e naravno imati i
neto svoje, a ostatak dokumentacije e
initi detalnjiji opis same nae aplikacije kao i dijagrami koji e olakati va pogled na
Logo tima Lovedroid
sve. U drugom delu naeg projekta,
radie se fiziki dizajn i finaliziranje nae aplikacije. Pa da krenemo...

2. Definicija zahteva na osnovi tri slina reenja


2.1

Novi Sad Pria


Novi Sad, nekadanja srpska kulturna prestonica,
otkriva se na sasvim nov nain ovom inovativnom
aplikacijom.
Preko ove aplikacije upoznaje se grad bogate istorije
koji sada pripoveda prie o svojim graevinama,
znamenitostima, ljudima, putem sveobuhvatne
besplatne aplikacije i koncepta izmenjene
stvarnosti.

Aplikacija koristi kameru svog pametnog telefona kao prozor, kroz koji se na brz i
zabavan nain pronalaze upeatljivi istorijski objekti, dolazi se do saznanja
zanimljivosti o graevinama, njenim stanovnicima i znamenitim linostima. S tim to je
dravna telekomunikaciona mrea develepor ove aplikacije nakon preuzimanja iste,
nema dodatnih trokova rominga to je izuzetno povoljno za turiste.

NAJZNAAJNIJI OBJEKTI
Novi Sad pria vas vodi do najznaajnijih gradskih lokacija. Izgled objekata na
telefonu proiren je istorijatom graevina, najznaajnijim dogaajima koji se za nju
vezuju, prvim sauvanim fotografijama.
Istraena je i njihova skrivena istorija, kako bi se predstavile anegdote i zanimljivosti
koje ine kolektivno pamenje grada. Spomenici sada sami govore o svojim
graditeljima, linostima koje predstavljaju, njihovom znaaju za istoriju grada i Srbije.

JEDNOSTAVNO
Kada poelite da krenete u razgledanje grada, dovoljno je da usmerite telefon, ukljuite
izmenjenu stvarnost i pomou vae kamere pronaete najblie lokacije. Otvorie vam
se sled kratkih pria o brojnim kulturnim i istorijskim znamenitostima grada, koji
upravo zbog toga nazivaju I srpskom Atinom.
Jo neto to zaista doprinosi
funkcionalnosti ove aplikacije
je I luanje teksta putem audio
snimka koji je obezbeen na
svakoj lokaciji. Za vreme
razgledanja
graevine
usredsreeni ste na njenu
arhitekturu i detalje a ne na
ekran telefona.

PLANIRANJE
RAZGLEDANJA
Planiranje
idealnog
razgledanjea Novog Sada,
koristei ucrtane mape koje vas
korak po korak vode kroz
prolost i sadanji trenutak ove
pulsirajue
metropole.
Aplikacija e vam predloiti i
voditi vas najboljom rutom za
obilazak lokacija uzimajui u
obzir vau trenutnu poziciju.
Izaberite
rutu
prema
raspoloenju ili interesovanju u jednom dahu moete posetiti najpoznatije gradske
graevine u vaoj blizini ili najvanije sakralne objekte.
Zakljuak: Sticajem okolnosti nismo u mogunosti da primenimo sve ono to bi iz ove
aplikacije eleli preneti u naoj, pre svega mislimo na korienje kamere i sve ono to
ova aplikacija nudi a da je povezano sa tom funkcijom, ali emo svakako pokuati da na
naoj aplikaciji prenesemo ideju predstavljanja vanih mesta grada na nain koji je
zaista oduevljavajui na ovoj aplikaciji.

2.2

My Place
My place je aplikacija koja pomou
geografske irine i duine tj. adrese
ureaja prikazuje trenutni poloaj
korisnika sa odreenim objektima koji se
u njihovoj blizini nalaze. Dizajn aplikacije
je veoma prijatan
za oi, obiluje
kontrastom boje, laka je itljivost fonta i
preglednost ikonica.
Jednostavna pomo kada elite da saznate
ta se u vaoj blizini nalazi a takoe prua
mogunost deljenja svoje trenutne
lokacije na drutvenim mreama.

Moe se koristiti za lake pronalaenje


bankomata, autobuskih stanica, bolnica,
bioskopa, restorana i raznih drugih mesta... U
glavnom meniju aplikacije moe se odabrati
eljeni objekat i maksimalna udaljenost na
kojoj se on moe nai od trenutne lokacije
korisnika. Omogueno je korisniku da podeli
svoju lokaciju sa prijateljima i takodje da
memorie svoja omiljena mesta.
Kada aplikacija pronae mesta koja
odgovoaraju pretrazi sortira ih i nudi vam
listu opcija, na kojoj korisnik treba odrediti
ta ga tano zanima. Kada to odradi,
aplikaciju mu dostavlja detaljan opis eljenog
objekta.
Zakljuak: Iz ove aplikacije naalost neemo
preuzeti funkciju prikaza trenutnog poloaja
korisnika sa odreenim objektima koji se u
njihovoj blizini nalaze, ali emo sa
zadovoljstvom pokuati da na to bolji nain
uzmemo za nauk prikaz menija ove aplikacije koji smo ve opisali u poetku kao i
ikonice koje se tano poklapaju sa nazivima funkcija.

2.3

Favourite Places GPS


Aplikacija Favourite Places GPS nam slui
za uvanje poseenih mesta i stvari koje
trebamo obaviti, kupiti i mestu na kojem se
nalazimo.
Ovi podaci se mogu deliti meu prijateljima,
preko raznih mrea kao i shareovanjem na
svom Facebook profilu, zajedno sa ocenom,
opisom, fotografijom i
lokacijom.
Program FP GPS radi sa pristupom Internetu.
Bez pristupa mrei se moe pregledati lista
mesta i objekata. Liste se mogu sauvati u
spoljne datoteke...

Aplikaciji ne treba GPS da da bi se dodao


poloaj mesta. Program koristi poloaj drugih
izvora lokacija. Meutim, za punu tanost
preporuuje se da se ukljui GPS lokacija.
Aplikacija je potpuno besplatna, i moe se
koristiti po elji u nekomercijalne svrhe.
Primeri primene:
Praenje praznika
Podeliti informacije sa prijateljima na
stavki
uvanje mesta koje elite da ponovo
posetite
Od aplikacije koja je upravo
opisana neemo (za sada) preuzimati opcije za
koje je neophodan rad interneta., a ono to
emo iskoristiti za nau aplikaciju je opcija dodavanja omiljenih mesta , poloaja istih,
neka vrsta svog unosa u listama i slino, u zavisnosti za ta budemo u mogunosti.
Zakljuak:

3.Osnovni koncept nae aplikacije

Slika br. 1 Logo nae aplikacije (u ovom sluaju)

U naoj alikaciji e se sadrati delovi tri unapred opisane aplikacije. Iz prve aplikacije
Novi Sad pria koja upoznaje svoje korisnike sa zanimljivostima o istoriskim
spomenicima, kulturnim objektima i stanovnicima toga grada. Ovakava struktura i
nain prikazivanja podataka nam se svidela jer omoguava korienje kamere pomou
koje se detektuju objekti i korisniku prikazeje neka pria o istim.
Ovo je korisno za turiste i ljude koji su u prolazu a ele da vide najznaajnije objekte
jednog grada, bilo to istorijski, kulturni, sportski ili ugostiteljski objekti. Takoe je
korisno zato to ne moraju da se znaju nazivi objekata kao ni lokacija na kojoj se nalaze
ve je potrebna samo ukljuena kamera u trenutku kada se korisnik nalazi na nekoj
lokaciji. Mi ovo neemo biti u mogunosti da odradimo, ali imamo dodatna reenja koja
e tu opciju zameniti, o tome neto vie u nastavku teksta.

U drugoj aplikaciji My Place, nam se svideo dizajn ikonica i glavnog menija. Dizajn
ikonica je jednostavan i lepo odraen. Svaka od njih predstavlja jedan objekat koji
omoguava lake prepoznavanje traene lokacije.
Aplikacija Favorite Place GPS slui za uvanje poseenih i omiljenih mesta kao i stvari
koje treba obaviti, to emo omoguiti i u naoj aplikaciji. Takoe je mogue deliti na
raznim mreama lokacije o poseenim mestima i svoje utiske o njima.
Osnovni koncept naeg projekta se ogleda u sledeim stavkama:
Omoguen lak pristup korisnicima
Laka preglednost sadraja
Detaljan opis traenog sadraja
Preporuke
Shareovanje
Pre svega, ono to nam je za cilj da korisnicima omoguimo lak pristup naoj
aplikaciji, a to je ono to je korisnicima najbitnije, pored vizuelnog efekta iste
aplikacije. Takoe, tu je uvrtena i laka preglednost sadraja koje aplikacija sadri,
radi
lakeg
pronalaenja
i
informisanosti
o
eljenoj
lokaciji.
Kao i korisnici slinih reenje nae aplikacije koji koriste istu, sigurno je da i nai
korisnici ele da znaju to vie o mestima koje trae i ele da posete. Zbog toga, na je
cilj da to bolje ispunimo oekivane zahteve tih istih korisnika i to detaljnije im
prezentujemo sadraj nae aplikacije.
Neto novo to e naa aplikacija imati za razliku od navedenih, tj. za razliku od opcije
Kamera koju ima aplikacija Novi Sad Pria su preporuke koje korisnici mogu
proitati kao i anegdote ili legende o nekim mestima koje ele da posete.
U savremenom svetu tehnologije, kada svi koriste pametne telefone koji poseduju GPS,
korisnici uvek ele da sa svojim prijateljima, kolegama i porodicom podele svoja
iskustva na mreama. Za rad toga, odluili smo da nau aplikaciju unapredimo i
dodatnom opcijom share, tj. podele na internetu poseenih mesta koja su im se svidela.

4. Logiki dizajn
4.1 Dijagram toka podataka
Naziv dijagram tokova podataka, potie od samog naina na koji on gleda na funkcije
sistema. Naime, on fukcije posmatra na taj nain to definie koji su to podaci koji

ulaze u sistem, gde se to obrauju i koji su to podaci koji izlaze iz njega. Ovakav nain
pristupa nam omoguava da mi uvidimo koji su to procesi koji se deavaju unutar
sistema, bez toga da smo najpre krenuli od samih procesa pa tek onda uoili sve
prethodno navedeno. Znai, DTP se fokusira kako se podaci kreu kroz sistem a zatim
uoava procese. Ukoliko kvalitetno odradimo DTP onda i krajnji korisnik ima jasnu
sliku
o
tome
kako
sistem
zapravo
funkcionie.
Osnovni elementi koji se koriste za kreiranje dijagrama tokova podataka su:

tokovi podataka
procesi
skladita podataka
interfejsi

4.1.1. Proces
Proces

predstavlja deo sistema koji ima ulogu da transformie ulazne podatke u


izlazne. Proces se na grafiku predstavlja elipsom. Proces
predstavlja odreenu radnju ili aktivnost nad podacima, te je zato
vrlo vano uoiti koji su to procesi prisutni u sistemu i dati im
simbolino ime koje e nas asocirati ta oni zapravo rade. Obiaj je da se njihov naziv
iskae parom predikat-objekat, meutim ponekada se objekat u nazivu moe
izostaviti ukoliko je on oigledan.
Ukoliko je funkcionalnost procesa sloena onda se on moe ralaniti na podprocese
koji ga detaljnije opisuju, ali prethodno je potrebno uvesti odreenu numeriku
notaciju. Ta notacija se ogleda u tome to proces koji se ralanjuje sadri redni broj
(npr. 1, 2, 3 ....), a procesi koji ga deta ljnije obrauju sadre oznaku procesa koji
obrauju i svoju oznaku (npr. 1.1, 1.2, 2.1, 3.7 ...), i tako redom u zavisnosti koliko
procesa i podprocesa imamo.

4.1.2. Tok podataka


Tok podataka se tretira kao vod kroz koji stalno teku podaci ili kao pokretna traka koja
stalno prenosi pakete podataka iz jednog dela sistema u drugi, i na taj nain ostvaruje
veu imeu komponenti sistema. Tok podataka se na grafiku predstavlja pomou
usmerene linije. Poto se radi o usmerenoj liniji, to samim tim povlai za sobom
injenicu da tok podataka prikazuje smer kretanja podataka. To dalje znai da svaki tok
podataka mora da ima lokaciju sa koje polazi i svoju destinaciju (tzv. izvor i ponor).
Kao i kod elementa proces, neophodno je adekvatno imenovanje toka podataka.

Nepisano pravilo je da im se obino pridodaju nazivi na


osnovu podataka koje prenose, i da ti nazivi budu potpuni
(bez ikakvih skraenica).

4.1.3. Skladite podataka


Skladite podataka predstavlja podatke u stanju mirovanja.
Skladite podataka se predstavlja pomou dve horizontalne
linije, izmeu kojih se obino pie naziv skladita. Nepisano
pravilo kod davanja naziva ovog elementa DTP-a je da se
koristi mnoina imenice tokova podataka koji pristiu u
skladite podataka. Skladita podataka se mogu simboliki opisati kao odreene baze
podataka ukoliko se radi o nekom savremenom sistemu ili organizaciji, a takoe mogu
predstavljati i odreene arhive u organizacijama koje jo uvek koriste tradicionalni
nain poslovanja.

4.1.4. Interfejs
Interfejs predstavlja spoljni objekat sa kojim sistem komunicira. Interfejs se na grafiku
predstavlja pomou pravougaonika, u kome se upisuje njegov
naziv. Obino se vodi polemika oko toga ta zapravo znai
spoljni objekat. Spoljni objekat se moe definisati kao odreeno
lice, odeljenje pa i itava organizacija koja koristi ovaj sistem. U
naem primeru, jedan od interfejsa je Korisnik, koji upuuje
razne zahteve ka Aplikaciji, a sistem najpre unutar sebe sprema odgovor (obrauje
zahteve) i zatim aplikaciju vodi dalje.

4.1.5. Kontekst dijagram


Dijagram konteksta je prvi Dijagram Toka Podataka u svakom poslovnom procesu.
To je dijagram najvieg nivoa apstrakcije, koji po pravilu sadri samo jedan proces koji
predstavlja ceo IS, interfejse sa kojima IS komunicira i odgovarajue tokove podataka.
Prikazuje sve spoljanje entitete koji primaju informaciju od sistema ili saoptavaju
informaciju sistemu.

Dijagram 1: Kontekst dijagram

4.1.6. Root dijagram


Na prvom nivou dekompozicije sistema nakon kontekst dijagrama jeste Root dijagram
iliti dijagram prvog nivoa. Funkcionie tako to se dijagram konteksta deli na osnovne
procese numerisane sa 1, 2 i tako dalje.

Dijagram 2: Root Dijagram

Na ovom dijagramu smo dali bolji i jasniji prikaz onogo to aplikacija radi posebno po
svim nivoima koje ista aplikacija i sadri.
Ono za ta je zaduen prvi nivo nae aplikacije, tj. poetni prikaz je sami odgovor
aplikacije na zahtev korisnika za pokretanje aplikacije, na ta mu naa aplikacija daje
odgovor u obliku poetnog menija gde korisnik pregleda ono to mu je ponueno i
odreuje koju funkciju eli da upotrebi.
Sledei nivo koji smo uprostili je nivo odabira funkcije. U ovom nivou korisnik pokree
funkciju iz datog prikaza koju eli isprobati ili koja mu je najpotrebnija, a aplikacija mu
omoguava prikaz sadraja odabrane funkcije.
Daljim pregledom sadraja odabrane funkcije korisnik upravlja interfejsom i obraa
panju na ono to mu se dopada i ta mu je najpotrebnije. Odreene informacije i
ostatak za sada nama nepoznatog fizikog dela, korisnik e moi obeleiti, tj. na neki
nain zapamtiti, share-ovati i tako dalje.

4.2 UML
UML (Unified Modeling Language) predstavlja standardan jezik za specificiranje,
vizualizaciju, konstruisanje i dokumentovanje delova softverskog sistema, kao i za
poslovno modelovanje i druge sisteme. UML predstavlja kolekciju najboljih

inenjerskih znanja koja su se uspeno pokazala u modelovanju velikih i kompleksnih


sistema. Primena UML-a pomae u ostvarivanju sledeih zadataka:
specifikaciji
vizualizaciji
projektovanju arhitekture
razvoju
simulaciji i testiranju
izradi dokumentacije
Za nau aplikaciju emo vam predstaviti tri dijagrama: Dijagram sluajeva upotrebe,
Dijagram aktivnosti, Dijagram sekvenci.
- Dijagram slucajeva upotrebe (Use case diagram )
Je dijagram ponaanja koji pokazuje korisnike funkcije. Dijagram sluajeva upotrebe
prikazuje sistemima karakteristike sa korisnike take gledita. Za razvojni sistem
sluaj korisnika je vazan alat to je oprobana i tana tehnika za sistem sa zahtevima
korisnike take gledita. Prikupljavi informacije sa korisnike ztake gledita je
vano ako je cilj izgradnje je sistem koji koristi narod.
- Dijagram stanja (State Diagram)
Dijagrami stanja se koriste za opisivanje ponaanja sistema. Oni mogu da opiu mogua
stanja objekta kako se dogaaji pojavljuju. Svaki dijagram obino predstavlja objekte
jedne klase i prati razliita stanja tih objekata kroz sistem.Dijagram stanja se moe
upotrebiti da grafiki predstavi automate konanih stanja. Drugi mogui nain
predstavljanja je preko tabele promene stanja.
-

Dijagram sekvenci (Sequence Diagram)

Dijagram sekvence predstavlja interakciju izmeu objekata u sistemu, pri emu se


uzima u obzir i vremenska dimenzija. U vedini sluajeva dijagram sekvence se koristi
za predstavljanje realizacije usecase dijagrama. Elementi dijagrama su objekti
(predstavljeni pravougaonikom), poruke (prikazane strelicama) i vreme (prikazano
vertikalnom isprekidanom linijom).

4.2.1

Dijagram sluajeva upotrebe

Kod nae aplikacije dijagram sluajeva upotrebe slui kao sporazum izmeu korisnika i
developera gde korisnik ocenjuje da li aplikacija izgleda onako kako je on to oekivao.
Sastoji se od aktera (uesnika) i sluajeva korienja.
Svaki sluaj korienja se detaljno opisuje, prikazujui korak po korak kakva je
interakcija sistema sa akterima i ta sistem radi u sluajevima korienja.
Razvoj dijagrama sluajeva korienja definie se sledeim aktivnostima:
Definisanjem uesnika
Definisanjem sluajeva korienja (upotrebe)
Definisanjem tipova veza izmeu uesnika i sluajeva korienja
Izradom dijagrama sluajeva korienja

Dijagram 3: Osnovni Use Case dijagram

Osnovni oblik sluajeva upotrebe aplikacije je da korisniku omogui to lake


snalaenje na geografskom prostoru gde se nalazi. Da bi to omoguili, analizirali smo
kompletnu situaciju u kojoj se neki korisnik moe nai na nekom mestu. Ono to smo
zapazili je, da su korisnici ovih aplikacija uglavnom nesnalaljivi jer se ne mogu lako
orijentisati na nekom prostoru. Verovatno zbog toga oni i trae odgovarajuu aplikaciju
u kojoj e moi lagodno da se oseaju, tj. da nemaju oseaj izgubljenosti.
Tu nastupamo mi, jer naa aplikacija prua mogunosti svestranog upoznavanja
korisnika sa mestom gde se on trenutno nalazi. Naa fenomenalna aplikacija e
korisniku omoguiti vie funkcija na jednom mestu, od onog osnovnog, upoznavanja sa
mestom gde se nalazi, preko opisa traenih i ponuenih mesta pa sve do preporuka
samih korisnika i legendama o nekim mestima.

FUNKCIONALOST
I

POETNI PRIKAZ

ODABIR
FUNKCIJE

IZVRENJE
FUNKCIJE

AKTER

KORISNIK

KORISNIK

KORISNIK

Uitavanje aplikacije

Prikaz
glavnog
menija aplikacije i
biranje eljene f-je

Izvravanje
fiunkcije
koju
je
korisnik
odabrao
1.Korisnik
pregleda
sadraj
2. tiklira i prikuplja
podatke koji
ga
interesuju

KRATAK OPIS

OSNOVNI KORACI

1-Korisnik
pokree
aplikaciju
2.Klik
Discoverza
dalji rad aplikacije

MOGUI IZUZECI

Izuzetak bi bio mogue


nezadovoljstvo korisnika
Izborom u padajuem
meniju

POSLEDICE

Korisniku se prikazuje
welcome
strana
aplikacije, a nakon
potvrde
aplikacija
oitava meni

Iz
liste
menija
korisnik bira koju
funkciju eli ispitati
Ukoliko za korisnika
ne postoji funkcija
koja mu je potrebna,
moe
napustiti
aplikaciju
Nakon dobijene liste
menija korisnik pravi
odabir
one
funkcije/ikonice
koja ga zanima

Izuzetak ne postoji

Korisnik
dobija
potrebne informacije i
sadraje
koje
ga
interesuju

Tabela funkcionalnosti sva tri nivoa

Kao to se moe videti u datoj tabeli, naa aplikacija izmeu ostalog ima tri najvanija
dela
pretrage.

Dijagram 4: Sluaj upotrebe nivoa poetni prikaz

Prvi deo pretrage je poetni prikaz, tj. samo uitavanje aplikacije koju korisnik
pokree. Pri pokretanju aplikacije, korisniku e se pojaviti naslovna strana sa
pozadinom i logom aplikacije, uz tri opcije odnosno tastera. Prva opcija je opcija
traenja lokacija koja e biti opadajueg tipa i nalazie se na samoj sredini u donjem

delu. Drugi i trei taster e se nalaziti paralelno tik ispod prvog tastera. Jedna e biti za
potvrdu odabrane lokacije, a druga za izlazak iz iste usled pojavljivanje izuzetka. a
pokretanja pretrage, i opcija izlaska ukoliko se pojavi navedeni izuzetak. Ukoliko
postoji lokacija koju je korisnik odabrao, aplikacija napreduje dalje do prikaza menija.

Dijagram 5: Sluaj upotrebe nivoa odabir funkcije

U drugom delu, zvanom prikaz menija korisniku e se pojaviti lista ikonica, tj.
funkcija koje aplikacija poseduje za odreenu lokaciju. Korisnik na osnovu svog
sopstvenog izbora odreuje i ide na odreeni taster. Pak, ukoliko nije zadovoljan
prikazanim ikonicama, moe izai iz aplikacija, na poslednjem napusti aplikaciju
tasteru.

Dijagram 6: Sluaj upotrebe nivoa izvenje funkcije

Trei, i najvaniji deo aplikacije je izvrenje funkcije koju je korisnik odabrao. U


datom delu e biti prikazane sve informacije koje bi korisnika eventualno zanimale,
lista objekata, podataka, preporuka i ostalog, u zavisnosti koju je funkciju korisnik
odabrao. Sve ovo kao to smo ve naveli na poetku, moete videti i u datoj tabeli.

4.2.2 Dijagram stanja


Dijagrami stanja se koriste da bi se opisalo ponaanje sistema. Dijagrami stanja opisuju
sva mogua stanja objekta kako se dese dogaaji. Svaki dijagram obino predstavlja
objekte jedne klase i prate se razliita stanja objekata kroz sistem. Ovi dijagrami
pokazuju koja stanja objekat moe da ima i kako razliiti dogaaji mogu da utiu na ta
stanja tokom vremena.
Dijagrame stanja treba koristiti za klase gde je neophodno da se razume ponaanje
objekta kroz sistem. Ne zahtevaju sve klase dijagrame stanja. Ovi dijagrami se
kombinuju sa dijagramima aktivnosti i dijagramima interakcije. Dijagrami stanja
pojanjavaju ponaanje nekog objekta i kako se to ponaanje menja od stanja do stanja.
Takoe, pokazuje se koji dogaaj menja stanje objekta. Stanje je izraeno preko
vrednosti atributa i veza sa drugim objektima. Na primer, stanje objekta je: Raun
(objekat) je plaen (stanje).
Neki objekat menja stanje kada se neki dogaaj dogodi tj. kada se neto desi. Tu postoje
dve dimenzije energije, interakcija i unutranja promena stanja. Interakcija opisuje
spoljanje ponaanje objekta i u kakvoj je on interakciji sa drugim objektima (slanje
poruke ili povezivanje sa drugim objektima). Unutranja promena stanja opisuje kako
objekat menja stanja, na primer, vrednosti svakog unutranjeg atributa pri razliitim
stanjima. Dijagrami stanja prikazuju kako objekti reaguju na dogaaje i kako oni
menjaju svoje unutranje stanje kao rezultat interakcije. Obino se koriste da prikau
niz stanja u kojima se objekat nalazi tokom ivota, kao i dogaaje koji uzrokuju
prelazak iz jednog u drugo stanje.
Dijagrami stanja obino imaju jedno poetno i jedno ili vie
zavrnih stanja. Stanje je poloaj ili situacija u kojoj se
objekat moe nai tokom svog postojanja, koje zadovoljava neke uslove, izvrava neke
aktivnosti ili eka na nekakav dogaaj.Stanje objekta se normalno menja tokom
vremena. Objekat ostaje u nekom stanju u konanom vremenskom intervalu.
to se tie samih dogaaja, to je radnja koja okida prelazak iz jednog u drugo stanje.
Moe da bude signal, poziv, vremenski period i tako dalje, a prelaz je samo po sebi
promena iz originalnog u sledee stanje kao rezultat nekog stimulansa.

Stanje 1

Stanje 2

Prelaz

Dijagram stanja u naem sluaju ima polaznu taku i dve krajnje take. Poetna taka,
ili poetno stanje, predstavljena je punim krugom, dok su krajnje take ili krajnje stanje
predstavljeno malim punim krugom okruenog velikim praznim krugom. Stanje je
predstavljeno pomou pravougaonika sa zaobljenim ivicama. Promene stanja, ili
tranzicija stanja, je prikazana pomou linije na ijem se kraju nalazi strelica usmerena
od jednog stanja ka drugom. Promena stanja je imenovana svojim razlogom (dogaaj
koji izaziva promenu stanja). Kada se dogaaj dogodi, promena iz jednog stanja u
drugo je ispunjena.
Na datoj emi je prikazana procedura otvaranja aplikacija i izvravanja funkcija
upotrebom dijagrama stanja. Treba napomenuti da na dijagramu postoje dva zavrna
stanja, kada aplikacija nastavlja sa radom i kada korisnik napusti aplikaciju da li zbog
nekog nepravilnog unosa ili zbog toga to mu se ne dopada rad aplikacija, zavisi od
situacije.

Dijagram 7: Dijagram stanja

4.2.3

Dijagram sekvenci

Dijagram sekvence predstavlja interakciju izmeu objekata u sistemu, pri emu se


uzima u obzir i vremenska dimenzija. U veini sluajeva dijagram sekvence se koristi
za predstavljanje realizacije use-case dijagrama. Elementi dijagrama su objekti
(predstavljeni pravougaonikom), poruke (prikazane strelicama) i vreme (prikazano
vertikalnom isprekidanom linijom).
Objekat moe biti naznaen na tri naina:
Samo svojim imenom (imena mogu biti posebna)
Svojim imenom i klasom
Samo imenom klase (anonimni objekat) (koriste se da oznae bilo koji objekat u toj
klasi)
Objekti
Objekti se crtaju s leva na desno i to u redosledu kojim bi dijagram bio najpregledniji,
to znai da nema konkretnog pravila u redosledu. Od objekta na dole povuena je
isprekidana linija koja predstavlja liniju ivota (lifeline). Du linije ivota postoji
pravougaonik koji prikazuje izvrenje operacije za koju je odreeni objekat zaduen.
Duina pravougaonika oznaava duinu trajanja izvravanja. Vreme nije predstavljeno
precizno u nekoj odreenoj jedinici, ved samo daje opti prikaz.
Objekti mogu biti predstavljeni kao klase, kao konkretni objekti neke klase i kao akteri.
Poruke
Pored toga to objekat moe slati poruke drugom objektu, on takoe moe slati i sam
sebi. Poruke su prikazane strelicama koje poinju na liniji ivota jednog objekta, a
zavravaju se na liniji drugog objekta.
Prvi tip poruke je poziv. On predstavlja zahtev poiljaoca da primalac primi poruku i da
izvri zadatu operaciju, s tim da se obino podrazumeva da poiljalac eka da primalac
obavi tu operaciju. Zbog toga to poiljalac eka da primalac obavi zadatu operaciju,
ovaj tip poruke se oznaava kao sinhroni. Tipian sluaj je kada poiljalac oekuje
povratnu poruku od primaoca. Ovaj tip poruke je prikazan strelicom koja ima punu
liniju i obojeni vrh, a simbol za povratnu poruku je strelica sa isprekidanom linijom i
vrhom koji nije obojen (a strelica je otvorena), s tim to se strelica povratne poruke
esto izostavlja.

Na dijagram sekvenci se sastoji od sledeih aktivnosti:


Prva faza-ukljuivanje aplikacije
-Prikaz uitavanja
-Otvaranje naslovne strane
Druga faza-odabir eljene lokacije i objekta
-Odabir jedne lokacije sa liste ponuenih
- Ukoliko je odabir odobren korisnik se prosleuje dalje
-Odabir objekta
Trea faza-prikaz informacija
-Korisniku se prikazuju dostupni podaci o odabranom objektu

Dijagram 8: Dijagram sekvenci

Prilikom aktiviranja korisniku se prikazuje uitavanje aplikacije, kada se zavri


ucitavanje korisniku se prikazje poetni ekran sa mogunou odabira grada. Usled
odabira grada za koji ne postoje uneeni podaci korisniku se pojavljuje greska i vraca se
da ponovo izabere grad ili da napusti aplikaciju.
Kada je odabir odobren korisnik se prosleuje do menija sa tipovima objekata. Korisnik
odabira tip eljenog objekta, nakon toga bie mu predstavljena lista lokacija i imena
objekata.
Ukoliko doe do neke greke, pogresnog odabira ili nedostatka informacija korisniku se
prijavljuje greka i prosledjuje se da ponovo odabere tip objekta. Nakon pravilnog
odabira objekta korisniku se prikazuju informacije.

4.3

Papir prototip
Prikaz na slici broj 2. je samo jedno od
moguih reenja za izgleda nae
aplikacije. Slian prikaz naslovne strane
e sigurno biti, s tim da se moemo
odluiti za varijantu drugih boja. U
gornjem delu prototipa se nalazi logo
grada koji je odabran u padajuem
meniju, u ovom sluaju je to Novi Pazar,
a poto smo se odluili da aplikaciju za
sada uradimo samo za Novi Pazar to e
ujedno i biti logo nae aplikacije. U
nekom drugom sluaju, gde bi u odabiru
postojalo vie gradova, promenom grada
u meniju u vrhu bi se menjao i samo
logo grada.
Na samoj sredini prototipa nalazi se
glavin slogan nae aplikacije, koji je
moe se rei i matovito povezan sa
Discover opcijom kojom se pokree
dalji rad aplikacije. U prevodu
Putovanje od hiljadu milja poinje
samo jednim korakom. Discover
korakom. to navodi korisnika da
klikne Discover dugme.
Slika br. 2

5. Fiziki dizajn
Na slici br. 3. je prikazan finalni dizajn nae
aplikacije. Kao to se moe videti u mnogome smo
se drali osnovne ideje o ovom projektu i ciljeva
koji smo zadali.
Grafiki dizajn se ne razlikuje mnogo od prvobitne
zamisli same poetne stranice koja je prikazana u
pretohodnom delu. Nismo napravili padajuu listu
sa mogunosti odabira grada jer smo se orjentisali
ka tome da cela aplikacija bude o Novom Pazaru pa
prema tome nije bilo potrebe za dodavanjem
ovakvih nepotrebnih opcija aplikaciji. U nastavku
e biti prikazan activity_main.xml fajl ovo stranice.

Slika br. 3

Activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/background1"
tools:context="com.primer.cityguide.MainActivity"
>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="84dp"
android:background="#ff3333"
android:minHeight="40dp"
android:minWidth="120dp"
android:text="@string/button1"
android:textColor="#ffffff"

android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="34dp"
android:gravity="center_vertical|center_horizontal"
android:text="@string/hello_app"
android:textColor="#ff3333"
android:textSize="21sp"
android:textStyle="bold" />
</RelativeLayout>

Na slici br. 4. moe se videti glavni meni nae


aplikaciju sa mogunou odabira jedne od pet
opcija. U ovom delu naa aplikacija se razlikuje
dosta od prvobitne zamisli zbog samog grfikog
dizajna ikonica.
Kao to se moe videti nismo koristili ikonice
koje bi predstavljale neki odreen objekat ve smo
koristili dugmad sa jasno ispisanim nazivom i
monosti za odabir.

Slika br.4

novi_activity.xml fajl
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background2"

android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.primer.cityguide.noviActivity" >
<Button
android:id="@+id/Button01"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
android:layout_marginTop="20dp"
android:background="#ff3333"
android:minHeight="50dp"
android:minWidth="150dp"
android:text="@string/funkcija1"
android:textColor="#ffffff"
android:textSize="18sp"
android:textStyle="bold" />
<Button
android:id="@+id/Button02"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
android:background="#ff3333"
android:minHeight="50dp"
android:minWidth="150dp"
android:text="@string/funkcija02"
android:textColor="#ffffff"
android:textSize="18sp"
android:textStyle="bold" />
<Button
android:id="@+id/Button03"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
android:background="#ff3333"
android:minHeight="50dp"
android:minWidth="150dp"
android:text="@string/funkcija03"
android:textColor="#ffffff"
android:textSize="18sp"
android:textStyle="bold" />

<Button
android:id="@+id/button04"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
android:background="#ff3333"
android:minHeight="50dp"
android:minWidth="150dp"
android:text="@string/funkcija4"

android:textColor="#ffffff"
android:textSize="18sp"
android:textStyle="bold" />
<Button
android:id="@+id/Button05"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:layout_marginBottom="35dp"
android:background="#ff3333"
android:minHeight="50dp"
android:minWidth="150dp"
android:text="@string/funkcija5"
android:textColor="#ffffff"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>