• No results found

Mobiln´ı aplikace pro spr´avu plynov´ych zaˇr´ızen´ı

N/A
N/A
Protected

Academic year: 2022

Share "Mobiln´ı aplikace pro spr´avu plynov´ych zaˇr´ızen´ı"

Copied!
48
0
0

Loading.... (view fulltext now)

Full text

(1)

Mobiln´ı aplikace pro spr´ avu plynov´ ych zaˇ r´ızen´ı

Bakal´ aˇ rsk´ a pr´ ace

Studijn´ı program: B2646 – Informaˇcn´ı technologie Studijn´ı obor: 1802R007 – Informaˇcn´ı technologie Autor pr´ace: Filip Rubeˇs

Vedouc´ı pr´ace: Ing. Jana Vitvarov´a, PhD.

(2)

Mobile application for gas equipment management

Bachelor thesis

Study programme: B2646 – Information technology Study branch: 1802R007 – Information technology

Author: Filip Rubeˇs

Supervisor: Ing. Jana Vitvarov´a, PhD.

(3)
(4)
(5)
(6)

Mobilní aplikace pro správu plynových zaří- zení

Abstrakt

Tato práce řeší návrh a vývoj mobilní aplikace v operačním systému Android. Hlavním cílem práce je usnadnit a zefektivnit průběh revi- zí plynových zařízení. Vývoj probíhal v kooperaci s revizním techni- kem, který definoval a testoval požadované funkcionality. Specifiko- vané požadavky byly implementovány prostřednictvím pomocných API, zajišťující elektronický podpis a geolokaci, a vhodných tech- nologií.

Klíčová slova: mobilní aplikace, Android, Revize, Google Fire- base

Mobile application for gas equipment ma- nagement

Abstract

This thesis solves design and development of mobile application in Android operating system. The main aim of this thesis is to faci- litate the process of revisions of gas equipment. The development was carried out in cooperation with a revision engineer who defined and tested the required functionalities. Specified requirements were implemented through auxiliary APIs, such as electronic signature and geolocation, and appropriate technologies.

Keywords: mobile app, Android, Revision, Google Firebase

Poděkování

Děkuji vedoucí mé bakalářské práce Ing. Janě Vitvarové, PhD.

za cenné rady a vedení při tvorbě této práce. Dále bych rád po- děkoval Martinu Chlumovi za důvěru a možnost vyvíjet aplikaci pro jeho firmu.

(7)

Obsah

Seznam zkratek . . . 9

1 Uvod´ 10 2 St´avaj´ıc´ı proces zaznamen´av´an´ı reviz´ı 11 2.1 Nedostatky st´avaj´ıc´ıho procesu . . . 11

3 Specifikace poˇzadavk˚u 12 3.1 Funkˇcn´ı poˇzadavky . . . 12

3.2 Nefunkˇcn´ı poˇzadavky . . . 13

3.3 Poˇzadavky na syst´em . . . 13

4 Existuj´ıc´ı aplikace 14 4.1 INSPECTO . . . 14

5 N´avrh ˇreˇsen´ı 16 5.1 User Experience . . . 16

5.1.1 Wireframe . . . 16

5.2 User Interface . . . 19

5.2.1 Identita . . . 19

5.3 Popis fungov´an´ı aplikace . . . 21

5.4 Zad´av´an´ı dat . . . 24

5.4.1 Zad´av´an´ı datumu . . . 24

5.4.2 Zad´av´an´ı adresy. . . 24

5.4.3 Specifikace z´avad . . . 24

5.4.4 Elektronick´y podpis. . . 24

5.4.5 Export do PDF form´atu . . . 24

5.4.6 Odesl´an´ı do ´uloˇziˇstˇe . . . 24

5.4.7 Notifikace expirac´ı reviz´ı . . . 25

5.5 Registrace uˇzivatele . . . 25

5.6 Funkce admina . . . 25

6 Implementace 26 6.1 Architektura aplikace . . . 26

6.1.1 Activity . . . 27

6.1.2 Fragment . . . 27

6.1.3 Model . . . 28

(8)

6.1.4 Adapter . . . 28

6.2 Funkˇcn´ı prvky . . . 29

6.2.1 Zad´av´an´ı datumu . . . 29

6.2.2 Definice z´avad . . . 29

6.2.3 Automatick´e vyplnˇen´ı adresy . . . 30

6.2.4 Elektronick´y podpis. . . 31

6.2.5 Export do form´atu PDF . . . 31

6.2.6 Seznam klient˚u . . . 31

6.2.7 Notifikace . . . 32

6.3 Datov´y model . . . 32

6.4 Pouˇzit´e technologie . . . 33

6.4.1 Programovac´ı jazyk . . . 33

6.4.2 V´yvojov´e prostˇred´ı . . . 33

6.4.3 Uloˇ´ ziˇstˇe . . . 34

6.4.4 Spr´ava verz´ı . . . 34

6.4.5 Zpˇrehlednˇen´ı k´odu . . . 34

6.5 Zabezpeˇcen´ı . . . 35

7 Testov´an´ı 36 7.1 Testy v pr˚ubˇehu v´yvoje. . . 36

7.1.1 Android emul´ator . . . 36

7.1.2 Mobiln´ı telefon s Android . . . 37

7.2 Testy v re´aln´em pouˇzit´ı. . . 37

8 Nasazen´ı 39 8.1 Google Play . . . 39

8.2 Sd´ılen´y odkaz . . . 39

9 Z´avˇer 40 A Pˇr´ılohy 44 A.1 Formul´aˇr revize . . . 44

A.2 P˚uvodn´ı protokol . . . 45

(9)

Seznam obr´ azk˚ u

2.1 Sch´ema procesu revize . . . 11

5.1 C´ˇast wireframe modelu mobiln´ı aplikace . . . 17

5.2 Zad´av´an´ı ´udaj˚u . . . 18

5.3 Vizu´aln´ı identita aplikace. . . 19

5.4 Barevn´a paleta . . . 20

5.5 Uv´ıt´an´ı a Pˇrihl´aˇsen´ı/Registrace uˇzivatele . . . 21

5.6 Uvod, Nov´´ a a ´uprava revize . . . 22

5.7 Karta klienta/N´ahled dokumentu . . . 23

5.8 Nastaven´ı aplikace . . . 23

6.1 Sch´ema MVC architektury . . . 26

6.2 Bottom Navigation Bar . . . 27

6.3 User a Client model . . . 28

6.4 Adapt´er ClientAdapter . . . 29

6.5 Zad´av´an´ı datumu/Definice z´avad . . . 30

6.6 Elektronick´y podpis. . . 31

6.7 N´ahled notifikace . . . 32

6.8 Datov´y mode . . . 33

7.1 Testov´an´ı polohy . . . 37

A.1 Formul´aˇr revize . . . 44

(10)

Seznam tabulek

4.1 Porovn´an´ı aplikac´ı . . . 15

5.1 Test wireframe modelu revizn´ım technikem . . . 18

6.1 Popis aktivit . . . 27

7.1 Testov´an´ı v re´aln´em pouˇzit´ı . . . 38

Seznam zkratek

APK Android Application Package GPS Global Positioning System HTML Hypertext Markup Language

IDE Integrated Development Environment

INS INSPECTO

JSON JavaScript Object Notation LIFO Last In, First Out

MVC Model-View-Controller PDF Portable Document Format SDK Software Development Kit UI User Interface

URL Uniform Resource Locator UX User Experience

(11)

1 Uvod ´

Poˇcet plynov´ych zaˇr´ızen´ı v ˇCesk´e republice st´ale stoup´a, svˇedˇc´ı o tom tiskov´a zpr´ava Cesk´ˇ eho plyn´arensk´eho svazu.[1] Vyuˇzit´ı plynu pˇri vyt´apˇen´ı z´asadn´ım zp˚usobem sniˇzuje poˇcet zdravotn´ıch rizik a napom´ah´a tak k lepˇs´ı kvalitˇe odvzduˇs´ı. Tento fakt potvrzuje poˇcet vyhl´aˇsen´ych smogov´ych situac´ı v topn´e sez´onˇe 2020, kter´y je na ˇc´ıslici 0, kdeˇzto v roce 2017 se jednalo o poˇcet 39.

Revizn´ı kontroly jsou jedn´ım z kl´ıˇcov´ych faktor˚u spolehliv´eho uˇz´ıv´an´ı plynov´ych zaˇr´ızen´ı. Revize se prov´ad´ı z d˚uvodu oveˇren´ı bezpeˇcnosti a technick´eho stavu zaˇr´ı- zen´ı. Kontrola se na z´akladˇe vyhl´aˇsky ˇc. 85/1978 Sb. prov´ad´ı jednou za tˇri roky a to revizn´ım technikem s odpov´ıdaj´ıc´ım opr´avnˇen´ım.[2]

Moment´aln´ım modelem prov´adˇen´ı revizn´ı kontroly je pouˇz´ıt´ı pap´ırov´ych list˚u, kter´e jsou n´aslednˇe ruˇcnˇe pˇrepisov´any do elektronick´e podoby. Tento model je pro dlouhodob´e a ˇcast´e prov´adˇen´ı kontrol velmi nepraktick´y a zdlouhav´y. Zdigitali- zov´an´ım revizn´ı kontroly dojde k znaˇcn´e ´uspoˇre ˇcasu vykon´av´an´ı, snadnˇejˇs´ı ma- nipulaci s protokoly a ´udaji klienta a bezpochyby uˇcin´ı kontrolu ekologiˇctˇejˇs´ı.

C´ılem t´eto pr´ace je vyvinout mobiln´ı aplikaci v koopearaci s revizn´ım techni- kem, kter´a umoˇzn´ı spr´avu plynov´ych zaˇr´ızen´ı. Bude moˇzn´e zad´avat revizn´ı data o plynov´em zaˇr´ızen´ı, vygenerovat revizn´ı zpr´avu a tuto zpr´avu, vˇcetnˇe dat, ode- slat na cloudov´e ´uloˇziˇstˇe, ke kter´emu bude m´ıt technik pˇr´ıstup z poˇc´ıtaˇce, ˇci jin´eho zaˇr´ızen´ı. Hlavn´ımi poˇzadavky na aplikaci jsou zefektivnˇen´ı pr´ace revizn´ıho technika a funkˇcnost.

V prvn´ıˇc´asti pr´ace je pops´an st´avaj´ıc´ı proces revize plynov´ych zaˇr´ızen´ı a jsou spe- cifikov´any poˇzadavky na aplikaci. V dalˇs´ı ˇc´asti t´eto pr´ace je provedena reˇserˇse exis- tuj´ıc´ıch aplikac´ı, jeˇz by mohly splˇnovat zjiˇstˇen´e poˇzadovan´e funkce a jsou upˇresnˇeni jejich omezen´ı.

Tˇret´ı kapitola popisuje n´avrh ˇreˇsen´ı. Je rozdˇelena na User Experience (UX), User Interface (UI) a popis fungov´an´ı aplikace. UX ˇreˇs´ı vz´ajemn´e p˚usoben´ı uˇzivatele a produktu, v tomto pˇr´ıpadˇe tedy revizn´ıho technika a aplikace. Je zde vyobrazen sch´ematick´y n´aˇcrt rozm´ıstˇen´ı a interakce funkˇcn´ıch prvk˚u, tzv. wireframe. UI ˇc´ast ˇreˇs´ı uˇzivatelsk´e prostˇred´ı aplikace a definuje vizu´aln´ı identitu. N´asledn´ym t´ematem je popis fungov´an´ı aplikace podloˇzen´y sn´ımky obrazovky a vymezen´ı vkl´ad´an´ı dat.

V n´asleduj´ıc´ı kapitole pr´ace pojedn´av´a o implementaci n´avrhu. Seznamuje s pou- ˇzitou technologi´ı, ˇreˇs´ı funkcionalitu a pr˚ubˇeh v´yvoje mobiln´ı aplikace. Posledn´ı ka- pitola popisuje testov´an´ı vyvinut´e aplikace. Zahrnuje i v´ysledky testov´an´ı revizn´ım technikem v re´aln´em prostˇred´ı.

(12)

2 St´ avaj´ıc´ı proces zaznamen´ av´ an´ı reviz´ı

Kaˇzd´a revizn´ı kontrola nyn´ı vyˇzaduje tˇri postupn´e kroky k vytvoˇren´ı revizn´ıho proto- kolu, kter´e jsou zaznamen´any na sch´ematick´em n´akresu (Obr. 2.1). Revizn´ı technik nejprve pˇri pr˚ubˇehu revize plynov´eho zaˇr´ızen´ı ruˇcnˇe vypln´ı formul´aˇr (viz pˇr´ıloha Obr. A.1), ve kter´em zaznamen´a osobn´ı ´udaje klienta, ´udaje o zapojen´ı zaˇr´ızen´ı,

´

udaje o spotˇrebiˇci, pˇr´ıpadn´e z´avady a stanov´ı posudek o bezpeˇcnosti zaˇr´ızen´ı.

Dalˇs´ım krokem je pot´e pˇreps´an´ı formul´aˇre do protokolu v elektronick´e podobˇe.

V´ysledn´y protokol (pˇr´ıloha A.2) v sobˇe ukr´yv´a vˇsechny pr´avn´ı n´aleˇzitosti, kter´e stvrzuj´ı bezpeˇcn´e pouˇzit´ı plynov´eho zaˇr´ızen´ı.

Posledn´ım krokem je tisk protokolu a podeps´an´ı revizn´ım technikem.

Obr´azek 2.1: Sch´ema procesu revize 1

2.1 Nedostatky st´ avaj´ıc´ıho procesu

Jako nejvˇetˇs´ı nedostatek n´ynˇejˇs´ıho modelu pr˚ubehu reviz´ı je shled´ana nutnost vy- plnˇen´ı nov´eho formul´aˇre pˇri kaˇzd´e nov´e revizi. To znaˇcnˇe ˇcasovˇe zn´aroˇcˇnuje cel´y proces, v pˇr´ıpadˇe prov´adˇen´ı reviz´ı v panelov´em domˇe, ve kter´em se velk´a ˇc´ast dat klient˚u shoduje.

S t´ım tak´e ´uzce souvis´ı spotˇreba pap´ırov´ych list˚u, kter´a se odv´ıj´ı od poˇctu prove- den´ych reviz´ı. Dalˇs´ı nedostatkem je pot´e nutnost pˇreveden´ı formul´aˇre do protokolu v elektronick´e podobˇe, coˇz je opˇet ˇcasovˇe n´aroˇcn´e.

V´yˇse popsan´e nedostatky nepochybnˇe ztˇeˇzuj´ı pr´aci revizn´ım technik˚um a pod´ı- lely se na od˚uvodnˇen´ı v´yvoje t´eto pr´ace.

1zdroj ikon: https://www.123rf.com/profile_artenot

(13)

3 Specifikace poˇ zadavk˚ u

Anal´yza funkˇcn´ıch poˇzadavk˚u je prvn´ım a nejd˚uleˇzitejˇs´ım krokem pˇri v´yvoji mobiln´ı aplikace. Od tˇechto poˇzadavk˚u se odv´ıj´ı n´aroˇcnost projektu a technick´y n´avrh. Je tedy potˇreba tyto poˇzadavky spr´avnˇe definovat a pochopit.

3.1 Funkˇ cn´ı poˇ zadavky

1. Vytvoˇren´ı revizn´ıho protokolu

• (1.1) pˇrid´an´ı osobn´ıch ´udaj˚u o klientovi (jm´eno, tel. ˇc´ıslo, adresa) s vy- uˇzit´ım aktu´aln´ı polohy

• (1.2) pˇrid´an´ı data a evidenˇcn´ıho ˇc´ısla revize

• (1.3) upˇresnˇen´ı zapojen´ı zaˇr´ızen´ı a pˇr´ısluˇsn´ych spotˇrebiˇc˚u

• (1.4) specifikace z´avad br´an´ıc´ıch k bezpeˇcn´emu provozu zaˇr´ızen´ı

• (1.5) specifikace z´avad nebr´an´ıc´ıch k bezpeˇcn´emu provozu zaˇr´ızen´ı

• (1.6) specifikace z´avad spotˇrebiˇce

• (1.7) doplˇnuj´ıc´ı informace (pˇredeˇsl´e revize, doporuˇcen´y term´ın pˇr´ıˇst´ı re- vize..)

• (1.8) elektronick´y podpis dokumentu z´uˇcastnˇen´e osoby ze strany klienta

• (1.9) export protokolu ve form´atu PDF se zachovanou p˚uvodn´ı strukturou revizn´ıho protokolu

• (1.10) odesl´an´ı protokolu do cloudov´eho ´uloˇziˇstˇe

• (1.11) notifikace bl´ıˇz´ıc´ıch se expirac´ı reviz´ı plynov´ych zaˇr´ızen´ı

(14)

2. Spr´ava klient˚u

• (2.1) vytvoˇren´ı seznamu klient˚u

• (2.2) vytvoˇren´ı klienta na z´akladˇe vytvoˇren´e revize

• (2.3) udrˇzovat kartu klienta s osobn´ımi ´udaji a nejaktu´alnˇejˇs´ı provedenou reviz´ı

• (2.4) moˇznost ´upravy revize

• (2.5) moˇznost odstranˇen´ı klienta

• (2.6) odesl´an´ı veˇsker´ych dat souvisej´ıc´ıch s klientem do cloudov´e datab´aze 3. Spr´ava uˇzivatel˚u

• (3.1) registrace uˇzivatele s vyuˇzit´ım e-mailov´e adresy

• (3.2) moˇznost obnovy hesla uˇzivatele 4. Funkce admina

• (4.1) pˇr´ıstup k veˇsker´ym proveden´ym reviz´ım

• (4.2) pˇrid´an´ı uˇzivatel˚u

• (4.3) odstranˇen´ı uˇzivatel˚u

• (4.4) odstranˇen´ı dat klienta

3.2 Nefunkˇ cn´ı poˇ zadavky

Nefunkˇcn´ı, nebo tak´e mimofunkˇcn´ı poˇzadavky se net´ykaj´ı funkc´ı aplikace, ale vlast- nost´ı aplikace. Tyto vlastnosti b´yvaj´ı ˇcasto rozhoduj´ıc´ım faktorem pˇri pouˇzit´ı apli- kace. Pokud je aplikace nepˇrehledn´a a neintuitivn´ı, tak i pˇres poˇzadovanou funkcio- nalitu, je nepouˇziteln´a.

• intuitivn´ı a pˇr´ıvˇetiv´e uˇzivatelsk´e rozhran´ı

3.3 Poˇ zadavky na syst´ em

Syst´emov´e poˇzadavky definuj´ı minim´aln´ı parametry zaˇr´ızen´ı, jenˇz mus´ı aplikace podporovat. Mezi syst´emov´e poˇzadavky patˇr´ı poˇzadavky na hardware, software a operaˇcn´ı syst´em.

• zaˇr´ızen´ı s operaˇcn´ım syst´emem Android

• podpora verz´ı Android 5.0 (SDK 21) a v´yˇs

• zaˇr´ızen´ı s vnitˇrn´ım ´uloˇziˇstˇem

• zaˇr´ızen´ı s internetov´ym pˇripojen´ım

(15)

4 Existuj´ıc´ı aplikace

Prvotn´ım impulsem pro v´yvoj mobiln´ı aplikace pro spr´avu plynov´ych zaˇr´ızen´ı byl fakt, ˇze na dneˇsn´ım trhu neexistuje ˇz´adn´a aplikace, kter´a by pˇresnˇe splˇnovala ne- zbytn´e funkcionality, uveden´e v kapitole 3. Nicm´enˇe jeden produkt je schopen, ale- spoˇn z ˇc´asti, poˇzadavk˚um vyhovˇet. Jedn´a se o aplikaci INSPECTO.

4.1 INSPECTO

INSPECTO (INS) je webov´a aplikace, kter´a je dostupn´a i ve verzi pro operaˇcn´ı syst´em Android. Oproti t´eto pr´aci m´a tedy v´yhodu pouˇzit´ı i na stoln´ım poˇc´ıtaˇci, ˇci notebooku. Aplikace by mˇela b´yt, dle slov v´yvoj´aˇr˚u, dostupn´a na platformˇe Google Play, avˇsak tam nebyla nalezena. Proto nebylo moˇzn´e produkt osobnˇe odzkouˇset a je nutn´e vych´azet pouze z reprezentativn´ıch materi´al˚u a n´avod˚u na webov´ych str´ank´ach produktu.

Zpozorovan´e rozd´ıly jsou zaznamen´any v tabulce 4.1, kde je moˇzn´e si vˇsimnout, ˇze aplikace mohou, ze znaˇcn´e ˇc´asti, nab´ıdnout stejn´e funkce. Avˇsak z´asadn´ım roz- d´ılem a d˚uvodem pro nemoˇznost pouˇzit´ı aplikace INS je v druz´ıch revize. INS nab´ız´ı pouze revize elektroinstalace, elektrick´ych stroj˚u, elektrick´ych spotˇrebiˇc˚u, zaˇr´ızen´ıch pro obloukov´e svaˇrov´an´ı a syst´emu ochrany pˇred bleskem. Proto byla tato aplikace shled´ana jako nevyhovuj´ıc´ı k spr´avˇe plynov´ych zaˇr´ızen´ı.

(16)

Tabulka 4.1: Porovn´an´ı aplikac´ı

INSPECTO Tato pr´ace

Uˇzivatelsk´a pˇr´ıvˇetivost ANO ANO

Z´ad´an´ı z´akladn´ıch ´udaj˚u (1.1-1.3, 1.7) ANO ANO

Specifikace z´avad (1.4-1.6) ANO ANO

Export a uloˇzen´ı protokolu (1.9-1.10) ANO ANO

Notifikace reviz´ı (1.11) Nejsp´ıˇse ANO ANO

Editace reviz´ı (2.4) ANO ANO

Odstranˇen´ı klienta (2.5) ANO ANO

Odesl´an´ı dat do cloudov´eho ´uloˇziˇstˇe (2.6) ANO ANO

Registrace uˇzivatele (3.1) mimo aplikaci ANO

Obnova hesla uˇzivatele (3.2) Nejsp´ıˇse ANO ANO

Funkce admina (4.1-4.4) ANO ANO

Vytvoˇren´ı klienta na z´akladˇe revize (2.2) NE ANO

Elektronick´y podpis kienta (1.8) NE ANO

Vyuˇz´ıt´ı aktu´aln´ı polohy k zad´an´ı adresy(1.1) NE ANO

Zachov´an´ı p˚uvodn´ıho protokolu NE ANO

Revize plynov´ych zaˇr´ızen´ı NE ANO

Vytvoˇren´ı klienta v pˇredstihu ANO NE

Pl´anovaˇc budouc´ıch reviz´ı ANO NE

Registrace mˇeˇr´ıc´ıch zaˇr´ızen´ı ANO NE

Definice firemn´ıch ´udaj˚u ANO NE

Definice datab´aze z´avad ANO NE

V´ıce typ˚u reviz´ı ANO NE

*V z´avork´ach jsou zaznamen´any poˇzadovan´e funkcionality.

(17)

5 N´ avrh ˇ reˇ sen´ı

N´avrh aplikace je posledn´ı ˇc´ast´ı v´yvoje pˇred samotnou implementac´ı. Vych´az´ı ze z´ıskan´ych poˇzadavk˚u na produkt a z pozorov´an´ı uˇzivatele. Souˇc´ast´ı n´avrhu je vy- tvoˇren´ı prototypu aplikace, definice a rozm´ıstˇen´ı funkˇcn´ıch prvk˚u, uˇzivatelsk´e pro- stˇred´ı a vizu´aln´ı identita.

5.1 User Experience

User Experience (UX) design se zab´yv´a r˚uzn´ymi aspekty interakce uˇzivatele a apli- kace. ˇCasto vyuˇz´ıvan´ym postupem je pozorov´an´ı potencion´aln´ıho uˇzivatele v jeho pˇrirozen´em prostˇred´ı.

Pˇri takov´em pozorov´an´ı je moˇzn´e odhalit skuteˇcnoti, na kter´e si respondent pˇri rozhovoru nevzpomene, protoˇze nˇekter´e ´ukony zkr´atka dˇel´a automaticky. Nesporn´ym pˇr´ınosem pozorov´an´ı je tak´e moˇznost dotazov´an´ı pˇri aktu´aln´ım dˇen´ı a porozumnˇen´ı proˇc urˇcit´e ´ukony prov´ad´ı jedn´ım zp˚usobem a ne druh´ym. [5]

5.1.1 Wireframe

Hlavn´ım n´astrojem pro UX design je wireframe, neboli skica aplikace. Pouˇz´ıv´a se pˇri v´yvoji pˇredevˇs´ım jako n´ahled n´avrhu ˇreˇsen´ı, kter´y specifikuje obsah a funkci mo- biln´ı aplikace. Wireframe nedefinuje grafickou podobu n´avrhu, ale pouze rozm´ıstˇen´ı funkˇcn´ıch prvk˚u.

M˚uˇze se jednat v podstatˇe o klikateln´y prototyp, kter´y dok´aˇze nasimulovat pˇribliˇzn´e fungov´an´ı aplikace. Velkou v´yhodou prototypu je moˇzn´e otestov´an´ı bˇehu aplikace na uˇzivatel´ıch bez nutnosti programov´an´ı aplikace a n´avrh lze jednoduˇse libovolnˇe mˇenit. D˚uleˇzitou souˇc´ast´ı testov´an´ı je pl´an ´ukol˚u a z´apis pozn´amek pˇri prov´adˇen´ı tˇechto ´ukol˚u.

Wireframe se d´a vytvoˇrit v mnoha dostupn´ych programech. Existuj´ı i webov´e aplikace, nicm´enˇe pro tuto pr´aci byl zvolen program od spoleˇcnosti Adobe Inc., konkr´etnˇe Adobe XD. Na obr´azku 5.1 je pot´e k n´ahlednut´ı ˇc´ast wireframe modelu aplikace.

V tomto ˇc´asteˇcn´em n´avrhu je obsaˇzeno pouze z´akladn´ı fungov´an´ı aplikace, tzn.

zp˚usob zad´av´an´ı dat, zobrazov´an´ı dat a pohyb po aplikaci. Jsou zde zobrazeny ob- razovky aplikace s rozm´ıstˇen´ymi funkˇcn´ımi prvky a prvotn´ı designov´e prvky uˇziva- telsk´eho prostˇred´ı. Zn´azornˇen´a propojen´ı definuj´ı smˇer pohybu uˇzivatele po stisku dan´eho tlaˇc´ıtka. Wireframe model pˇren´aˇs´ı uˇzivatele na domovskou obrazovku, kde

(18)

uˇzivatel m˚uˇze zaˇc´ıt ps´at revizi. Pot´e je dot´az´an, zda si pˇreje zaˇc´ıt ps´at novou revizi, ˇci upravit revizi. Pˇri volbˇe nov´e revize je pˇresunut do dotazn´ıkov´e ˇc´asti, kde zad´av´a potˇrebn´e ´udaje k proveden´ı revize. Pˇri volbˇe ´upravy je pˇresunut do seznamu klient˚u, ve kter´em si vybere klienta k ´upravˇe. Posl´eze je pˇresunut do dotazn´ıkov´e ˇc´asti.

Obr´azek 5.1: ˇC´ast wireframe modelu mobiln´ı aplikace

(19)

Pˇri testov´an´ı n´avrhu (viz tabulka 5.1) byly zaznamen´av´any poznatky od re- vizn´ıho technika, kter´e vedly k ´uprav´am na wireframe modelu. Technik nemˇel ˇz´adn´y probl´em s pohybem v aplikaci, dok´azal naj´ıt a bezchybnˇe otevˇr´ıt kartu klienta, ˇci se pˇresmˇerovat k nov´e revizi. Technik nebyl zcela spokojen se zad´av´an´ım dat, oznaˇcil zp˚usob za nepˇrehledn´y a proto bylo potˇreba ho upravit. V p˚uvodn´ım n´avrhu se data zad´avala postupnˇe pomoc´ı pˇreklikateln´ych oken, viz obr. 5.2a. Znaˇcnou nev´yhodou tohoto zp˚usobu byl komplikovan´y pˇrechod na ´udaje zadan´e v prvn´ı f´azi dotazn´ıku.

Bylo potˇreba vymyslet novou podobu zad´av´an´ı, kter´a by umoˇzˇnovala celkov´y n´ahled vloˇzen´ych dat.

Novou variantou byl zvolen dotazn´ık, kter´y se rozprost´ır´a pˇres celou obrazovku a je moˇzno jej rolovat, tak aby mohl uˇzivatel eventu´alnˇe prohl´ednout cel´y dotazn´ık jedn´ım pohybem (Obr.5.2b).

(a) Zp˚usob zad´av´an´ı v n´avrhu

(b) Realizovan´y zp˚usob zad´av´an´ı

Obr´azek 5.2: Zad´av´an´ı ´udaj˚u

Tabulka 5.1: Test wireframe modelu revizn´ım technikem

´

ukon vyhodnocen´ı pozn´amka

zaˇc´ıt ps´at novou revizi Bez probl´emu

zad´av´an´ı ´udaj˚u klienta Bez probl´emu, s v´yhradami nepˇrehledn´e, sloˇzit´e navr´acen´ı zpˇet

upravit revizi Bez probl´emu

otevˇr´ıt seznam klient˚u Bez probl´emu otevˇr´ıt kartu klienta Bez probl´emu otevˇr´ıt revizi klienta Bez probl´emu upravit revizi klienta Bez probl´emu

(20)

5.2 User Interface

User Interface (UI) design je velice v´yznamnou ˇc´ast´ı jak´ehokoliv produktu v IT sf´eˇre. Jedn´a se o proces vytv´aˇren´ı rozhran´ı v SW se zamˇeˇren´ım na vzhled nebo styl. Uˇzivatelsk´a rozhran´ı jsou v podstatˇe pˇr´ıstupov´e body, kde uˇzivatel interaguje s n´avrhem. [6]

Pˇri n´avrhu uˇzivatelsk´eho n´avrhu t´eto pr´ace nebylo vych´azeno z urˇcit´eho stylu a byl kladen d˚uraz na inovativnost.

5.2.1 Identita

Nem´enˇe d˚uleˇzitou souˇc´ast´ı v´yvoje mobiln´ı aplikace je vytvoˇren´ı jednotn´e vizu´aln´ı indetity. Mezi jednotliv´e prvky identity patˇr´ı n´azev aplikace, logo, styl p´ısma a barvy.

N´azev aplikace by n´am mˇel jiˇz na prvn´ı pohled ˇr´ıci o jakou aplikaci se jedn´a.

Nemˇel by b´yt tˇeˇzko vysloviteln´y a samozˇrejmˇe uˇz pouˇz´ıvan´y. Vymyslet n´azev pro tuto pr´aci nebylo v koneˇcn´em d˚usledku tak ˇcasovˇe n´aroˇcn´e, jak se zpoˇc´atku zd´alo.

Zvolen byl n´azev

”Revizor”. N´azev se vztahuje k ˇreˇsen´emu segmentu, je lehce zapamatovateln´y a nedˇel´a probl´em jej vyslovit.

Pˇri tvorbˇe loga aplikace se upˇrednostˇnovala jednoduchost pˇred sloˇzitost´ı. Logo bylo vytvoˇreno z minimalistick´ych p´ısmen v kontrastn´ı barvˇe aplikace, tedy svˇetle modr´e (viz 5.3a). K aplikac´ım je nutn´e tak´e vytvoˇrit ikony. Ty vznikly pˇrid´an´ım ˇcern´eho podkladu a kulatˇe ohraniˇcenou je moˇzno vidˇet na obr´azku5.3b.

(a) Logo aplikace (b) Kulat´a ikona aplikace

Obr´azek 5.3: Vizu´aln´ı identita aplikace

Volba p´ısma v mobiln´ı aplikaci je odvozena od stylu p´ısma v logu. Jedn´a se o p´ısmo

”Century Gothic”.

(21)

Zvolen´ım barev se formuluje celkov´a podoba v´ysledn´eho designu a i volba ba- revn´eho spektra m´a sv´a pravidla. Napˇr´ıklad nen´ı vhodn´e pouˇz´ıvat kontrastn´ı barvu jako podkladovou, protoˇze by text na n´ı byl komplikovanˇe ˇciteln´y. Znaˇcn´a ˇc´ast dneˇsn´ıch aplikac´ı pouˇz´ıv´a jako podkladou barvu b´ılou, ˇci podobnˇe svˇetlou barvu.

Nejnovˇejˇs´ım trendem v oblasti UI je pˇrechod na

”Dark Mode”, tzn. ˇze mezi z´akladn´ı barvy patˇr´ı barvy tmav´e. Nepop´ıratelnou v´yhodou tohoho stylu je ´uspora energie na baterii mobiln´ıch zaˇr´ızen´ı.

Pro tuto pr´aci byl zvolen pr´avˇe

”Dark Mode”, ovˇsem nejedn´a se o jeho klasick´e proveden´ı.

”Dark Mode”bˇeˇznˇe nepouˇz´ıv´a zcela ˇcernou podkladovou barvu a vol´ı v odst´ınech tmavˇe ˇsed´e. V tomto smˇeru je tedy aplikace lehce inovativn´ı a pod- kladovou barvou je ˇcern´a. Doplˇnuj´ı ji tˇri odst´ıny ˇsediv´e, ˇcistˇe b´ıl´a a dvˇe kontrastn´ı barvy, konkr´etnˇe svˇetle modr´a a oranˇzov´a, kter´a symbolizuje soun´aleˇzitost s fakultou mechatroniky, informatiky a mezioborov´ych studi´ı (viz5.4).

Obr´azek 5.4: Barevn´a paleta

(22)

5.3 Popis fungov´ an´ı aplikace

V r´amci popisu fungov´an´ı jsou jednotliv´e ˇc´asti doplnˇeny o odkaz na specifikovan´e funkcionality aplikace. Mobiln´ı aplikace neprve zobraz´ı uv´ıtac´ı obrazovku (Obr.5.5a) a pˇri prvn´ım spuˇstˇen´ı bude zobrazovat pˇrihlaˇsovac´ı str´anku (Obr. 5.5b), kde se uˇzivatel po vyplnˇen´ı dvou hodnot, e-mailu a hesla, pˇrihl´as´ı, pokud jiˇz m´a vytvoˇren´y

´

uˇcet. V opaˇcn´em pˇr´ıpadˇe se uˇzivatel bude moct pˇresunout do registrovac´ıho for- mul´aˇre (Obr. 5.5c), kde zad´a svou e-mailovou adresu, heslo a n´aslednˇe heslo potrvd´ı a sv˚uj ´uˇcet zaregistruje (3.1 ). Pot´e bude pˇresunut zpˇet na pˇrihlaˇsovac´ı formul´aˇr. Zde bude tak´e moˇznost heslo resetovat (3.2 )(Obr. 5.5d). To je vhodn´e pˇri ztr´atˇe hesla.

Aplikace si bude pamatovat pˇrihl´aˇsen´eho uˇzivatele a pˇri dalˇs´ım spuˇstˇen´ı jiˇz nebude vyˇzadov´ano heslo pro pˇrihl´aˇsen´ı.

(a) Uv´ıtac´ı obrazovka (b) Pˇrihl´aˇsen´ı uˇzivatele (c) Registrace uˇzivatele

(d) Obnova hesla

Obr´azek 5.5: Uv´ıt´an´ı a Pˇrihl´aˇsen´ı/Registrace uˇzivatele

(23)

Na ´uvodn´ı obrazovce (Obr. 5.6a) se bude v doln´ı ˇc´asti nach´azet tzv. bottom na- vigation bar, coˇz je zjednoduˇsenˇe menu pro navigaci v aplikaci, kter´e je pˇripevnˇen´e.

Menu bude nab´ızet tˇri destinace. ´Uvod, list klient˚u a nastaven´ı. V ´uvodu si uˇzivatel bude moct zvolit, zda chce zaˇc´ıt ps´at novou revizi nebo chce upravit jiˇz dˇr´ıve vy- tvoˇrenou. V pˇr´ıpadˇe volby pro novou revizi bude pˇresunut do dotazn´ıku (Obr.5.6b) pro zad´an´ı potˇrebn´ych ´udaj˚u(1.1-1.8 ) k vygenerov´an´ı revize(1.9 ). Pˇri ´uspˇeˇsn´em vy- generov´an´ı revize se uˇzivatel rozhodne, zda protokol uloˇz´ı a odeˇsle do cloudov´eho uloˇziˇstˇe(1.10,2.6 ), ˇci se navr´at´ı zpˇet pro ´upravu. Po uloˇzen´ı protokolu se vytvoˇr´ı karta klienta (2.2 ).

Po zvolen´ı ´upravy revize bude zobrazen seznam klient˚u(2.1 )(Obr.5.6c) a uˇzivatel zvol´ı, kter´emu chce upravit revizi. N´aslednˇe bude zobrazen dotazn´ık s pˇredvyplnˇe- n´ymi daty (Obr. 5.6d) a uˇzivatel se m˚uˇze rozhodnout, kter´a data chce upravit, ˇci neupravit(2.4 ). Pot´e bude vygenerov´an protokol (Obr. 5.6e) a uˇzivatel jej bude moct uloˇzit a odeslat na cloudov´e ´uloˇziˇstˇe, nebo uloˇzen´ı zruˇs´ı a navr´at´ı se zpˇet do dotazn´ıku.

(a) ´Uvodn´ı obrazovka (b) Nov´a revize (c) Seznam klient˚u

(d) ´Uprava revize (e) Uloˇzen´ı protokolu

Obr´azek 5.6: ´Uvod, Nov´a a ´Uprava revize

(24)

Na druh´e destinaci se bude nach´azet seznam klient˚u (Obr.5.6c), ve kter´em bude moˇzn´e vyhled´avat pomoc´ı hledac´ıho ok´enka. Pˇri kliknut´ı na jm´eno klienta se zobraz´ı karta klienta(2.3 )(Obr. 5.7a). Tato karta bude obsahovat adresu klienta, telefonn´ı ˇc´ıslo klienta, doporuˇcen´e datum pro pˇr´ıˇst´ı revizi a bude zde moˇzn´e zobrazit nej- aktu´alnˇejˇs´ı revizi (Obr. 5.7b) a pˇr´ıpadnˇe b´yt pˇresunut k ´upravˇe revize. Karta bude obsahovat i tlaˇc´ıtko pro moˇznost odstranˇen´ı klienta a vˇsech jeho dat(2.5 ).

(a) Karta klienta (b) N´ahled dokumentu

Obr´azek 5.7: Karta klienta/N´ahled dokumentu

V posledn´ı destinaci (Obr.5.8) se bude nach´azet zobrazen´ı aktu´alnˇe pˇrihl´aˇsen´eho uˇzivatele a bude moˇzn´e se zde odhl´asit a pˇresunout k pˇrihlaˇsovac´ı obrazovku.

Obr´azek 5.8: Nastaven´ı aplikace

(25)

5.4 Zad´ av´ an´ı dat

Souˇc´ast´ı zad´av´an´ı dat je n´avrh a popis zp˚usob˚u z´ısk´av´an´ı poˇzadovan´ych informac´ı k ´uspˇeˇsn´emu proveden´ı revizn´ı kontroly.

5.4.1 Zad´ av´ an´ı datumu

Uˇzivateli se pˇri kliknut´ı na kolonku datumu zobraz´ı kaledn´aˇr s aktu´aln´ım datem a uˇzivatel si pot´e zvol´ı poˇzadovan´e datum.

5.4.2 Zad´ av´ an´ı adresy

Uˇzivatel pˇri vyplˇnov´an´ı klientovy adresy bude m´ıt na v´ybˇer, zda ji vypln´ı ruˇcnˇe, ˇci vyuˇzije detekce aktu´aln´ı polohy. Detekov´an´ı adresy bude zajiˇstˇeno pomoc´ı re- verzn´ıho geok´odov´an´ı, coˇz znamen´a pˇrevod GPS souˇradnic na adresu. Zjiˇstˇen´ı aktu-

´

aln´ıch GPS souˇradnic zaˇr´ızen´ı bude z´ısk´ano d´ıky GPS modulu v mobiln´ım zaˇr´ızen´ı, s pˇr´ıpadnou kooperac´ı s internetov´ym pˇripojen´ım.

5.4.3 Specifikace z´ avad

Uˇzivatel bude m´ıt moˇznost vyplnit zjiˇstˇen´e z´avady ruˇcnˇe, nicm´enˇe z d˚uvodu ´uspory ˇcasu bude m´ıt tak´e moˇznost zadat z´avady v´ybˇerem z pˇredpˇripraven´ych. Pˇri kliknut´ı na kolonku se uˇzivateli zobraz´ı dialog se z´avadami a po zvolen´ı poˇzadovan´ych se tyto z´avady zobraz´ı v n´aleˇz´ıc´ı kolonce. Pˇri zvolen´ı z´avad, pro kter´e je nutn´e vyplnit i nejzazˇs´ı datum odstranˇen´ı se zobraz´ı kalend´aˇr k zad´an´ı.

5.4.4 Elektronick´ y podpis

Po ´uspˇeˇsn´em vyplnˇen´ı vˇsech poˇzadov´ych informac´ı se na konci dotazn´ıku bude nach´azet prostor pro elektronick´y podpis. Zad´av´an´ı bude zajiˇstˇeno pomoc´ı zobra- zen´e obrazovky urˇcen´e ke kreslen´ı. V´ysledek kreslen´ı bude moˇzn´e uloˇzit, ˇci v pˇr´ıpadˇe nespokojenosti smazat. Pot´e bude v´ysledek uloˇzen jako obr´azek a vloˇzen do proto- kolu

5.4.5 Export do PDF form´ atu

Z´ıskan´a data budou um´ıstˇena na patˇriˇcn´a m´ısta v pˇredpˇripraven´em dokumentu, kter´y bude ve form´atu HTML a pot´e bude dokument exportov´an do form´atu PDF pomoc´ı vhodn´e knihovny.

5.4.6 Odesl´ an´ı do ´ uloˇ ziˇ stˇ e

Odesl´an´ı dokumentu do ´uloˇziˇstˇe bude prob´ıhat ihned po uloˇzen´ı protokolu. Bude odesl´ano do ´uloˇziˇstˇe v cloudov´e platformˇe na ´uˇcet, kter´ym byl uˇzivatel pˇrihl´aˇsen

(26)

do aplikace. Cel´y tento proces bude prob´ıhat pomoc´ı n´astroj˚u zvolen´e cloudov´e platformy.

5.4.7 Notifikace expirac´ı reviz´ı

Uˇzivatele bude aplikace notifikovat v pˇr´ıpadˇe bl´ıˇz´ıc´ı se expirace revize. Coˇz znamen´a, ˇze pˇri ukl´ad´an´ı revize se tak´e bude ukl´adat datum pro ozn´amen´ı. Pˇresnˇe jeden mˇes´ıc pˇred expirac´ı revize bude uˇzivateli tato skuteˇcnost ozn´amena.

5.5 Registrace uˇ zivatele

Pˇri prvotn´ım spuˇstˇen´ı aplikace bude zobrazena obrazovka pro vyplnˇen´ı pˇrihlaˇsova- c´ıch ´udaj˚u. Registrace uˇzivatele bude moˇzn´a pˇreklikem na registrovac´ı obrazovku, kde uˇzivatel zad´a e-mailovou adresu a heslo(3.1 ). Registrovat uˇzivatele bude tak´e moˇzn´e pˇres port´al cloudov´e platformy, ovˇsem tuto moˇznost bude m´ıt pouze admin aplikace, viz 5.6. Pˇres zm´ınˇen´y port´al bude prob´ıhat i autentizace pomoc´ı e-mailu.

Mobiln´ı aplikace bude nab´ızet, v pˇr´ıpadˇe potˇreby, moˇznou obnovu hesla. Obnova bude prob´ıhat pomoc´ı zaslan´eho tokenu na e-mailovou adresu uˇzivatele(3.2 ).

5.6 Funkce admina

Na port´alu cloudov´e platformy bude m´ıt admin pˇr´ıstup k veˇsker´ym proveden´ym reviz´ım(4.1 ) a bude m´ıt moˇznost pˇridat, odstranit, ˇci upravit uˇzivatele(4.2, 4.3 ) a bude mu umoˇznˇeno operovat nad daty klient˚u(4.4 ).

(27)

6 Implementace

Po zd´arn´em n´avrhu ˇreˇsen´ı aplikace je dalˇs´ım krokem implementace. Tato kapitola se zab´yv´a architekturou aplikace, implementac´ı funkˇcn´ıch prvk˚u, jako je automatick´e vyplnˇen´ı adresy, ˇci elektronick´y podpis a d´ale jsou zde pops´any pouˇzit´e technologie pˇri v´yvoji aplikace.

6.1 Architektura aplikace

Tato pr´ace je vyv´ıjena s vyuˇzit´ım architektury MVC, kter´a vyˇzaduje tˇri z´akladn´ı komponenty: Model, View a Controller. MVC architektura je vhodn´a pro pouˇzit´ı v pˇr´ıpadˇe, ˇze

”logika”uˇzivatelsk´e prostˇred´ı je mˇenˇena ˇcastˇeji neˇz

”business logika”a je zapotˇreb´ı oddˇelen´ı funkc´ı uˇzivatelsk´eho prostˇred´ı. [7]

Obr´azek 6.1: Sch´ema MVC architektury, zdroj: [7]

V t´eto pr´aci je za View povaˇzov´an Fragment (6.1.2), Controller je pot´e Activity (6.1.1) a Model je Model (6.1.3).

(28)

6.1.1 Activity

Aktivita pˇredstavuje jednu obrazovku aplikace, jenˇz interaguje s uˇzivatelem. V apli- kaci se nach´az´ı jedna hlavn´ı aktivita (MainActivity), kter´a se zobrazuje uˇzivateli ihned po spuˇstˇen´ı aplikace. Aktivita m˚uˇze spouˇstˇet dalˇs´ı aktivity, pˇriˇcemˇz se pˇred- choz´ı aktivita zastav´ı a odeˇsle do z´asobn´ıku, kter´y funguje na principu LIFO (Last in - First out). V pˇr´ıpadˇe stisku tlaˇc´ıtka

”zpˇet”se obnov´ı ze z´asobn´ıku posledn´ı vloˇzen´a aktivita.[3]

V tabulce6.1 jsou vyjmenov´any a kr´atce pops´any vˇsechny aktivity t´eto pr´ace.

Tabulka 6.1: Popis aktivit N´azev aktivity Popis

ClientCardActivity Zobrazuje kartu klienta ClientsActivity Zobrazuje seznam klient˚u EditFormActivity Zobrazuje ´upravu dotazn´ıku FormActivity Zobrazuje dotazn´ık

LoginActivity Zobrazuje pˇrihl´aˇsovac´ı formul´aˇr MainActivity Zobrazuje ´uvodn´ı obrazovku ResetPasswordActivity Zobrazuje formul´aˇr k obnovˇe hesla SignUpActivity Zobrazuje registraˇcn´ı formul´aˇr WebViewActivity Zobrazuje n´ahled revize

WelcomeActivity Zobrazuje uv´ıtac´ı obrazovku

6.1.2 Fragment

Fragment pˇredstavuje ´upln´e nebo ˇc´asteˇcn´e uˇzivatelsk´e prostˇred´ı aktivity (Activity), vˇcetnˇe kompetentn´ıch metod. M˚uˇze b´yt tak´e souˇc´ast´ı jin´eho fragmentu, ˇci aktivity.

[4]

V t´eto pr´aci byl fragment vyuˇzit k snadnˇejˇs´ı implementaci spodn´ı navigaˇcn´ı liˇsty (Bottom Navigation Baru) (Obr. 6.2), kter´y slouˇz´ı k navigaci po aplikaci. Celkem aplikace obsahuje tˇri z´akladn´ı fragmenty: HomeFragment - domovsk´a str´anka, Cli- entFragment - seznam klient˚u a SettingsFragment - str´anka nastaven´ı.

Obr´azek 6.2: Bottom Navigation Bar

(29)

6.1.3 Model

Model je drˇzitelem dat aplikace, jin´ymi slovy modeluje vˇeci, kter´ymi se aplikace zab´yv´a. Model se nikterak nezab´yv´a uˇzivatelsk´ym prostˇred´ım a jeho jedinou ´ulohou je uchov´av´an´ı a spr´ava dat.[4] V t´eto pr´aci jsou naimplementov´any dva modely, konkr´etnˇe Client model a User model. Na obr´azku6.3jsou vyobrazeny oba modely, jejich promˇenn´e a metody.

Model Client v sobˇe uchov´av´a vˇsechny informace klienta, jako jsou jm´eno, adresa, ˇci telefonn´ı ˇc´ıslo, ale tak´e informace k proveden´e revizn´ı kontrole. Model poskytuje metody, kter´e m˚uˇzou s daty klienta pracovat. Na obr. 6.3 nejsou uvedeny vˇsechny metody. User model v sobˇe uchov´av´a z´akladn´ı informace o uˇzivateli - identifikaˇcn´ı ˇc´ıslo, e-mailovou adresu a pˇr´ısluˇsn´e metody.

Obr´azek 6.3: ˇC´ast User a Client modelu

6.1.4 Adapter

Adapt´er je objekt kontroleru, kter´y se, pomyslnˇe, nach´az´ı mezi listem a daty, kter´e m´a list zobrazit. Hlavn´ı ´ulohou adapt´eru je vytvoˇren´ı potˇrebn´ych ViewHolder˚u, jenˇz popisuj´ı zobrazen´ı a um´ıstˇen´ı poloˇzek v listu, a tyto ViewHoldery sv´azat s daty z Modelu.[4]

V t´eto pr´aci je pouˇzit pouze jeden adapt´er - ClientAdapter (Obr.6.4), kter´y slouˇz´ı k vytvoˇren´ı seznamu klienta a definuje, jak seznam bude vypadat a interagovat s uˇzivatelem. Adapt´er je rozˇs´ıˇren pomoc´ı implementace Filterable, kter´a zajiˇst’uje filtraci poloˇzek a SectionIndexer, kter´a slouˇz´ı k rychl´emu rolov´an´ı mezi abecedn´ımi sekcemi v seznamu.

(30)

Obr´azek 6.4: Adapt´er ClientAdapter

6.2 Funkˇ cn´ı prvky

Tato podkapitola se zab´yv´a implementac´ı funkˇcn´ıch prvk˚u, kter´e pˇrisp´ıvaj´ı k zajiˇstˇe- n´ı poˇzadovan´ych funkcionalit. Jsou zde pops´any zvolen´e pomocn´e knihovny a tˇr´ıdy.

6.2.1 Zad´ av´ an´ı datumu

K zad´av´an´ı datumu byl vyuˇzit DatePickerDialog (Obr.6.5a), jenˇz pomoc´ı abstraktn´ı tˇr´ıdy Calendar umoˇzˇnuje volit datum z kalend´aˇre. K z´ısk´an´ı aktu´aln´ıho data je vyuˇzita metoda tˇr´ıdy Calendar : getInstance. Nicm´enˇe revizn´ı dotazn´ık vyˇzaduje v´ıce form´at˚u data a proto bylo nutn´e vytvoˇrit DatePickerDialogy s r˚uzn´ymi form´aty, kter´e byly definov´any pomoc´ı tˇr´ıdy SimpleDateFormat.

6.2.2 Definice z´ avad

MultiSelectDialog (Obr. 6.5b) je knihovna, kter´a umoˇzˇnuje vytvoˇrit seznam prvk˚u z nichˇz uˇzivatel vyb´ır´a. Dialog disponuje vyhled´avaj´ıc´ım ok´enkem, kter´y vyuˇz´ıv´a zv´yrazˇnov´an´ı textu. Pˇri implementaci bylo nutn´e definovat pravidla v´ybˇeru, jako napˇr´ıklad minim´aln´ı a maxim´aln´ı poˇcet vybran´ych poloˇzek a tak´e seznam poloˇzek k v´ybˇeru pomoc´ı MultiSelectModelu.[8]

(31)

(a) Zad´avan´ı datumu (b) Volba z´avad pomoc´ı MultiSelectDialogu

Obr´azek 6.5: Zad´av´an´ı datumu/Definice z´avad

6.2.3 Automatick´ e vyplnˇ en´ı adresy

Zaveden´ı automatick´eho vyplnˇen´ı adresy na z´akladˇe aktu´aln´ı polohy je ˇreˇseno po- moc´ı Location Manager, coˇz je tˇr´ıda, jenˇz poskytuje pˇr´ıstup ke sluˇzb´am urˇcov´an´ı polohy zaˇr´ızen´ı. Tyto sluˇzby umoˇzˇnuj´ı aplikac´ım z´ıskat pravideln´e aktualizace geo- grafick´e polohy zaˇr´ızen´ı nebo b´yt upozornˇeny, kdyˇz se zaˇr´ızen´ı nach´az´ı v bl´ızkosti dan´e geografick´e polohy. Tˇr´ıda LocationManager generuje objekt Location, kter´y pˇredstavuje geografick´e um´ıstˇen´ı. Vˇsechna um´ıstˇen´ı generovan´a n´astrojem Locati- onManager maj´ı zaruˇcenou platnou zemˇepisnou ˇs´ıˇrku, d´elku a ˇcasov´e raz´ıtko.

V´yˇse uveden´e tˇr´ıdy zajiˇst’uj´ı aktu´aln´ı pozici zaˇr´ızen´ı popsanou pomoc´ı zemˇepisn´e ˇs´ıˇrky a d´elky. K pˇreveden´ı tˇechto souˇradnic na adresu je vyuˇzit Geocoder. Jedn´a se o tˇr´ıdu pro manipulaci s geok´odov´an´ım a reverzn´ım geok´odov´an´ım. Geok´odov´an´ı je proces transformace adresy ulice nebo jin´eho popisu m´ısta na souˇradnice (zemˇepisn´a ˇs´ıˇrka, d´elka). Reverzn´ı geok´odov´an´ı je proces opaˇcn´y, tzn. transformace souˇradnic na adresu. K ´uspˇeˇsn´emu pouˇzit´ı tˇechto metod jsou vyˇzadov´ana opr´avnˇen´ı, konkr´etnˇe ACCESS COARSE LOCATION a ACCESS FINE LOCATION. [4]

(32)

6.2.4 Elektronick´ y podpis

K implementaci elektronick´eho podpisu byla vyuˇzita knihovna DrawView [9], kter´a nen´ı prim´arnˇe urˇcena k vytv´aˇren´ı elektronick´eho podpisu, n´ybrˇz k prost´emu ma- lov´an´ı. Nicm´enˇe v t´eto pr´aci byla vyuˇzita pouze jej´ı element´arn´ı funkˇcnost, tedy zazn´amen´av´an´ı pohybu prstu po vymezen´em prostoru bez moˇznosti modifikace kre- sl´ıc´ıho n´asroje. Vymezen´y prostor je doplnˇen o tˇri, takzvan´e FloatingActionButtony, kter´e umoˇzˇnuj´ı uloˇzen´ı podpisu, vymaz´an´ı podpisu a zruˇsen´ı v´ykon´av´an´ı podpisu (Obr. 6.6). Takto vytvoˇren´y podpis je pot´e uloˇzen formou bitmapov´eho obr´azku, kter´y je n´aslednˇe exportov´an do form´atu PNG a zak´odov´an v r´amci Base64.

Obr´azek 6.6: Elektronick´y podpis

6.2.5 Export do form´ atu PDF

P˚uvodn´ım zam´yˇslen´ym postupem pˇri exportov´an´ı revizn´ıho protokolu do PDF for- m´atu bylo vyuˇzit´ı urˇcit´ych knihoven pro tvorbu PDF dokument˚u. Nicm´enˇe pˇri ˇreˇserˇsi takov´ych knihoven nebyly shled´any ˇz´adn´e, kter´e by byly bezplatnˇe dostupn´e, respek- tive by splˇnovaly poˇzadovan´e funkcionality pro tvorbu revizn´ıch protokol˚u. Z toho d˚uvodu po ´uspˇeˇsn´em vyplnˇen´ı vˇsech informac´ı v revizn´ıho dotazn´ıku je vytvoˇren revizn´ı protokol v HTML form´atu, kter´y je n´aslednˇe pomoc´ı knihovny PDF Gene- rator [10] exportov´an do form´atu PDF.

6.2.6 Seznam klient˚ u

Pro vytvoˇren´ı pˇrehledn´eho a intuitivn´ıho seznamu klient˚u (Obr. 5.6c) byla vyuˇzita knihovna AlphabetIndex FastScroller pro Android RecyclerView [11]. Tato knihovna rozˇsiˇruje klasick´y RecyclerView o moˇznost vyhled´av´an´ı poloˇzek pomoc´ı vyhled´av´a- c´ıho ok´enka a rychl´emu pˇrechodu mezi abecedn´ımi sekcemi.

(33)

6.2.7 Notifikace

Notifikace bl´ıˇz´ıc´ıch se expirac´ı revizn´ıch kontrol je naimplementov´ana vyuˇzit´ım kni- hovny NotifyMe[12], pomoc´ı kter´e se definuje term´ın notifikace, jej´ı znˇen´ı, tlaˇc´ıtka a cesty po jejich kliknut´ı. Ozn´amen´ı o bl´ıˇz´ıc´ı se expiraci se uˇzivateli objev´ı pˇresnˇe jeden mˇes´ıc pˇred vyprˇsen´ım revize, aby mˇel uˇzivatel dostatek ˇcasu o tom informo- vat sv´eho klienta, v pˇr´ıpadˇe, ˇze se klient jiˇz neobjednal na novou revizn´ı kontrolu.

Notifikace (Obr.6.7) zobrazuje jm´eno klienta a datum expirace. Notifikaci je moˇzn´e odstranit, ˇci se pˇresunout do aplikace.

Obr´azek 6.7: N´ahled notifikace

6.3 Datov´ y model

Mobiln´ı aplikace vyuˇz´ıv´a sluˇzeb Google Firebase, d´ale v 6.4.3. Ty umoˇzˇnuj´ı komu- nikaci datab´aze s aplikac´ı, pˇriˇcemˇz je vyuˇz´ıv´ana stromov´a struktura datab´aze (Obr.

6.8a) ve form´atu JSON. Koˇrenov´ym uzlem datab´aze je jej´ı n´azev, kter´y obsahuje uˇzivatele aplikace, jako uzel prvn´ı ´urovnˇe. Uˇzivateli je pˇri registraci pˇridˇelen unik´atn´ı kl´ıˇc, kter´y slouˇz´ı jako uzel druh´e ´urovnˇe, jenˇz v sobˇe uchov´av´a uˇzivatelovu e-mailovou adresu a uzel tˇret´ı ´urovnˇe - uˇzivatelovi klienty. Kaˇzd´y klient m´a vytvoˇren´y vlastn´ı uzel ˇctvrt´e ´urovnˇe v nˇemˇz jsou vˇsechny ´udaje uloˇzeny pomoc´ı typu String. Kaˇzd´y klient tak´e obsahuje URL odkaz na vyexportovan´y revizn´ı protokol, jenˇz se nach´az´ı v Firebase Storage (Obr.6.8b). Dokumenty jsou ukl´ad´any na z´akladˇe vytvoˇren´ı kli- entova uzlu a v pˇr´ıpadˇe ´upravy, ˇci smazan´ı klienta je dokument upraven, respektive smaz´an. Nicm´enˇe v pˇr´ıpadˇe ´upravy klienta, kter´a slouˇz´ı k obnoven´ı revizn´ı kontroly, tzn. ˇze se mˇen´ı rok proveden´ı, je smaz´an p˚uvodn´ı klient˚uv uzel, ale nikoliv p˚uvodn´ı dokument klienta. Jin´ymi slovy v datab´azi se udrˇzuj´ı pouze aktu´aln´ı data klient˚u a ve Storage se nach´az´ı aktu´aln´ı i pˇredchoz´ı dokumenty.

(34)

(a) Firebase datab´aze

(b) Firebase storage Obr´azek 6.8: Datov´y model

6.4 Pouˇ zit´ e technologie

Pr´ace byla implementov´ana s vyuˇzit´ım vhodn´ych pomocn´ych technologi´ı. V t´eto podkapitole jsou pops´any jednotliv´e technologie a jejich vyuˇzit´ı v aplikaci.

6.4.1 Programovac´ı jazyk

Java je objektovˇe orientovan´y programovac´ı jazyk, jenˇz vych´az´ı z jazyka C a C++.

Mezi jeho hlavn´ı znaky patˇr´ı jednoduchost, robustnost, pˇrenositelnost a bezpe- ˇcnost.[13]

Pro v´yvoj mobiln´ı aplikace v operaˇcn´ım syst´emu Android je moˇzn´e volit ze dvou jazyk˚u - Javy a Kotlinu. Nicm´enˇe z d˚uvodu pˇredeˇsl´ych zkuˇsenost´ı s jazykem Java nebylo o volbˇe druh´e moˇznosti uvaˇzov´ano.

6.4.2 V´ yvojov´ e prostˇ red´ı

K v´yvoji mobiln´ıch aplikac´ı v operaˇcn´ım syst´emu Android je optim´aln´ı vyuˇz´ıt In- tegrated Development Environment (IDE) od spoleˇcnosti Google, tedy Android Studio. Tento program umoˇzˇnuje nejen programovat aplikace nativnˇe pro Android, avˇsak tak´e obsahuje Software Development Kit (SDK) Managera, d´ıky kter´emu je moˇzn´e nainstalovat SDK, coˇz je sada v´yvojov´ych n´astroj˚u. Z´asadn´ı v´yhodou to- hoto v´yvojov´eho prostˇred´ı je integrovan´y Android emul´ator, jenˇz slouˇz´ı ke spuˇstˇen´ı aplikace na zaˇr´ızen´ı a je moˇzn´e n´asledn´e testov´an´ı na v´ıce verz´ıch Androidu. [3]

(35)

V t´eto pr´aci bylo Android Studio vyuˇzito jako prim´arn´ı v´yvojov´e prostˇred´ı a apli- kace byla pomoc´ı tohoto programu testov´ana na verz´ıch Android 5.0 aˇz 10.0.

6.4.3 Uloˇ ´ ziˇ stˇ e

Google Firebase[14] je cloudov´a platforma od spoleˇcnosti Google. Tato platforma slouˇz´ı jako pomocn´y n´astroj pˇri v´yvoji iOS, Android a webov´ych aplikac´ı. Nab´ız´ı hned nˇekolik moˇzn´ych vyuˇzit´ı. Mezi jeho z´akladn´ı funkce patˇr´ı realtime datab´aze, kter´a je typem NoSQL a nevyˇzaduje konstantn´ı pˇripojen´ı k internetu. Cloudov´e

´

uloˇziˇstˇe je moˇzn´e vyuˇz´ıvat jen do urˇcit´e velikosti pamˇeti. Ta je urˇcena na z´akladˇe zvolen´eho cenov´eho pl´anu. Firebase d´ale disponuje statistick´ymi ´udaji vyuˇzit´ı apli- kace, ˇci autentizac´ı uˇzivatel˚u.

Google Firebase byl v t´eto pr´aci znaˇcnˇe vyuˇz´ıv´an. Registrace uˇzivatel˚u je ˇreˇsena pˇres autentizaˇcn´ı port´al s vyuˇzit´ım e-mailov´e adresy. K vytvoˇren´ı datab´aze uˇzivatel˚u a klient˚u je vyuˇzita funkce Realtime datab´aze, zejm´ena z d˚uvodu kontinu´alnˇe pro- b´ıhaj´ıc´ıho pˇrenosu dat mezi uˇzivateli a vyuˇzit´ı pouze jedn´e datab´aze. K v´yvoji apli- kace byl zvolen startovac´ı program, kter´y nab´ız´ı vyuˇzit´ı aˇz 1 GB ´uloˇziˇstˇe, kter´y pˇri velikosti nahr´avan´ych soubor˚u 60 aˇz 85 Kb, je dostaˇcuj´ıc´ı. Aplikace vyuˇz´ıv´a tak´e moˇznosti automatick´eho zas´ıl´an´ı token˚u pro obnovu hesla, jejichˇz znˇen´ı je pˇreddefinovan´e adminem.

6.4.4 Spr´ ava verz´ı

Ke spr´avˇe zdrojov´ych k´od˚u aplikace byla vyuˇz´ıv´ana webov´a sluˇzba GitHub.[15]

Tato sluˇzba spad´a pod spoleˇcnost Microsoft a pouˇz´ıv´a verzovac´ı n´astroj Git. Mezi hlavn´ı moˇznosti vyuˇz´ıt´ı t´eto sluˇzby patˇr´ı interakce program´atora s uˇzivateli, kdy je moˇzn´e sledovat reportovan´e probl´emy, vˇcetnˇe poˇzadavk˚u na nov´e funkcionality.

D´ale tak´e moˇznost vytv´aˇren´ı dokumentace a nebo napˇr´ıklad hled´an´ı rozd´ıl˚u mezi verzemi k´odu.

V t´eto pr´aci byl vyuˇz´ıv´an zejm´ena jako ochrana pˇred ztr´atou dat. Nahr´av´an´ı soubor˚u do repozit´aˇre bylo prov´adˇeno pr˚ubˇeˇznˇe aˇz v druh´e polovinˇe v´yvoje aplikace.

Repozit´aˇr je definov´an jako priv´atn´ı a nen´ı tedy pˇr´ıstupn´y veˇrejnosti.

6.4.5 Zpˇ rehlednˇ en´ı k´ odu

Pˇri v´yvoji mobiln´ı aplikace je vhodn´e vyuˇz´ıt knihovny, kter´e zpˇrehledˇnuj´ı k´od a us- nadˇnuj´ı jeho z´apis. ButterKnife[16] je knihovna, jenˇz vyuˇz´ıv´a Annotation Processing, coˇz je proces zpracov´an´ı anotac´ı, kter´y ovˇeˇruje jejich spr´avn´e pouˇzit´ı. Zjednoduˇsuje pr´aci s View prvky, kter´e se nach´az´ı aktivit´ach a nebo tak´e s ud´alostmi OnClick, kter´e definuj´ı ud´alost po stisku tlaˇc´ıtka.

(36)

6.5 Zabezpeˇ cen´ı

Mobiln´ı aplikace, o kter´e pojedn´av´a tato pr´ace, je vyv´ıjena v´yhr´adnˇe pro jednu spoleˇcnost, a proto nebude moˇzn´e jej´ı staˇzen´ı z jak´ekoliv distribuˇcn´ı sluˇzby a jej´ı zdrojov´e soubory nebudou pˇr´ıstupn´e veˇrejnosti. Z toho d˚uvodu nen´ı aplikace oˇsetˇre- na propracovanˇejˇs´ım zabezpeˇcen´ım a ochrana dat je na ´urovni ochrany platformy Firebase a jsou pouze definov´ana pravidla pro z´apis a ˇcten´ı datab´aze.

(37)

7 Testov´ an´ı

Testov´an´ı progamu je pˇri v´yvoji mobiln´ı aplikace a jin´ych SW podstatnou ˇc´ast´ı budov´an´ı programu. Aplikace byla testov´ana nespoˇcetnˇekr´at bˇehem v´yvoje. Ovˇsem takov´e testov´an´ı nedok´aˇze nahradit pouˇzit´ı v re´aln´em procesu. Proto je nezbytnˇe nutn´e otestovat aplikaci uˇzivatelem, kter´y ji pot´e bude dennˇe pouˇz´ıvat, aby byly nalezeny pˇr´ıpadn´e nedostatky a chyby.

7.1 Testy v pr˚ ubˇ ehu v´ yvoje

Pˇri v´yvoji aplikace ve v´yvojov´em prostˇred´ı Android Studio (6.4.2) se nab´ız´ı dvˇe moˇznosti testov´an´ı aplikace. Aplikace je moˇzn´e v kteroukoliv chv´ıli nainstalovat do emul´atoru, ˇci na mobiln´ı telefon a aktu´aln´ı verzi programu otestovat.

Obˇe varianty maj´ı sv´e kladn´e a z´aporn´e str´anky. Mezi v´yhody testov´an´ı aplikace na emul´atoru patˇr´ı moˇznost sledov´an´ı dˇen´ı na konzoli. Do konzole je moˇzn´e vypisovat pomocn´e hl´aˇsen´ı pˇri bˇehu aplikace. To m˚uˇze usnadnit nalezen´ı pˇr´ıpadn´ych probl´em˚u.

D´ale emul´ator umoˇzˇnuje testov´an´ı aplikace na r˚uzn´ych zaˇr´ızen´ıch s r˚uzn´ymi ver- zemi operaˇcn´ıho syst´emu. Naopak jeho nev´yhodou m˚uˇze b´yt neautentick´a interakce s uˇzivatelem a ˇcast´e pot´ıˇze pˇri instalaci.

V pˇr´ıpadˇe testov´an´ı na mobiln´ım zaˇr´ızen´ı, kter´y nen´ı aktu´alnˇe pˇripojen k poˇc´ı- taˇci, nen´ı moˇznost sledov´an´ı bˇehu aplikace a pˇr´ıpadn´ych chyb v konzoli. Naopak je zde moˇznost autentick´eho pouˇzit´ı aplikace, kdy je moˇzn´e odhalit vzhledov´e nedoko- nalosti a vyzkouˇset pr´aci s aplikac´ı na re´aln´em zaˇr´ızen´ı.

7.1.1 Android emul´ ator

Pro testov´an´ı byl zvolen emul´ator, kter´y se nach´az´ı pˇr´ımo v programu Android Stu- dio. Tento emul´ator je nejdoporuˇcovanˇejˇs´ı pro vyuˇzit´ı, v pˇr´ıpadˇe programov´an´ı ve v´yvojov´em prostˇred´ı Android Studio. Pro moˇzn´e testov´an´ı je nutn´e m´ıt nainstalo- van´y SDK pro Android. K tomu napom´ah´a SDK Manager um´ıstˇen´y v Android Stu- diu. Nicm´enˇe instalace SDK m˚uˇze b´yt v urˇcit´ych pˇr´ıpadech problematick´a, protoˇze je nutn´e dodrˇzet jist´a pravidla, napˇr´ıklad lokace SDK mus´ı obsahovat pouze ASCII znaky.

K testov´an´ı byly zvoleny nejnovˇejˇs´ı syst´emy Android 9.0 s SDK 28 a Android 10.0 s SDK 29. Pˇri testov´an´ı nebyly shled´any ˇz´adn´e funkˇcn´ı ani vzhledov´e chyby.

Rozliˇsen´ı bylo zvoleno na z´akladˇe volby revizn´ıho technika, kter´y poˇzadoval rozliˇsen´y pro tablet, konkr´etnˇe se jednalo o rozliˇsen´ı 1200 x 1920 px. Na tomto rozliˇsen´ı se

(38)

aplikace zobrazovala bezchybnˇe. Pr´ace byla testov´ana i na menˇs´ım rozliˇsen´ı, kter´e vˇsak v urˇcit´ych f´az´ıch nesplˇnovala poˇzadovan´y vzhled. Pˇrizp˚usoben´ı aplikace i pro menˇs´ı zaˇr´ızen´ı se nach´az´ı v moˇzn´ych rozˇs´ıˇren´ıch aplikace.

7.1.2 Mobiln´ı telefon s Android

Pro testov´an´ı aplikace na re´aln´em zaˇr´ızen´ı nebylo moˇzn´e vyuˇz´ıt zaˇr´ızen´ı s vˇetˇs´ım rozliˇsen´ım. Vyuˇz´ıv´an byl mobiln´ı telefon s menˇs´ım rozliˇsen´ım, Huawei Mate 20 Pro s rozliˇsen´ım 3120 x 1440 px a operaˇcn´ım syst´emem Android 10.0. Aplikace se na zaˇr´ızen´ı v urˇcit´ych ˇc´astech nezobrazovala spr´avnˇe a testov´an´ı slouˇzilo z vˇetˇs´ı ˇc´asti pouze k posouzen´ı fungov´an´ı specifikovan´ych poˇzadavk˚u.

Nˇekter´e funkce na Android emul´atoru nebylo moˇzn´e dostateˇcnˇe vyzkouˇset. Jed- nalo se kupˇr´ıkladu o automatick´e vyplnˇen´ı adresy v dotazn´ıku, kde Android emul´ator nab´ızel pouze lokaci v Severn´ı Americe, Kalifornii. U mobiln´ıho telefonu se pot´e otes- tovalo spr´avn´e posouzen´ı pˇri zmˇenˇe pozice, viz Obr. 7.1.

(a) Aktu´aln´ı pozice na mapˇe

(b) Automaticky vyplnˇen´a adresa

Obr´azek 7.1: Testov´an´ı polohy

7.2 Testy v re´ aln´ em pouˇ zit´ı

Po dokonˇcen´ı aplikace byla testov´ana revizn´ım technikem v re´aln´em pouˇzit´ı. K tes- tov´an´ı mˇel p˚uvodnˇe slouˇzit technik˚uv tablet s ´uhlopˇr´ıˇckou 7”a rozliˇsen´ım 1200 x 1920 px a operaˇcn´ım syst´emem Android 7.1. Nicm´enˇe z d˚uvodu defektu na zaˇr´ızen´ı bylo nutn´e vyuˇz´ıt technik˚uv mobiln´ı telefon Lenovo Z2 s ´uhlopˇr´ıˇckou 5”a rozliˇsen´ım 1080 x 1920 px a operaˇcn´ım syst´emem Android 5.0.2. Znaˇcnou v´yhodou pˇri vyuˇzit´ı toho zaˇr´ızeno bylo moˇzn´e otestov´an´ı chodu a podpory aplikace na v´yraznˇe starˇs´ı verzi syst´emu Android. Aplikace fungovala bez jak´ychkoliv obt´ıˇz´ı a bylo moˇzn´e ji otesto- vat v re´aln´em pouˇzit´ı. Testov´an´ı v praxi se vˇenuje tabulka7.1, kde jsou zaznamen´any hodnocen´e oblasti testov´an´ı.

Mezi testovan´e oblasti patˇr´ı intiutivnost, vzhled, funkˇcnost, v´ykon, podporovatel- nost, bezpeˇcnost a pouˇzitelnost aplikace. Revizn´ı technik hodnotil aplikace obdobnˇe jako ve ˇskole, tzn. zn´amkami 1-5 a pˇr´ıpadn´ymi koment´aˇri. Technik oznaˇcil uˇzivatelsk´e rozhran´ı aplikace ze velmi intuitivn´ı a pˇr´ıjemn´e. Byl spokojen s funkˇcnost´ı aplikace,

(39)

jenˇz pˇresnˇe splˇnuje specifikovan´e poˇzadavky. D´ale hodnotil v´ykon aplikace, u kter´eho mˇel menˇs´ı v´yhrady pˇri naˇc´ıt´an´ı seznamu klient˚u. To vˇsak bylo zp˚usobeno nejsp´ıˇse n´ızkou kvalitou pˇripojen´ı v dan´em momentu, jelikoˇz pˇri zmˇenˇe pozice naˇc´ıt´an´ı nebylo nikterak zdlouhav´e. Dalˇs´ım bodem byla bezpeˇcnost aplikace, kde byla hodnocena zejm´ena technick´a odolnost, napˇr´ıklad na vstupech aplikace. Technik uvedl celko- vou spokojenost s bezpeˇcnost´ı, nicm´enˇe podotkl nutn´e sezn´amen´ı s pravidly vstupu, kter´e jsou vˇsak pˇripomenuty v pˇr´ıpadˇe zad´an´ı nespr´avn´eho vstupu.

N´aslednˇe revizn´ı technik zhodnotil podporovatelnost aplikace, kdy nemˇel ˇz´adn´e obt´ıˇze pˇri instalaci aplikace a hardwarovou ˇci softwarovou konfigurac´ı. Fin´aln´ım hodocen´ım byla pouˇzitelnost aplikace v re´aln´em pouˇzit´ı. Technik vyhodnotil aplikaci jako zdaˇrilou a vhodnou pro zefektivnˇen´ı a ulehˇcen´ı pr´ace revizn´ım technik˚um.

Tabulka 7.1: Testov´an´ı v re´aln´em pouˇzit´ı Oblast testov´an´ı Hodnocen´ı* Koment´aˇr

Intuitivnost 1

Vzhled 1

Funkˇcnost 1

V´ykon 1- dlouh´e naˇc´ıt´an´ı

Bezpeˇcnost 1 pravidla vstup˚u

Podporovatelnost 1

Pouˇzitelnost 1

*Hodnocen´ı jako ve ˇskole 1-5, 1 nejlepˇs´ı, 5 nejhorˇs´ı.

(40)

8 Nasazen´ı

Ve chv´ıli, kdy je aplikace vyvinuta a n´aleˇzitˇe otestov´ana, je fin´aln´ım krokem jej´ı publikace. Android aplikace je moˇzn´e nasadit dvˇema zp˚usoby - na Marketplace nebo mimo nˇej.

8.1 Google Play

Google Play [17] je platforma slouˇz´ıc´ı k publikaci, distribuci a monetizaci aplikace po cel´em svˇetˇe. Google Play nab´ız´ı anal´yzu stahov´an´ı aplikace a napom´ah´a ke kon- trole distribuce a identifikaci trhu. K nasazen´ı aplikace na t´eto platformˇe jsou vˇsak potˇrebn´e pˇr´ıpravn´e ´ukony, mezi kter´e patˇr´ı sn´ımky obrazovky, grafika a dalˇs´ı ma- teri´aly k propagaci aplikace. D´ale je nutn´e definovat parametry aplikace, jenˇz slouˇz´ı ke kategorizaci aplikace, a v neposledn´ı ˇradˇe tak´e zemˇe a jazyky, pro kter´e bude aplikace dostupn´a.

8.2 Sd´ılen´ y odkaz

V pˇr´ıpadˇe rozhodnut´ı nenab´ızet aplikaci na nˇejak´em z Marketplace je moˇzn´a jej´ı distribuce pomoc´ı webov´ych str´anek nebo serveru. K tomu staˇc´ı vytvoˇrit Android Application Package (APK) a ten um´ıstit na web, ˇci server a poskytnout uˇzivatel˚um odkaz na staˇzen´ı. APK soubor pot´e staˇc´ı st´ahnout do zaˇr´ızen´ı. Nicm´enˇe pro auto- matickou instalaci je nutn´e nejprve na zaˇr´ızen´ı potrvdit instalace aplikac´ı z port´alu tˇret´ıch stran.

Tato pr´ace je distribuov´ana pomoc´ı sd´ılen´eho linku. D˚uvodem je pouˇzit´ı aplikace pouze jednotkami uˇzivatel˚u a celkov´e nastaven´ı aplikace je tomuto faktu uzp˚usobeno.

Aplikace nedisponuje autentizac´ı e-mailov´ych adres u registrovan´ych uˇzivatel˚u a v pˇr´ıpadˇe um´ıstˇen´ı aplikace na distribuˇcn´ı platformy a moˇzn´eho staˇzen´ı aplikace k´ymkoliv, by mohlo doj´ıt k nadbyteˇcn´emu vyt´ıˇzen´ı datab´aze.

(41)

9 Z´ avˇ er

Hlavn´ım c´ılem t´eto pr´ace bylo navrhnout a vyvinout mobiln´ı aplikaci, jenˇz by zefek- tivnila pr´aci revizn´ım technik˚um. Prvn´ımi kroky pˇri n´avrhu aplikace byly sezn´amen´ı se s problematikou spr´avy plynov´ych zaˇr´ızen´ı. To bylo doc´ıleno kooperac´ı s revizn´ım technikem a obezn´amen´ım se st´avaj´ıc´ım procesem zazn´amen´av´an´ı reviz´ı. Pˇritom byly definov´any nedostatky aktu´aln´ıho procesu a funkˇcn´ı, nefunkˇcn´ı a syst´emov´e poˇzadavky na aplikaci.

Na z´akladˇe specifikace funkˇcn´ıch a nefunkˇcn´ıch poˇzadavk˚u byla provedena reˇrerˇse existuj´ıc´ıch ˇreˇsen´ı. Pˇri t´eto reˇserˇsi byla zkoum´ana aplikace INSPECTO, jenˇz by mohla splˇnovat poˇzadovan´e funkcionality. Nicm´enˇe aplikace nebyla schopna nab´ı- dnout z´akladn´ı poˇzadavek, ˇc´ımˇz byla podpora reviz´ı plynov´ych zaˇr´ızen´ı a proto bylo zapotˇreb´ı navrnout a vytvoˇrit novou aplikaci vyhovuj´ıc´ı n´arok˚um.

V ´uvodu n´avrhu aplikace byl vytvoˇren wireframe model, jenˇz byl v´ysledkem pozorov´an´ı revizn´ıho technika v pˇrirozen´em prostˇred´ı. Dalˇs´ım krokem bylo zpˇetn´e testov´an´ı, pˇri kter´em byly zjiˇstˇeny nedostatky na wireframe modelu a bylo nutn´e jej upravit. Po vyhovuj´ıc´ım n´avrhu wireframe modelu byla vytvoˇrena vizu´aln´ı identita aplikace, kter´a se skl´ad´a z loga, p´ısma, ikon, barevn´e palety a byl definov´an n´azev

”Revizor”. Na z´akladˇe vizu´aln´ı identity bylo vytvoˇreno uˇzivatelsk´e prostˇred´ı apli- kace, jenˇz bylo podporou pˇri popisu fungov´an´ı aplikace. Posledn´ım krokem n´avrhu bylo navrhnout a popsat zp˚usob plnˇen´ı poˇzadavk˚u.

Aplikace byla vyvinuta v programovac´ım jazyce Java s vyuˇzit´ım architektury MVC. V pr´aci byly pops´any ˇc´asti architektury a jejich konkr´etn´ı vyuˇzit´ı v aplikaci.

K implementaci funkˇcn´ıch prvk˚u byly vyuˇzity napˇr´ıklad pomocn´e knihovny Noti- fyMe, jenˇz slouˇz´ı k vytv´aˇren´ı notifikac´ı a PDF Generator pro export dokumentu do form´atu PDF.

V pr˚ubˇehu v´yvoje byla mobiln´ı aplikace soustavnˇe testov´ana, coˇz pˇrisp´ıvalo k na- lezen´ı pˇr´ıpadn´ych chyb ve funkˇcnosti, ˇci grafick´em vzhledu. Po dokonˇcen´ı byla apli- kace testov´ana revizn´ım technikem, jehoˇz zpˇetn´a vazba byla zaznamen´ana v do- tazn´ıku. Z t´e je patrn´e, ˇze aplikace splˇnuje vˇsechny funkˇcn´ı a nefunkˇcn´ı poˇzadavky a je vhodn´ym n´astrojem pro zefektivnˇen´ı pr´ace revizn´ıch technik˚u.

(42)

Bˇehem implementaˇcn´ı a testovac´ı f´aze t´eto pr´ace byla zaznamen´ana moˇzn´a roz- ˇs´ıˇren´ı v dalˇs´ıch verz´ıch aplikace. Vhodn´ym rozˇs´ıˇren´ım aplikace by byla moˇznost vytvoˇren´ı kalend´aˇre s term´ıny sjednan´ych reviz´ı. Aktu´alnˇe aplikace uˇzivatele pouze upozorˇnuje na bl´ıˇz´ıc´ı se expiraci revizn´ı kontroly, kdy tuto skuteˇcnost m˚uˇze ozn´amit klientovi. Implementace pl´anovaˇce reviz´ı by mˇela za d˚usledek shrom´aˇzdˇen´ı veˇsker´e aktivity, spojen´e s revizn´ı kontrolou, na jedno m´ısto.

N´ynˇejˇs´ı verze aplikace je zamˇeˇrena pouze na jeden druh revize. V pˇr´ıpadˇe rozˇs´ı- ˇren´ı o dalˇs´ı druhy reviz´ı se m˚uˇze aplikace st´at prospˇeˇsnou i pro jin´e revizn´ı techniky.

Jak uˇz bylo uvedeno v8, aktu´alnˇe nen´ı v pl´anu aplikaci zveˇrejˇnovat na jak´ekoliv distribuˇcn´ı platformˇe. Je tak provedeno zejm´ena z d˚uvodu bezpeˇcnosti. Dalˇs´ım d˚uvodem je prozatimn´ı vyuˇzit´ı pouze mal´ym poˇctem uˇzivatel˚u a instalace aplikace na jednotky zaˇr´ızen´ı. V pˇr´ıpadˇe proved´adˇen´ı aktualizac´ı je moˇzn´a instalace on-line.

Ovˇsem upˇrednostˇnov´ano bude osobn´ı setk´an´ı, coˇz zaruˇcuje bezprobl´emov´y proces a utuˇzov´an´ı vztah˚u s uˇzivateli.

Nicm´enˇe v pˇr´ıpadˇe rozˇs´ıˇren´ı aplikace pro vyuˇzit´ı v´ıcero uˇzivateli a pˇr´ıpadn´em zveˇrejnˇen´ı na nˇekter´e z distribuˇcn´ıch platforem by bylo nutn´e implementovat ovˇeˇren´ı e-mailov´e adresy pˇri registraci uˇzivatele, kter´e by zamezilo eventu´aln´ımu zahlcen´ı datab´aze irelevantn´ımi uˇzivateli.

(43)

Literatura

[1] Tiskov´a zpr´ava - ˇCeˇsi d´ychaj´ı ˇcistˇs´ı vzduch. Pom´ah´a pˇrechod na vyt´apˇen´ı plynem [online], ˇCesk´y plyn´arensk´y svaz, [cit. 2020-04-07]. Dostupn´y z WWW: https:

//www.cgoa.cz/pages/pdfdoc/aktuality/2020/TZ_CPS_CHMU.pdf

[2] Vyhl´aˇska ˇc. 85/1978 Sb. o kontrol´ach, reviz´ıch a zkouˇsk´ach plynov´ych zaˇr´ızen´ı.

Sb´ırka z´akon˚u, 26.06.1978.

[3] V ´AVR˚U, Jiˇr´ı a Miroslav UJB ´ANYAI, Programujeme pro Android. Grada, Praha, 2013. ISBN: 978-80-247-4863-4

[4] PHILLIPS, Bill a Brian Hardy, Android Programming: The Big Nerd Ranch Guide. Big Nerd Ranch Guides, 2013. ISBN: 978-0321804334

[5] UX testov´an´ı [online], Ackee, [cit. 2020-04-07]. Dostupn´y z WWW: https://

www.ackee.cz/blog/ux-testovani/

[6] User Interface (UI) Design [online], Interaction design foundation, [cit. 2020-05- 01]. Dostupn´y z WWW:https://www.interaction-design.org/literature/

topics/ui-design

[7] Android Architecture Patterns Part 1: Model-View-Controller [online], Medium, [cit. 2020-05-01]. Dostupn´y z WWW:https://cutt.ly/dyjaZlW

[8] Android Multi Select Dialog [online], GitHub, [cit. 2020-05-03]. Dostupn´y z WWW:https://github.com/abumoallim/Android-Multi-Select-Dialog [9] DrawView [online], GitHub, [cit. 2020-05-03]. Dostupn´y z WWW: https://

github.com/ByoxCode/DrawView

[10] PDF Generator [online], GitHub, [cit. 2020-05-03]. Dostupn´y z WWW:https:

//github.com/UttamPanchasara/PDF-Generator

[11] Fast Scroll RecyclerView [online], GitHub, [cit. 2020-05-03]. Dostupn´y z WWW:

https://github.com/myinnos/AlphabetIndex-Fast-Scroll-RecyclerView [12] NotifyMe [online], GitHub, [cit. 2020-05-03]. Dostupn´y z WWW: https://

github.com/jakebonk/NotifyMe

[13] What is Java technology and why do I need it? [online], Java, [cit. 2020-04-09].

Dostupn´y z WWW: https://java.com/en/download/faq/whatis_java.xml

(44)

[14] Google Firebase [online], Google, [cit. 2020-04-09]. Dostupn´y z WWW: https:

//firebase.google.com/docs

[15] Github [online], Microsoft, [cit. 2020-04-20]. Dostupn´y z WWW: https://

github.com/about

[16] ButterKnife [online], GitHub, [cit. 2020-05-04]. Dostupn´y z WWW: http://

jakewharton.github.io/butterknife/

[17] Publish your app [online], GitHub, [cit. 2020-05-20]. Dostupn´y z WWW:https:

//developer.android.com/studio/publish

(45)

A Pˇ r´ılohy

A.1 Formul´ aˇ r revize

Obr´azek A.1: Formul´aˇr revize

(46)

Zpráva o revizi plynového zařízení

Datum provedení revize: 15.1.2020 ev. číslo revize: 590/01/2020 Jméno a adresa majitele: Bytové družstvo Šestidomí

b.j. p. Fizer Jiří – přízemí vlevo Papírenská 590 Trutnov

Jméno a příjmení revizního technika:

Martin Chlum ev. č. osvědčení 9219/6/15/R-PZ-f,g ev. č. oprávnění 2095/6/98/PZ-R-VI,VII

Druh revize: PROVOZNÍ

Označení zařízení (předmět revize): Zhodnocení provozuschopnosti a bezpečnosti provozovaného domovního NTL rozvodu ZP, od HUP, po uzávěr před spotřebičem a revize spotřebiče, který je v běžném provozu.

Druh zařízení: F,G: Zařízení je posuzováno podle EN 1775, TPG 704 01, 934 01, ČSN 386405 a ostatních souvisejících předpisů.

Za provozovatele se zúčastnil: p. Fizer

Celkové hodnocení: Zařízení je schopno bezpečného a spolehlivého provozu.

Upozorňuji na povinnost odstranit závady uvedené v bodě „C“ v navržených termínech a dodržet podmínky uvedené v bodě „F a)“ této revizní zprávy.

V opačném případě pozbývá revize platnosti.

Zpráva obsahuje 3 strany.

V Trutnově dne: 22.1.2020 1 x uživatel

Rozdělovník: 1 x BD

1 x revizní technik podpis a otisk razítka

A.2 P˚ uvodn´ı protokol

(47)

Strana č. 2

TECHNICKÁ ZPRÁVA A. Technické hodnoty revidovaného zařízení

B. Údaje o měření a zkouškách

C. Zjištěné závady a nedostatky, návrh opatření a lhůt k odstranění.

D. Údaje o odstranění závad z předchozích revizí, příp. kontrol.

E. Záznam o ostatních revizích provedených na zařízení.

F. Ostatní

A: Odběrní plynové zařízení je napojeno ze stávajícího provozovaného stoupacího NTL plynovodu odbočkou pr. 28, která je provedena v instalační šachtě na WC bytové jednotky. Tato odbočka je rovněž v šachtě na WC ukončena kulovým kohoutem DN 25, který slouží jako HU odběrního plynového zařízení. Za ním jsou provedeny vývody pro plynoměr. Od plynoměru je rozvod veden instalační šachtou, odkud poté prochází do kuchyně, kde je potrubí ukončeno uzávěrem, za kterým je dopojen spotřebič. Kubatura kuchyně je pro daný spotřebič vyhovující. Kuchyň je přímo větratelná a průtok vzduchu je zajištěn možností občasného nebo trvalého otevření okenního křídla do venkovního prostoru. Rozvod je proveden z trubek měděných spojovaných lisováním. Celý rozvod je ukotven v konzolách a třmenech.

Spotřebiče:

- 1 ks plynová deska Electrolux - umístěn v kuchyni kulový kohout DN 15

B: - Kontrola těsnosti přístupných rozebíratelných spojů revidovaného zařízení byla provedena detektorem plynu Sewerin Snooper H mini - v.č. 02211002907

- Kontrola funkce a úplnosti ovládacích a bezpečnostních armatur na zařízení - Kontrola spotřebičů (ovládací a bezpečnostní prvky, funkce)

- Kontrola výskytu CO v místnosti detekčním přístrojem Testo T310 v.č. 42803364

Výsledek – zjištěné závady a případné úniky plynu uvedeny v bodě „C“ této revizní zprávy.

C: Závady bránící bezpečnému provozu - ---

Závady nebránící bezpečnému provozu:

- provést výměnu hadice dopojující spotřebič - překročená životnost 10 let 20.6.2020 Plynová deska Electrolux

- bez zjevných závad

D: Závady z předchozí revize byly částečně odstraněny.

E: Ostatní doložené revize:

- zápis z předchozí provozní revize provedené na zařízení z roku 2017 – RT Martin Chlum

(48)

Strana č. 3 F: a) pro zajištění správné a bezpečné funkce spotřebičů je nutné udržovat dostatečný přívod

spalovacího vzduchu do místnosti. Toto je zajištěno v technické zprávě popsaným opatřením - udržovat tyto cesty průchozí - odpovídá majitel (uživatel).

b) K revizi bylo doloženo:

- zápis z předchozí provozní revize provedené na zařízení z roku 2017 – RT Martin Chlum K revizi nebylo doloženo:

- zápis o vpuštění plynu a seznámení obsluhy s provozem spotřebičů dle návodu výrobce-dohledat - zpráva o výchozí revizi plynového zařízení – dohledat

- doklad o servisní prohlídce spotřebiče - dohledat - projektová dokumentace – dohledat

Doporučený termín příští revize v roce 2022.

Tímto revizní zpráva končí. Vypracoval: Filip Chlum

Kontroloval: Martin Chlum

References

Related documents

Za pˇ redpokladu ´ uspˇ eˇ sn´ eho otestov´ an´ı by n´ asledovalo vyuˇ zit´ı odhadnut´ eho a verifikovan´ eho modelu pro predikci, nebo bliˇ zˇ s´ı anal´ yzu zkouman´

Po vytvoˇ ren´ı jednoduch´ eho regresn´ıho modelu metodou nejmenˇ s´ıch ˇ ctverc˚ u zaˇ c´ın´ a f´ aze statistick´ e verifikace a dalˇ s´ıho testov´ an´ı hypot´ ez

V t´ eto kapitole se budeme vˇ enovat rozˇ s´ıˇ ren´ı line´ arn´ıho regresn´ıho modelu pro n vysvˇ etluj´ıc promˇ enn´ ych, tedy X 1..

Potlaˇ cov´ an´ı odezvy existuj´ı dva druhy, Network Echo Cancellation (potlaˇ cov´ an´ı odezvy v s´ıt’ov´ ych sign´ alech) a Acoustic Echo Cancellation (potlaˇ cov´

I Vˇ sechna zaˇ r´ızen´ı obsahuj´ı 8bitov´ y vstupnˇ e/v´ ystupn´ı port, pomoc´ı nˇ ehoˇ z jsou pˇ ripojena na jedinou skupinu vodiˇ c˚ u sbˇ ernici.. Nejedn´ a se

• Pr´ace ˇcerp´a pˇr´ıklady pouze z jednoho zdroje, u pr´ace tohoto typu bych oˇ cek´ aval ˇ sirˇ s´ı v´ ybˇ er pouˇ zit´ e literatury.. Z´

Kromˇ e fin´ aln´ı verze, kter´ a komplexnˇ e zpracov´ av´ a veˇsker´ e dan´ e poˇ zadavky, vzni- kala souˇ casnˇ e i verze, kter´ a fungovala bez pouˇ zit´ı detektoru

Ke kaˇ zd´ emu videu pouˇ zit´ emu pˇri testov´ an´ı byly hod- noty poˇ ctu osob, kter´ e proˇsly a poˇ ctu unik´ atn´ıch osob, kter´ e se ve videu objevily tak´ e