VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA PODNIKATELSKÁ FACULTY OF BUSINESS AND MANAGEMENT
ÚSTAV INFORMATIKY INSTITUTE OF INFORMATICS
VÍCEÚČELOVÁ APLIKACE ZALOŽENÁ NA LOKACI MOBILNÍCH ZAŘÍZENÍ MULTI-PURPOSE TRACKING APPLICATION FOR MOBILE DEVICES
BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS
AUTOR PRÁCE
David Szkuta
AUTHOR
VEDOUCÍ PRÁCE SUPERVISOR
BRNO 2016
Ing. Petr Dydowicz, Ph.D.
Tato verze bakalářské práce je zkrácená (dle Směrnice děkana č. 2/2013). Neobsahuje
identifikaci subjektu, u kterého byla bakalářská práce zpracována (dále jen „dotčený subjekt“) a dále informace, které jsou dle rozhodnutí dotčeného subjektu jeho obchodním tajemstvím či utajovanými informacemi.
Vysoké učení technické v Brně Fakulta podnikatelská
Akademický rok: 2015/2016 Ústav informatiky
ZADÁNÍ BAKALÁŘSKÉ PRÁCE Szkuta David Manažerská informatika (6209R021) Ředitel ústavu Vám v souladu se zákonem č.111/1998 o vysokých školách, Studijním a zkušebním řádem VUT v Brně a Směrnicí děkana pro realizaci bakalářských a magisterských studijních programů zadává bakalářskou práci s názvem: Víceúčelová aplikace založená na lokaci mobilních zařízení v anglickém jazyce: Multi-purpose Tracking Application for Mobile Devices Pokyny pro vypracování: Úvod Vymezení problému a cíle práce Teoretická východiska práce Analýza problému a současné situace Vlastní návrh řešení, přínos práce Závěr Seznam použité literatury
Podle § 60 zákona č. 121/2000 Sb. (autorský zákon) v platném znění, je tato práce "Školním dílem". Využití této práce se řídí právním režimem autorského zákona. Citace povoluje Fakulta podnikatelská Vysokého učení technického v Brně.
Seznam odborné literatury: GARGENTA, M. Learning Android. 1. vyd. Sebastopol, Calif.: O'Reilly, 2011. 245 s. ISBN 14-493-9050-1. LEE, W. Beginning Android application development. Indianapolis, IN: Wiley Pub., 2011. 428 s. Wrox beginning guides. ISBN 978-111-8087-800. MARTIŠEK, D. Algoritmizace a programování v Delphi. 1. vyd. Brno: Littera, 2007. 230 s. ISBN 978-80-85763-37-9. UJBÁNYAI, M. Programujeme pro Android. 1. vyd. Praha: Grada, 2012. 187 s. Průvodce Grada. ISBN 978-80-247-3995-3. VELTE, A., T. VELTE a R. ELSENPETER. Cloud Computing: praktický průvodce. 1. vyd. Brno: Computer Press, 2011. 344 s. ISBN 978-80-251-3333-0.
Vedoucí bakalářské práce: Ing. Petr Dydowicz, Ph.D. Termín odevzdání bakalářské práce je stanoven časovým plánem akademického roku 2015/2016.
L.S.
_______________________________ doc. RNDr. Bedřich Půža, CSc. Ředitel ústavu
_______________________________ doc. Ing. et Ing. Stanislav Škapa, Ph.D. Děkan fakulty
V Brně, dne 29.2.2016
ABSTRAKT Cílem bakalářské práce je navržení mobilní a webové aplikace pro lokalizování osob pomocí mobilních zařízení. Teoretická část práce se zaměřuje na analýzu prostředí
mobilních operačních systémů a současně dostupných lokalizačních aplikací, zatímco při samotném návrhu jsou využívány nástroje datového a funkčního modelování.
ABSTRACT The aim of the bachelor’s thesis is to design a mobile and web application for an accurate localization through a mobile device. Theoretical part is focusing on analyzing mobile
operating systems and existing tracking applications while the actual design is done with data and functional modelling tools.
KLÍČOVÁ SLOVA návrh, mobilní a webová aplikace, DFD diagram, vývojový diagram, ER diagram
KEYWORDS design, mobile and web application, DFD diagram, flowchart, ER diagram
BIBLIOGRAFICKÁ CITACE SZKUTA, David. Víceúčelová mobilní aplikace založená na lokaci mobilních zařízení. Brno: Vysoké učení technické v Brně, Fakulta podnikatelská, 2016. 56 s. Vedoucí práce Ing. Petr Dydowicz, Ph.D.
ČESTNÉ PROHLÁŠENÍ Prohlašuji, že předložená bakalářská práce je původní a zpracoval jsem ji samostatně. Prohlašuji, že citace použitých pramenů je úplná, že jsem ve své práci neporušil autorská
práva (ve smyslu Zákona č. 121/2000 Sb., o právu autorském a o právech souvisejících s právem autorským).
V Brně 3. června 2016
Podpis
PODĚKOVÁNÍ Chtěl bych poděkovat svému vedoucímu Ing. Petru Dydowiczovi, Ph.D. za odborné vedení, cenné rady a připomínky při zpracovávání této práce. Zároveň chci poděkovat také jednateli společnosti XYZ s.r.o., rovněž za jeho připomínky.
OBSAH ÚVOD ............................................................................................................................. 11 1 2
VYMEZENÍ PROBLÉMU A CÍLE PRÁCE ......................................................... 12 TEORETICKÁ VÝCHODISKA PRÁCE .............................................................. 13
Android ............................................................................................................ 13 Java................................................................................................................... 15
Webová aplikace .............................................................................................. 16 HTTP ................................................................................................................ 17 TCP .................................................................................................................. 17
JSON ................................................................................................................ 18
API ................................................................................................................... 18
Databáze ........................................................................................................... 18
Případy užití ..................................................................................................... 20 Diagram toku dat .......................................................................................... 21 Vývojový diagram ........................................................................................ 22 3
SWOT analýza.............................................................................................. 23
ANALÝZA PROBLÉMU A SOUČASNÉ SITUACE .......................................... 24 Podíl mobilních OS na českém trhu ................................................................. 24 Dostupné aplikace ............................................................................................ 25
4
Publikace aplikace ve službě Google Play ....................................................... 29
VLASTNÍ NÁVRHY A ŘEŠENÍ, PŘÍNOS PRÁCE ............................................ 31 Komunikace systému ....................................................................................... 31 Ekonomické zhodnocení .................................................................................. 32
Budoucí vývoj .................................................................................................. 33
ZÁVĚR ........................................................................................................................... 34
SEZNAM POUŽITÝCH ZDROJŮ ................................................................................ 35 SEZNAM OBRÁZKŮ .................................................................................................... 40
SEZNAM TABULEK .................................................................................................... 40 SEZNAM GRAFŮ ......................................................................................................... 40
ÚVOD Jako téma své bakalářské práce jsem si zvolil návrh na mobilní aplikace. Konkrétně jde o mobilní aplikaci pro systém Android, avšak mimo mobilní platformy bude aplikace
dostupná také jako webová aplikace. Jejím smyslem bude lokalizace osob pomocí mobilního zařízení a celá práce poslouží jako podklad pro implementační část pro společnost XYZ, s.r.o.
Vytvoření aplikace je motivováno především obavami rodičů o své děti, zejména pokud jsou mimo bezpečí domova, a jejich touhou po tom vědět, kde se právě nachází. Tento problém celkem úspěšně pomáhá odstraňovat stále se vylepšující technika v čele
s rychlým rozvojem a rozšiřováním mobilní techniky. To vše umožňuje kohokoli
kontaktovat, ať je téměř kdekoli, avšak lze se dostat ještě dál. Celý proces je možné zautomatizovat a navíc dostat odpověď téměř okamžitě a bez toho, aby uživatel na druhé straně tuto akci postřehl.
11
1 VYMEZENÍ PROBLÉMU A CÍLE PRÁCE Cílem této práce je navržení mobilní a webové aplikace pro společnost XYZ, s.r.o., která bude sloužit k monitorování pohybu osob na základě jejich mobilních zařízení. Aplikace
bude navrhována pro systém Android a web, přičemž užívání nebude omezeno pro určitou skupinu, avšak počítá se především s rodinami s dětmi.
Před samotným návrhem, který bude stěžejní částí této práce, provedu analýzu současného stavu, abych zjistil, jaké jsou v současnosti dostupná řešení a jakým způsobem navrhovanou aplikaci odlišit od stávajících konkurenčních produktů.
Samotný návrh bude zahrnovat popis funkčnosti a možností aplikace, ke kterým využiji
metody datového a funkčního modelování. Datové modelování poslouží pro návrh
databáze, konkrétně pak ER diagram, pomocí kterého znázorním strukturu tabulek a vazeb mezi nimi. Dále použiji funkční modelování k popisu fungování systému aplikace,
ale také pohybu datových toků v rámci něj. K těmto účelům mi poslouží nástroje jako diagram případu užití, vývojový diagram a diagram toku dat. Na závěr práce provedu ekonomické zhodnocení a přispěji návrhy pro budoucí vývoj aplikace.
12
2 TEORETICKÁ VÝCHODISKA PRÁCE Tato kapitola má představit termíny, které budou dále v práci použity. Jedná se především o popis samotného systému Android, databází a použitých modelovacích nástrojů.
Android
Android je open source platforma určená pro mobilní zařízení, což znamená, že kdokoli
má přístup k téměř všem zdrojovým kódům tvořící jednotlivé prvky této platformy jako jsou frameworky, zásobníky, knihovny atd. Samotné jádro této platformy je založeno na
Linuxu, díky čemuž podléhá licencím společností Apache, MIT a BSD, což má za následek možnost volně šířit tento operační systém [18].
Otevřenost platformy umožňuje výrobcům mobilních zařízení přizpůsobit tento systém přesně podle jejich požadavků na všechny zařízení jejich portfolia. To je zřejmě důvod, proč většina výrobců volí právě Android jako operační systém pro své zařízení. Zároveň
se jedná o první otevřenou platformu, která odděluje software daného zařízení a jeho
hardware, což má za následek běh stejných aplikací na celém spektru zařízení různých výrobců [18].
Vlastníkem platformy je společnost Google, která se spolu s uskupením Open Handset Alliance1 (dále jen OHA) podílí na jejím vývoji [18]. Historie
V této kapitole bych chtěl zmínit nejvýznamnější milníky v souvislosti s operačním systémem Android.
Významné milníky [18]:
Vše začalo v roce 2005, kdy společnost Google koupila společnost Android.
V roce 2007 vzniklo uskupení OHA a současně bylo oficiálně oznámeno, že platforma je open source.
Jedná se o uskupení 84 technologických společností, jejichž účelem je „společně zrychlit inovaci mobilních zařízení a nabídnout zákazníkům bohatší, levnější a lepší zážitek z mobilních zařízení.“ Do uskupení spadají společnosti jako ASUS, DELL, eBay, Google, HTC, Huawei, Intel, NVIDIA, Samsung nebo Qualcomm [43]. 1
13
V roce 2008 vyšla první verze Android SDK, verze 1.0 a společnost T-Mobile USA začala prodávat první telefon s tímto systémem s označením G1, který byl vyroben firmou HTC.
V roce 2010 se Android stal druhým nejprodávanějším mobilním OS, zároveň byla vydána verze Froyo (Android 2.2), která byla provozována na více než šedesáti zařízeních.
Již o rok později, v roce 2011, se Android dostal na první místo mezi prodeji a počtem aktivací mobilních OS.
Přehled verzí systému
Tabulka č. 1: Přehled verzí systému Android (Upraveno dle [18] a [19])
Verze
Název
4.0.3 – 4.0.4
Ice Cream Sandwich
4.0 – 4.0.2 4.1 4.2 4.3 4.4 4.4 5.0 5.1 6.0
Ice Cream Sandwich
API úroveň
Jelly Bean Jelly Bean
14 15 16 17
Jelly Bean
18
KitKat
KitKat (podpora zařízení typu wearable) Lollipop Lollipop
19 20 21 22
Marshmallow
23
Vývojové prostředí aplikací
Jako výchozí nástroje pro tvorbu aplikací na platformu můžeme označit programovací
jazyk Java, jenž je nejpopulárnějším jazykem pro tvorbu Android aplikací, a Android Studio, včetně Android Software Development Kit (zkráceně SDK). Avšak kód v jazyku
Java musí být kompilován jinak než je tomu na desktopových systémech, kde je možno pracovat se soubory typu .jar nebo .class, proto Android SDK poskytuje nástroje pro
tvorbu aplikací, které kód zkompilují do formátu kompatibilním s Android zařízeními. Celé vývojové prostředí Android SDK je složeno z několika částí [18]:
SDK platforma – obsahuje jednu pro každou verzi Androidu. SDK nástroje – nástroje pro testování a ladění. 14
Ukázkové aplikace – poskytují ukázky aplikací, včetně kódu.
Android podpora – API, které nejsou dostupné pro standardní platformy.
Dokumentace – offline API dokumentace.
Google Play fakturace – integrace fakturačních služeb do aplikací.
Kromě Javy, jež má na starost funkční stránku aplikace je k vývoji využíván také značkovací jazyk XML (Extensible Markup Language), který slouží k definování vzhledu jednotlivých obrazovek aplikace [17], [18].
Android Studio (dále AS) je neplacený software sloužící k vývoji aplikací pro tuto platformu a současně obsahuje aktuální SDK nástroje a emulační nástroje. AS je speciální
verzí vývojového softwaru pro Javu jménem IntelliJ IDEA, jenž je produktem společnosti JetBrains [18], [19].
Kromě možností výchozích je dostupných také několik alternativ jak pro vývojové
prostředí, tak pro jazyk, ve kterém bude aplikace napsána. Mezi další jazyky pro tvorbu
aplikací můžeme zařadit C# nebo C++ a co se týče vývojového prostředí, tak AS lze nahradit například Eclipse IDE s doplňky nebo Visual Studiem [18], [20]. Distribuce aplikací
Výchozím nástrojem pro distribuci aplikací pro platformu Android je služba Google Play, která je provozována samotným Googlem. Služba je předinstalována na většině
dostupných zařízení s lokální podporou. Služby obchodu jsou dostupné každému kdo má Google účet, žije v zemi se shovívavými distribučními podmínkami, souhlasí s podmínkami obchodu a zaplatí jednorázový poplatek ve výši $ 25.00 [14], [18].
Java
Java je nativním programovacím jazykem pro platformu Android. Jde o objektově
orientovaný programovací jazyk, jehož počátky sahají až do roku 1991, kdy byla vyvinuta společností Sun Microsystems. Syntaxe tohoto jazyka byla zděděna z jazyka C a
objektový model naopak z C++. Java úzce souvisela se vzestupem Internetu, protože
15
přinesla zjednodušení webového programování, zavedla aplet2, přenositelnost a bezpečnost [21].
Přenositelnost a bezpečnost jazyka je dosaženo díky bajtovému kódu (bytecode), jenž
tvoří výstup kompilátoru. BK je optimalizovaná sada instrukcí, který má za úkol provádět běhový systém Javy, jenž se nazývá virtuálním strojem Javy (Java Virtual Machine) [21].
Webová aplikace
V této části popíši prostředky pro tvorbu webové aplikace. HTML
HyperText Markup Lnaguage (HTML) je celý název pro značkovací jazyk, jehož první
verze se objevila v roce 1990. Základním prvkem HTML jsou elementy, s jejichž pomocí lze vytvářet, formátovat nebo upravovat webové stránky. Typickým prvkem jazyka HTML jsou tzv. tagy [22], [23].
HTML je základním prvkem stránek, pomocí nějž lze definovat rozložení stránky, zobrazovat napsaný text nebo vložený obrázek, vytvářet formuláře a tabulky, vkládat odkazy a definovat základní vzhled stránek [22], [23]. CSS
Cascading Style Sheets (= kaskádové styly, CSS) jedná se o doplňkový jazyk k jazyku
HTML. Jeho úkolem je definice způsobu zobrazení stránky a tím oddělení vzhledu od struktury a obsahu. Kód jazyku CSS může být součástí HTML dokumentu nebo samotného souboru *.css [24], [25]. PHP
PHP je skriptovací programovací jazyk určen pro vývoj dynamických webových stránek a aplikací, přičemž jeho první verze vyšla v roce 1995. PHP je prováděn na serveru a jeho výsledek je zobrazen pomocí jazyka HTML [26], [27].
Aplet je speciálním druhem programu, který umožňuje přenos přes Internet a automatické spouštění těchto programů v rámci webového prohlížeče [21]. 2
16
Kód jazyka PHP může být součástí HTML souboru nebo jej lze psát v jeho vlastním souboru *.php. Nejčastější příkladem využití PHP je propojení databáze s webovými stránkami [26], [27]. JavaScript
JavaScript je podobně jako PHP také objektově orientovaný skriptovací jazyk určený pro
tvorbu webových stránek, avšak na rozdíl od něj je vykonáván na straně klienta, nikoli
serveru. JavaScript vychází z programovacích jazyků C a Java a v rámci webových stránek slouží k práci s interaktivními prvky, jako jsou tlačítka, formuláře nebo textová pole. JavaScript je možné psát jak v externím souboru *.js, tak přímo do HTML souboru [27], [28].
AJAX
AJAX (Asynchronous JavaScript and XML) je sadou technologií, které umožňují měnit obsah stránek bez nutnosti jejich obnovování. To vše zajišťuje komunikace se serverem pomocí protokolu HTTP resp. jeho metody POST a GET, které mohou data předávat běžným způsobem, ale také formáty jako XML nebo JSON [22], [31].
HTTP
HTTP (Hypertext Transfer Protocol) je protokol aplikační úrovně sloužící pro přenos dat
a fungující na principu dotaz (request) a odpověď (respone). Protokol byl poprvé použit již v roce 1990. Každý požadavek zaslaný klientem musí mít určenou metodu, podle které server pozná, jak jej zpracovat. Nejvyužívanějšími metodami jsou [29]:
GET – jde o požadavek na data, která jsou určena identifikátorem. POST – jde o požadavek, který je doplněn o další informace.
Pro přenos dat je nejčastěji používaná komunikace pomocí protokolu TCP [29].
TCP
TCP (Transmisson Control Protocol) je spojově orientovaný protokol, který vytváří
spojení, pomocí nějž následně přenáší data. TCP se vyznačuje tím, že doručování dat je spolehlivé a také vždy dorazí ve správném pořadí [30].
17
JSON
JavaScript Object Notation (JSON) je textový dokument sloužící pro předávání údajů
mezi serverem a například JavaScriptem nebo mobilní aplikací. Obsahem JSON dokumentu jsou strukturované údaje, které jsou čitelné pro uživatele i počítač. Informace
obsažené v tomto dokumentu mohou být typu String, Boolean, Array, Object, Number a NULL [31], [32].
API
API (Application Programming Interface) je rozhraní pro programování aplikací a jedná se o balík procedur, funkcí nebo tříd určité knihovny. Zároveň určuje také způsob, jakým se funkce knihovny mají volat ze zdrojového kódu programu [33]. Google Maps API
Google Maps API je služba pro práci s mapovými podklady od společnosti Google a je
dostupná na Android, iOS, web a webové služby. Každá z verzí má ve své nabídce
dostupné portfolio dalších služeb jako Places (našeptávač pro vyhledávání míst) nebo Geocoding (vyhledávání pomocí souřadnic) [34].
Ať si vývojář zvolí kteroukoli z dostupných platforem, vždy bude mít na výběr standard
nebo premium verzi. Standard verze je určená pro volně přístupný projekt zdarma, přičemž doplňkové služby jsou od určitého počtu požadavků placeny. Premium verze je
určena pro komerční projekty a je placená již od základu a výše nákladů je odvozena od očekávaného provozu [34].
Implementace je pro každou z platforem v nativním jazyce a pro web slouží skriptovací programovací jazyk JavaScript [34].
Databáze
Definice databáze se mohou lišit v závisti na společnosti, která databázové systémy poskytuje, ale obecně ji lze definovat následovně [35].
„Databáze je kolekce vzájemně souvisejících položek, které jsou spravovány jako jediná jednotka.“ [35, s. 9]
Databáze je zjednodušený název pro systému řízení báze dat (SŘBD), jenž má za úkol správu, údržbu a uspořádání databáze [35].
18
Tabulky
Jedná se o hlavní jednotku pro ukládání dat v relační databázi. Tabulka neboli relace má
dva rozměry a je tvořena řádky a sloupci. Každá tabulka představuje entitu (například uživatel, věc, místo) a každý řádek, pak právě jeden výskyt této entity [35], [36].
Tabulky jsou ve většině případů spojeny pomocí relačních vazeb, ovšem každá z tabulek může existovat i samostatně, ale v tom případě relační databáze postrádá smysl [35].
Obrázek č. 1: Relace z pohledu teorie relací (Upraveno dle [36])
Atribut
Atribut neboli datová položka je atomický údaj, který má svůj datový typ a délku. Datové
typy jsou rozdílné v závislosti na možnostech a výrobci databázového systému, avšak mezi nejčastěji používané datové typy patří například znak (char), číslice (int, double) nebo datum (date, datetime) [36]. Integrita omezení
Integritní omezení pro vztahy entit omezuje kardinalitu vztahu v poměrech:
1:1 – „Vztah 1:1 nám říká, že vždy jedné n-tici relace odpovídá jedna nebo žádná
1:N – „Vztah 1:N nám říká, že vždy jedné n-tici relace odpovídá jedna nebo více
n-tice jiné relace.“ [36, s. 30] n-tic jiné relace.“ [36, s. 31]
19
N:M – „Vztah N:M nám říká, že obecně několika n-ticím relace odpovídá více ntic jiné relace.“ [36, s. 32] Vztah se řeší pomocí dekompozice [37].
Entito-relační diagram
Entito-relační diagram (ERD – Entity-relationship diagram) slouží k vizuálnímu zobrazení tabulek (včetně názvů sloupců a v závislosti na typu diagramu také jejích datového typu) a především relací jednotlivými tabulkami [38].
Případy užití
Účelem případů užití je popsat funkcionalitu a schopnosti systému, nikoli způsob, jak toho dosáhnout [39].
Modelování případů užití se můžeme definovat jako posloupnost těchto aktivit [40]:
Nalezení hranic modelovaného systému.
Nalezení případů užití.
Vyhledání účastníků.
Specifikace případů užití. Tvorba scénářů.
Případ užití
Případ užití lze definovat jako specifikaci posloupností činností, včetně jejich
proměnných a chybových posloupností, které systém, podsystém nebo třída mohou
vykonat prostřednictvím interakce s účastníky. Také je vždy iniciován účastníkem a sepsán z pohledu účastníka [40]. Hranice systému
Určují co je a co není součástí modelovaného systému. Hranice je definována pomocí účastníků systému [36].
Účastníci a aktéři
Za účastníka můžeme označit kohokoli, kdo je v kontaktu s určitou aktivitou, avšak
v některých případech účastníci nemusejí komunikovat přímo se systémem. Účastníky a aktéry můžeme rozdělit na [41]:
20
Primárního aktéra, kterým je účastník využívající služeb systému a má cíl, který
Pomocného (sekundárního) aktéra, který je označován také jako externí aktér a
může splnit systém tím, že provede určitou operaci. jeho úkolem je poskytovat služby systému.
Relace
Relace můžeme označit jako smysluplné vztahy, které jsou navázány mezi účastníky a případy užití [40].
Mimo základní relace můžeme využít také relace vložené a rozšiřující [41]:
Vložený (includes) – vložený případ užití je používán v případě, kdy základní
Rozšiřující (extendes) – „rozšiřuje základní případ použití pojmenováním
případ užití volá název případu užití vloženého.
základního případu použití a okolností, za kterých přeruší základní případ užití.“ [41, s. 237]
Diagram
Grafické symboly případů užití jsou definovány pomocí jazyku UML3. Aktéři jsou zde označeni pomocí postaviček, případ užití je pak zaznamenán pomocí elipsy a hranice je znázorněna pomocí obdélníku, v němž jsou obsaženy všechny elipsy a relace [40].
Relace mohou být mezi aktérem a případem užití, která je znázorněna plnou čarou nebo mezi případy užití, které jsou znázorněny pomocí přerušovaných čar, které jsou navíc
doplněny o popis <
> nebo <<extend>> podle toho, o jaký typ relace se jedná [40].
Diagram toku dat
Diagram toku dat (DFD – Data Flow Diagram) jedná se o jednu z nejpoužívanějších
nástrojů pro funkční modelování a je možné jej kreslit na různých rozlišovacích úrovních [36].
Při vytváření DFD diagramu se využívají následující prvky [36]:
„Jazyk UML (Unified Modeling Language, unifikovaný modelovací jazyk) je univerzální jazyk pro vizuální modelování systémů.“ [40] 3
21
Proces – je činností, případně transformací vstupních dat na data výstupní. Jeho
Externí entita – jedná se o objekt, jenž se nachází v okolí systému, a s kterou
název by měl vystihovat podstatu transformace. proces komunikuje.
Uložení dat, datová paměť – může mít podobu datového souboru, dokladu nebo
sestavy. Má pasivní povahu a slouží pro uložení dat, která se zpracovávají později. Pojmenovaný datový tok – reprezentuje přesun dat mezi částmi systému.
Diagram
K tvorbě diagramu použiji symboly notace Yourdon and Coad (viz. Obrázek č.3) [36]. Proces
Externí entita
Datový tok
Uložení dat
Obrázek č. 2: Diagram DFD (Upraveno dle [36])
Vývojový diagram
Patří mezi nejvyužívanější diagramy, přičemž jeho hlavní výhodou je zachycení větvení v závislosti na plnění nebo neplnění stanovených podmínek [36]. Diagram
Vývojový diagram používá následující symboly.
Proces
Rozhodnutí
Podproces
Vstup
Start/Konec
Databáze
Obrázek č. 3: Vývojový diagram (Upraveno dle [36])
22
SWOT analýza
SWOT je nejvyužívanější nástroj analýzy. Úkolem tohoto analytického nástroje je posouzení faktorů ze čtyř odlišných pohledů, podle kterých se také graficky znázorňuje:
silné stránky (Strenghts) – interní faktor,
příležitosti (Opportunites) – externí faktor,
slabé stránky (Weaknesses) – interní faktor, hrozby (Threats) – externí faktor.
Interní faktory můžeme sami ovlivňovat, zatímco faktorům externím se musíme co nejlépe přizpůsobit [42].
23
3 ANALÝZA PROBLÉMU A SOUČASNÉ SITUACE Cílem této kapitoly je představení společnosti a analýza současně dostupných aplikací spolu s podmínkami pro publikovaní aplikace ve službě Google Play.
Podíl mobilních OS na českém trhu
Každý trh je specifický, proto jsem jako vstupní data pro zmapování situace v tuzemském
prostředí zvolil ta, která byla poskytnuta operátory fungujícím na našem trhu. Jmenovitě jde o společnosti O2, T-Mobile a Vodafone. Pro každého, kdo sleduje dění okolo moderních technologií není žádným překvapením, že ve všech třech případech dosáhl
operační systém Android největšího podílu. Jeho podíl napříč je obrovský, což znamená téměř tří čtvrtin u každého z nich, díky čemu jej můžeme prohlásit jako nejpoužívanější
operační systém na mobilních telefonech na českém trhu. Celkové druhé místo zaujal iOS, který v celkovém průměru předehnal Symbian jen o 1,31%, přičemž více zákazníků operátora T-Mobile dokonce dává přednost Symbianu před iOS. Asi největším
překvapením bylo třetí místo v podobě Symbianu, který byl v celkovém podílu v těsném kontaktu s iOS. Symbian je překvapením především proto, že poslední telefony s tímto OS byly vyexpedovány už v roce 2013. Následoval Windows Phone s celkovým
průměrem 6,16%, kde se podíl u jednotlivých operátorů pohyboval od cca 5,5% po 7%. Poslední dvě místa zaujímají BlackBerry OS a souhrn všech ostatních operačních systému, jenž celkově dělilo jen 0,20% ve prospěch BlackBerry OS. U společnosti
Vodafone předčil souhrn ostatních operačních systémů BlackBerry OS o téměř 1% [1], [2].
V přibližně stejném období měl nejvíce zákazníků na českém trhu T-Mobile, přibližně 6,6 milionů, následuje O2 s cca 5 miliony zákazníků. Třetím do počtu je Vodafone s 3,3 miliony zákazníků. Důležité je uvědomit si, že všichni zákazníci tuzemských operátorů
nevyužívají jen chytré mobilní telefony, ale také telefony bez jakéhokoliv operačního
systému. V našich podmínkách disponuje chytrým telefonem pouze třetina lidí, konkrétně 31%, což je v porovnání s evropským průměrem (53%) nebo některými evropskými zeměmi jako Švédsko (78%) nebo Velká Británie (64%), není chvályhodný výsledek.
Pokud vezeme v potaz všechna zmíněná data dostaneme se na hrubý odhad 3 321 845 potencionálních zákazníků v tuzemsku [3], [4], [5].
24
80
Podíl mobilních OS na českém trhu
70 60
Hodnota v %
50 40 30 20 10
Android
0
iOS
O2
T-Mobile
Vodafona
Celkem
9
9,5
13,39
10,63
7
6
5,47
6,16
0,5
1,47
73
Symbian
8
Windows Phone BlackBerry OS
8,98
1
1 iOS
70,11
11
2
Ostatní
Android
72
Symbian
0,58
Operátoři
Windows Phone
BlackBerry OS
71,7 9,32 1,19 0,99
Ostatní
Graf č. 1: Podíl mobilních OS na českém trhu (Zdroj [1])
Dostupné aplikace
Aplikace zamýšleného formátu se ve službě Google Play již nacházejí, proto jsem se
rozhodl vybrat pět kandidátů podle toho, jak mi je doporučil samotný vyhledávač v tomto
obchodu s aplikacemi a také podle oblíbenosti (počtu stažení) mezi uživateli. Zmíněné informace o aplikacích vycházejí z jejich popisu na stránkách obchodu, případně jejich webových stránek a také přímo ze zmíněných aplikací. Každá aplikace má shodnou
základní sadu funkcí, jejichž středobodem je sledování okruhu rodiny, přátel, zaměstnanců a dalších v reálném čase.
Family locator - GPS Tracker
Aplikaci Family locator - GPS Tracker je podle slov jeho vývojářů, společnosti Sygic, nejspolehlivější a nejpřesnější aplikací tohoto typu. V základní bezplatné verzi aplikace umožňuje sledovat polohu ostatních uživatelů v aktuálním čase, SOS tlačítko pro 25
kontaktování všech členů rodiny, zasílat bezplatných zpráv, správu a případné upozornění
při vstupu a opuštění zóny. Prémiová placená varianta navíc umožňuje zaznamenávat až sedmidenní historii pohybu a spravovat a monitorovat neomezený počet zón [6], [7].
Obrázek č. 4: Family locator – GPS tracker a Rodinný lokátor – Life 360 (Zdroj vlastní)
Rodinný lokátor – Life360
Název výrobce aplikace Rodinný lokátor – Life360 je uveden přímo v jejím názvu – Life360. Bezplatná základní verze umožňuje sledovat dvě zóny, zasílat zprávy mezi uživateli, potvrzovat dosažení určitého místa a „Panic Alert“ tlačítko (SOS tlačítko), které
kontaktuje všechny přátele o Vaší poloze a Check-in tlačítko pro manuální oznámení o dosažení místa. Premium verze kromě funkcí ze základní verze umožňuje také sledovat „hloupé“ telefony, nabízí neomezený počet sledovaných zón, stopování ztraceného telefonu (jen USA) a telefonickou podporu [8], [9].
26
Sledování s GPS
Aplikace od vývojářů Family Safety Production, jejímž současným provozovatelem je Life 360, disponuje podobnými funkcemi jako obě aplikace předchozí. Rovněž je
rozdělena na základní bezplatnou verzi, která je prakticky shodná s produktem Rodinný lokátor – Life 360, takže zde najdeme sledování dvou zón, chat mezi příslušníky kruhu, „Panic Alert“ a Check-in tlačítka, tvorbu seznamu a připomínek. Pokud základní funkcionalita nedostačuje je i zde možnost si připlatit za prémiovou zahrnující neomezený počet zón, ochranu ukradeného telefonu (jen USA) a ukládání záznamů o pohybu. Jedná se prakticky o shodnou aplikaci jako Rodinný lokátor – Life 360, avšak nenabízí takový výčet funkcí, obzvláště v placené verzi [10].
Obrázek č. 5: Sledování s GPS a Family Locator & Messaging (Zdroj vlastní)
Family Locartor & Messaging
Jde o aplikaci vývojářů FAMILIO, která je jako jedna ze dvou aplikací zcela zdarma.
Nemusí se tedy rozlišovat, zda jsou dané funkce dostupné jen pro bezplatnou verzi nebo 27
je-li nutné si za ně připlatit. Produkt poskytuje jako obvykle sledování polohy v reálném
čase, dále sledování libovolného počtu zón, chat s dalšími uživateli aplikace a „Panic
Button“ pro nouzové informování přátel. Největší výhoda aplikace je zmiňovaný fakt, že
je dostupná zcela zdarma. Jako u předešlých jsem ani u této nenarazil na zásadní problém, který by omezoval její funkčnost [11], [12].
Obrázek č. 6: Rodinný lokátor (Zdroj vlastní)
Rodinný lokátor
Na závěr tohoto výběru je zde aplikace vytvořena společností TWT Digital Ltda. Jako jediná mezi zde zmiňovanými aplikacemi má k dispozici sledování nejen přes samotnou
aplikaci, ale také pomocí webového rozhraní a je dostupná zcela zdarma. Aplikace umožňuje sledovat zařízení ostatních rodinných příslušníků, zasílání zprávy, sledování
rychlosti pohybu (překročení povelené rychlosti při jízdě automobilem), správu zón a agendy a „Panic Alert“. Navzdory kladného hodnocení a komentářů v obchodě Google
Play se mi aplikaci jevila jako nejhorší ze všech zmiňovaných, jak do funkčnosti, tak kvality služeb.[13].
28
Přehled a porovnání dostupných aplikací Tabulka č. 2: Přehled aplikací (Zdroj [7], [8], [9], [10], [11] a [12]) Family locator - GPS Tracker
Platformy
s GPS
lokátor
Life360 Android, iOS,
Family
Locator &
Messaging
Rodinný lokátor
Windows
Android
Android, iOS
Android, iOS
1M – 5M
10M – 50M
10M – 50M
500K – 1M
1M – 5M
hodnocení
4,0
4,4
4,3
4,0
4,2
Základní cena
Zdarma
Zdarma
Zdarma
Zdarma
Zdarma
Premium
---
$ 4.99
$ 4.99
Zdarma
Zdarma
Premium
344, 24 Kč
$ 49.99
$ 49.99
Zdarma
Zdarma
Premium
419, 00 Kč
---
---
Zdarma
Zdarma
Webové
Ne
Ano
Ano
Ne
Ano
Ano
Ne
Ne
Ne
Ne
Ano
Ne
Ne
Ano
Ano
Počet instalací Google Play Průměrné
Google Play
měsíčně ročně
doživotně rozhraní Česká
lokalizace Podpora tabletů
Android, iOS
Sledování
Rodinný
Phone
Publikace aplikace ve službě Google Play
Služba Google Play slouží k distribuci především aplikací a her, ale také multimediálního obsahu výhradně pro platformu Android. Chce-li tedy vývojář oficiálně distribuovat aplikaci nebo hru pro Android je nucen použít právě tuto službu. S největší
pravděpodobností každý uživatel zařízení s Androidem přišel do styku právě s touto 29
službou, ovšem málo kdo do této služby nahlédl také z její druhé strany, což je Google
Play Developer Console (dále jen GPDC). GPDC je službou pro vývojáře, která zajišťuje kompletní servis pro aplikaci [14].
Podmínky registrace do služby Google Play Developer Console
Podmínek pro registraci do vývojářské služby GPDC je hned několik. Pro registraci do služby musí vývojář disponovat účtem na Googlu, sídlit v lokalitě, která spadá do
seznamu zemí, kde lze distribuovat a prodávat aplikace, souhlasit s distribučními podmínkami a na závěr zaplatit jednorázový poplatek $ 25.00 [14]. Správa aplikace pomocí Google Play Developer Console
Po nahrání aplikace v požadovaném formátu APK musí vývojář svou aplikaci publikovat,
přičemž také Google po vzoru App Storu od Applu zvolil ruční kontrolu každé z nahraných aplikací, což platí také pro nahrání aktualizací aplikace. Na závěr je potřeba zvolit nastavení distribuce, což zahrnuje rozhodnutí o ceně aplikace, země, kde bude
aplikace dostupná a informace o tom zda se v aplikaci vyskytuje nějaká reklama a případně jakou má daná reklama podobu [15], [16].
Aby však tento proces proběhl bezchybně, je potřeba respektovat zásady dané provozovatelem služby Google Play a vyvarovat se v obsahu aplikace například
otevřenému sexuálnímu obsahu, šikaně a násilí, projevům nenávisti nebo nezákonné činnosti.
Po úspěšné publikaci a distribuci aplikace se vývojáři zpřístupní další užitečný nástroj
sloužící k sledování statistik týkajících se provozu aplikace. Vývojář díky tomu může
pohodlně sledovat vývoj jeho aplikace pomocí přehledů, informacích o prodejích a
platbách, zobrazeních hodnocení a recenzí uživatelů aplikace nebo hlášeních o chybách
aplikace. Vývojář má rovněž možnost integrovat službu Google Analytics, která poskytuje ještě detailnější informace plynoucí z provozu aplikace [15].
30
4 VLASTNÍ NÁVRHY A ŘEŠENÍ, PŘÍNOS PRÁCE V této kapitole se zaměřím na samotné zpracovávání návrhu. Jak již bylo zmíněno
v cílech práce, tak v této kapitole využiji především nástrojů datového, což bude první
částí této kapitoly, a funkčního malování, které poslouží pro znázornění funkčnosti aplikace, jimž se bude zabývat druhá část kapitoly.
Komunikace systému
Komunikace bude probíhat mezi serverem a klientem v podobě mobilní aplikace nebo
webové aplikace. Server můžeme označit jako centrální prvek, který bude sloužit pro uchovávání všech údajů. Pro zasílání a vyžádání informací budou sloužit metody GET a
POST protokolu HTTP, který je přenášen pomocí TCP protokolu. Pomocí těchto metod si klient zadá požadavek na konkrétní adresu, představující konkrétní metodu, kdy jsou parametry přímo obsahem této adresy nebo může posílat soubory JSON se svými požadavky. Následně je vrácen soubor formátu JSON obsahující požadované informace. Server
Úlohou serveru bude komunikace s klienty a správa databáze. Server bude využívat technologii PHP. Klient
Pro klienta bude použita jiná technologie jak na mobilním zařízení, tak webovém
rozhraní. Pro mobilní aplikaci bude použit programovací jazyk Java, který je nativním
jazykem pro systém Android. Na rozdíl od mobilní aplikace bude webový klient postaven rovnou na několika různých technologiích jako PHP, JavaScriptem a AJAXem. Tyto technologie budou dále doplněny o HTML a CSS.
Rozdíl mezi klienty je zároveň také v časových intervalech, kdy komunikují se serverem.
Zatím, co klient v podobě webového prohlížeče si komunikaci může udržovat prakticky nepřetržitě, mobilní telefon je svázán možnostmi připojení a baterií, proto nelze připojení udržovat stále.
Práce s JSON
Aby server nebo zařízení mohlo pracovat s daty přenášenými v souboru JSON (případně
XML) je nutné tyto data tzv. parsovat. Na straně serveru se o kódování a dekódování stará 31
PHP, které pro kódování do souboru JSON používá funkci json_encode, zatím co pro dekódování json_decode. V prostředí Androidu slouží pro práci s JSON soubory objekt
JSONObject. Následně je možné obsah souboru nahrát do pole pomocí objektu
JSONArray a metody getJSONArray nebo získávat data podle jednotlivých datových typů jako boolean (getBoolean), integer (getInteger), string (getString) a další. Pro vytvoření
se rovněž využívá JSONObject a pro přidání údajů do vytvořeného objektu využijeme metodu put. V prostředí webové aplikace se operace parsování bude provádět pomocí funkce JSON.parse, k opačnému postupu pak docílíme použitím funkce JSON.stringify.
Ekonomické zhodnocení
V této podkapitole zhodnotím práci z hlediska ekonomického a přínosů práce. Náklady
V současné chvíli je složité hodnotit celkové náklady na aplikaci, protože tato práce je
pouze prvním krokem. K celkovým nákladům je pak potřeba připočíst zejména implementační náklady, které budou časově i finančně mnohem náročnější.
Kromě nákladů na vývoj aplikace budou společnost vznikat také náklady na provoz
aplikace, což znamená především náklady na Google Maps API, webový prostor, který bude využívat webová aplikace, server a databáze, a na závěr náklady na dodatečné
služby. Především z důvodu využití Google Maps API, kde jsou náklady vysoce individuální a vypočítávají se pro každý projekt zvlášť, a ostatních služeb, kde jsou náklady odvozeny od frekvence využívání jejich služeb. Přínosy
Hlavním přínosem pro společnost XYZ, s.r.o. spočívá v tom, že tato práce poslouží jako podklad pro implementační část samotné aplikace, přičemž hlavní funkčností aplikace bude získávat data o poloze vybraných uživatelů, jako již dostupné aplikace v obchodech
s nimi. Avšak na rozdíl od nich je doplněna o dodatečnou funkcionalitu, která by ji měla poskytnout výhodu nad konkurenčními aplikacemi.
Aplikace má za úkol generovat zisk čehož by měla dosahovat především pomocí placených tarifů, jejichž ceny by byly stanoveny podle počtu uživatelů a administrátorů nebo v případě bezplatných tarifů, by zisk mohl generovat pomocí reklam v aplikaci.
32
Absolutní hodnoty bohužel nelze v současné době odhadovat, jelikož první data o aplikaci budou dostupná až první měsíce po jejím vypuštění na trh.
Budoucí vývoj
Dalším možným krokem by byla spolupráce s českými operátory, což by umožňovalo
sledovat zařízení, aniž by muselo mít přístup k internetu nebo zapnutý GPS modul. Avšak jedná se o velice diskutabilní návrh, jelikož jde o citlivé údaje zákazníků.
Zároveň se také nabízí rozšíření na další mobilní platformy, konkrétně iOS a Windows Phone (dále jen WP). Pro iOS jsou podmínky mnohem snazší, jelikož Google poskytuje
Google Maps API také pro tuto platformu. Jedinou podmínkou je přepsání do nativního
jazyku, které zařízení s iOS používají, což je Swift nebo Objective-C. Na WP je pozice mnohem komplikovanější, protože by se zde musely použít jiné mapové podklady jako
například HERE mapy, což by znamenalo zvýšení nákladů a vzhledem k situaci, v jaké se WP nachází, se nejedná o jistou investici. Samotná expanze by znamenala další zvýšení
nákladů na portaci a v důsledku rozšíření také náklady na Google Maps API, případně HERE mapy, a dalších služeb.
V úvahu je také možnost rozšířit aplikace do ostatních zemí mimo Českou Republiku, čehož je možno docílit za minimální náklady. Na Google Play je potřeba povolit další země k distribuci aplikace a případně vytvořit soubor s textovými řetězci pro danou zemi.
33
ZÁVĚR Cílem této bakalářské práce bylo navržení mobilní aplikace pro monitorování polohy osob pomocí mobilních zařízení na základě požadavku společnosti XYZ, s.r.o. Aplikace
byla navržena pro mobilní platformu Android a jako webová aplikace spolu s funkcí serveru.
Ve východiscích práce jsem se věnoval teoretickým poznatkům a pojmům, které jsem
následně využíval ve dvou dále navazujících kapitolách. Jednalo se především o popis platformy Android, vývojových nástrojů a nástrojů datového a funkčního modelování, které jsem použil pro ilustraci jednotlivých procesů aplikace.
Následovala kapitola zaměřená na analýzu současného stavu, kde jsem zanalyzoval stav na poli smatrphonů v tuzemských podmínkách a současně s tímto jsem se také zaměřil na nejstahovanější konkurenční aplikace, které jsou v současnosti dostupné na v obchodu
Google Play. Dále jsem se v rámci této kapitoly zaměřil na podmínky publikace
v obchodě Google Play, provedl SWOT analýzu a na závěr zhodnotil současný stav a v jeho závislosti vymyslel funkci, která pomůže aplikaci odlišit od ostatních nabízených produktů.
Stěžejní kapitolou celé práce byla kapitola, která se zabývala samotným návrhem. Kapitola byla rozdělena na dvě hlavní části. První se zabývala návrhem datové části, což
zahrnovalo návrh databáze spolu s popisem entit, které jsou v rámci databáze využívány.
Druhá část se zabývá popisem funkce aplikace z různých úhlů, k čemuž byly využity nástroje funkčního modelování, konkrétně DFD diagram a vývojový diagram, doplněny o textový popis. Na závěr jsem provedl ekonomické zhodnocení a zamyslel se nad budoucím rozvojem aplikace.
V současné době byl návrh předán firmě XYZ, s.r.o., která jej použije jako podklad pro programátora pověřeného za implementaci aplikace.
34
SEZNAM POUŽITÝCH ZDROJŮ [1]
FAJMON, Martin a Martin PULTZNER. Pravda o podílu iOS a Windows Phone v
Česku (statistiky). Mobilenet.cz [online]. 16. 5. 2015 [cit. 2016-01-24]. Dostupné z: http://mobilenet.cz/clanky/pravda-o-podilu-ios-a-windows-phone-v-ceskustatistiky-19696
[2]
NOVÁK, Adam. Nokia vyexpedovala poslední kusy telefonů s operačním systémem
Symbian. Mobil:
Vše
telekomunikacích [online]. 17.
6.
o
mobilech,
operátorech
2013 [cit. 2016-01-24].
http://mobil.idnes.cz/posledni-nokie-se-symbianem-dpr-
a
Dostupné z:
/mob_nokia.aspx?c=A130614_013106_mob_nokia_ada [3]
LÁSKA, Jan. Operátoři se naučili šetřit, v 1Q 2015 navyšují tržby. MobilMania.cz:
O mobilech víme vše [online]. 13. 5. 2015 [cit. 2016-01-24]. Dostupné z: http://www.mobilmania.cz/clanky/operatori-se-naucili-setrit-v-1q-2015-navysujitrzby/sc-3-a-1330663/default.aspx
[4]
ČTK. Vodafone zvýšil v pololetí počet zákazníků na 3,33 milionu. FinančníNoviny.cz [online]. 27. 8. 2015 [cit. 2016-01-24]. Dostupné z: http://www.financninoviny.cz/zpravy/vodafone-zvysil-v-pololeti-pocetzakazniku-na-3-33-milionu/1251721
[5]
KOCMAN, Rostislav. Jak v ČR používáme chytré mobily a tablety? Internet pro všechny [online].
30.
6.
2014
[cit.
2016-01-24].
Dostupné
http://www.internetprovsechny.cz/jak-v-cr-pouzivame-chytre-mobily-a-tablety/ [6]
z:
SYGIC. Family Locator - GPS Tracker. Google Play [online]. ©2016 [cit. 2016-01-24]. Dostupné z:
https://play.google.com/store/apps/details?id=com.sygic.familywhere.android [7]
SYGIC, a.s. Family Locator. Sygic: GPS Navigation Apps [online]. ©2016 [cit. 2016-01-24]. Dostupné z: http://www.sygic.com/family-locator/features
35
[8]
LIFE360. Rodinný lokátor - Life360. Google Play [online]. ©2004-2015 [cit. 2016-01-24]. Dostupné z:
https://play.google.com/store/apps/details?id=com.life360.android.safetymapd [9]
LIFE360. Your Circles with superpowers. Life360: The New Family Circle [online]. ©2016 [cit. 2016-01-24]. Dostupné z: https://www.life360.com/premium/
[10] FAMILY SAFETY PRODUCTION. Sledování s GPS. In:Google Play [online]. 2016 [cit. 2016-01-24]. Dostupné z:
https://play.google.com/store/apps/details?id=com.fsp.android.c [11] FAMILIO. Family Locator & Messaging. Google Play [online]. ©2016 [cit. 2016-01-24]. Dostupné z:
https://play.google.com/store/apps/details?id=net.familo.android&hl=cs [12] FAMILIO. WHERE ARE YOU RIGHT NOW? FAMILIO: The Family Network [online]. ©2016 [cit. 2016-01-24]. Dostupné z: https://www.familo.net/en/
[13] TWT DIGITAL, Ltda. Rodinný lokátor. Google Play [online]. ©2016 [cit. 2016-01-24]. Dostupné z:
https://play.google.com/store/apps/details?id=com.zoemob.gpstracking
[14] GOOGLE.
Google
Play
Developer
Console.
Google
Console [online]. ©2016 [cit. 2016-01-24]. Dostupné z:
Play
Developer
Play
Developer
https://play.google.com/apps/publish/signup/ [15] GOOGLE.
Nápověda
Developer
Console.
Google
Console [online]. ©2016 [cit. 2016-01-24]. Dostupné z:
https://support.google.com/googleplay/android-developer/#topic= [16] KILIÁN, Karel. Google po vzoru Applu schvaluje aplikace do Obchodu Play ručně.
Svět Androida: Recenze, novinky, denní zpravodajství ze světa open source
operačního systému Android od společnosti Google pro chytré mobilní
36
telefony [online]. 2015 [cit. 2016-01-24]. Dostupné z:
http://www.svetandroida.cz/google-play-schvalovani-201503 [17] W3C. Extensible
Consortium [online].
Markup
Language
©
2016
https://www.w3.org/XML/
[cit.
(XML).
World
2016-03-29].
Wide
Dostupné
Web z:
[18] GARGENTA, Marko a Masumi NAKAMURA. Learning Android: Develop
mobile app using Java and Eclipse. Second edition. Sebastopol, CA: O'Reilly Media, 2014. ISBN 978-1-449-31923-6.
[19] GOOGLE. Android
Studio.
Android
Developers
[online].
©
[cit. 2016-03-29]. Dostupné z: http://developer.android.com/sdk/index.html
2016
[20] MICROSOFT. Vývoj mobilních řešení pro více platforem. Visual Studio [online]. © 2016 [cit. 2016-03-29]. Dostupné z:
https://www.visualstudio.com/features/mobile-app-development-vs [21] SCHILDT, Herbert. Java 7: výukový kurz. Brno: Computer Press, 2012. ISBN 978-80-251-3748-2.
[22] PROCHÁZKA, David. PHP 6: začínáme programovat. Praha: Grada, 2012. ISBN 978-80-247-3899-4.
[23] PÍSEK, Slavoj. HTML: začínáme programovat. 4., aktualiz. vyd. Praha: Grada, 2014. ISBN 978-80-247-5059-0.
[24] LAZARIS,
Louis. CSS
ISBN 978-80-251-4176-2.
[25] GASSTON,
Peter. Moderní
ISBN 978-80-251-4345-2.
[26] HOPKINS,
okamžitě.
Callum. PHP
ISBN 978-80-251-4196-0.
web okamžitě.
37
Brno:
Computer
Press,
2014.
Brno:
Computer
Press,
2015.
Press,
2014.
Brno:
Computer
[27] PROCHÁZKA, David. PHP 6: začínáme programovat. Praha: Grada, 2012. ISBN 978-80-247-3899-4.
[28] ŽÁRA, Ondřej. JavaScript: programátorské techniky a webové technologie. Brno: Computer Press, 2015. ISBN 978-80-251-4573-9.
[29] RFC. Hypertext Transfer Protocol. IETF, 1999. [30] JORDÁN, Vilém a Viktor ONDRÁK. Infrastruktura komunikačních systémů II: kritické aplikace. Brno: CERM, Akademické nakladatelství, 2015. ISBN 978-80214-5240-4.
[31] VRÁNA, Jakub. 1001 tipů a triků pro PHP. Brno: Computer Press, 2010. ISBN 978-80-251-2940-1.
[32] LACKO, Ľuboslav. Vývoj aplikací pro Android. Brno: Computer Press, 2015. ISBN 978-80-251-4347-6.
[33] ITBIZ. API.
ITBIZ:
Vaše
[cit. 2016-03-29]. Dostupné z:
jednička
mezi
nulami [online].
©
2016
©
2016
http://www.itbiz.cz/slovnik/informacni-technologie-it/api [34] GOOGLE. Google
Maps
APIs.
Google
Developers [online].
[cit. 2016-03-29]. Dostupné z: https://developers.google.com/maps/
[35] OPPEL, Andrew J. SQL bez předchozích znalostí: průvodce pro samouky. Brno: Computer Press, 2008. ISBN 978-80-251-1707-1.
[36] KOCH, Miloš a Bernard NEUWIRTH. Datové a funkční modelování. Vyd. 4., rozš. Brno: Akademické nakladatelství CERM, 2010. ISBN 978-80-214-4125-5.
[37] KOCH, Miloš. Informační systémy a technologie: metodická příručka pro kombinovanou formu studia. Brno: Akademické nakladatelství CERM, 2005. ISBN 80-214-3003-6.
[38] VIEIRA, Robert. SQL Server 2000: programujeme profesionálně. Praha: Computer Press, 2001. ISBN 80-7226-506-7. 38
[39] ČÁPKA, David. 2. díl - UML - Use Case Diagram. www.itnetwork.cz [online]. © 2016 [cit. 2016-03-29]. Dostupné z:
http://www.itnetwork.cz/navrhove-vzory/uml/uml-use-case-diagram/ [40] ARLOW, Jim a Ila NEUSTADT. UML a unifikovaný proces vývoje aplikací:
průvodce analýzou a návrhem objektově orientovaného softwaru. Brno: Computer Press, 2003. ISBN 80-7226-947-X.
[41] COCKBURN, Alistair. Use Cases: jak efektivně modelovat aplikace. Brno: CP Books, 2005. ISBN 80-251-0721-3.
[42] KORÁB, Vojtěch, Mária REŽŇÁKOVÁ a Jiří PETERKA. Podnikatelský plán. Brno: Computer Press, c2007. Praxe podnikatele. ISBN 978-80-251-1605-0.
[43] Open Handset Alliance. Overview. Open Headset Alliance [online]. © 2016 [cit. 2016-03-29]. Dostupné z:
http://www.openhandsetalliance.com/oha_overview.html
39
SEZNAM OBRÁZKŮ Obrázek č. 1: Relace z pohledu teorie relací .................................................................. 19
Obrázek č. 2: Diagram DFD ........................................................................................... 22
Obrázek č. 3: Vývojový diagram .................................................................................... 22 Obrázek č. 4: Family locator – GPS tracker a Rodinný lokátor – Life 360.................... 26 Obrázek č. 5: Sledování s GPS a Family Locator & Messaging .................................... 27
Obrázek č. 6: Rodinný lokátor ........................................................................................ 28
SEZNAM TABULEK Tabulka č. 1: Přehled verzí systému Android ................................................................. 14 Tabulka č. 2: Přehled aplikací......................................................................................... 29
SEZNAM GRAFŮ Graf č. 1: Podíl mobilních OS na českém trhu ............................................................... 25
40