Distribuovaná Inventarizácia
Total Page:16
File Type:pdf, Size:1020Kb
MASARYKOVA UNIVERZITA FAKULTA}w¡¢£¤¥¦§¨ INFORMATIKY !"#$%&'()+,-./012345<yA| Distribuovaná inventarizácia DIPLOMOVÁ PRÁCA Sebastian Kunec Brno, Jar 2014 Prehlásenie Prehlasujem, že táto diplomová práca je mojím pôvodným autorským dielom, ktoré som vypracoval samostatne. Všetky zdroje, pramene a literatúru, ktoré som pri vypracovaní používal alebo z nich ˇcerpal,v práci riadne citujem s uve- dením úplného odkazu na príslušný zdroj. Vedúci práce: doc. RNDr. Eva Hladká, Ph.D. ii Pod’akovanie Touto cestou sa chcem pod’akovat’ doc. RNDr. Eve Hladkej, Ph.D. za odbornú pomoc a ochotu pri vypracovaní diplomovej práce. Taktiež posielam vd’aku firme Dactyl Group, ktorá poskytla serverové prostredie pre vývoj praktickej ˇcastitejto práce. iii Zhrnutie Diplomová práca obsahuje analýzu súˇcastnýchframeworkov zameraných na tvorbu webových aplikácií a bližšie rozoberá fungovanie frameworku Yii. Cie- l’om diplomovej práce je navrhnút’ a implementovat’ distribuovaný inventari- zaˇcnýsystém majetku (StockMe). StockMe je urˇcenýpredovšetkým pre malé a stredné firmy, ktoré si nemôžu dovolit’ drahé korporátne riešenia. StockMe pozostáva z webovej a mobilnej aplikácie. Webová aplikácia zobrazuje dáta os- kenované pomocou mobilných zariadení používajúcich Android aplikáciu. Vo webovej aplikácii je možné editovat’ stav majetku, pridávat’ mobilných užívate- l’ov a sledovat’ aktuálny priebeh inventarizácie. Hlavne z dôvodu nejednoznaˇc- nej identifikácie majetku podl’a popisu, je možné prirad’it’ k majetku obrázok. Mobilná aplikácia komunikuje so serverom a pracovník s ˇnouhl’adá a skenuje nájdený majetok. Použitým technológiam pre mobilnú aplikáciu sa venuje sa- mostná kapitola. Výsledným produktom je jednoduchá, efektívna a škálova- tel’ná inventarizaˇcnáslužba. Obr. 1: StockMe - Distribuovaná inventarizácia podlieha licenncii Cre- ative Commons Attribution-NonCommercial 4.0 International License. http://creativecommons.org/licenses/by/4.0/ iv Kl’uˇcovéslová inventarizácia majetku, MVC, mobilná aplikácia, Yii framework, Android v Obsah 1 Úvod ......................................3 1.1 Inventarizácia majetku .........................4 1.2 Analýza rôznych možností inventarizácie ..............5 1.3 Použivané pojmy a technológie ....................6 1.3.1 JSON . .6 1.3.2 BASE64 . .7 1.3.3 Javascript . .7 1.3.4 Verzovací systém Git . .7 1.3.5 Framework . .8 1.3.6 LAMP . .9 2 Webové PHP frameworky .......................... 10 2.1 Webový framework ........................... 10 2.1.1 Pridaná hodnota webových frameworkov . 11 2.2 Nette ................................... 12 2.3 Yii Framework .............................. 13 2.4 Zend Framework 2 ........................... 14 2.5 Porovnanie frameworkov ....................... 15 2.6 Bližšie fungovanie a nasadenie Yii aplikácie ............. 16 2.7 MVC ................................... 20 3 Mobilné aplikácie .............................. 21 3.1 Typy mobilných aplikacií ....................... 21 3.2 Operaˇcnýsystém Android ....................... 22 3.2.1 Android architektúra . 23 3.2.2 Správa pamäte . 24 3.3 Vývojárske nástroje ........................... 24 3.4 Štruktúra Android projektu ...................... 25 3.5 Komponenty Android Aplikácie ................... 26 3.6 Ukladanie dát v Android OS ...................... 27 3.7 Ukladanie dát v SQLite ......................... 28 3.8 Vlákna v OS Android .......................... 29 4 StockMe - Distribuovaná inventarizácia ................. 30 4.1 Integrácia a inštalácia aplikácie .................... 30 4.2 Priebeh Inventarizácie ......................... 31 1 4.3 Diagram dátových tokov (DFD) .................... 32 4.3.1 Kontextový diagram . 33 4.4 Webová aplikácia ............................ 33 4.4.1 Entitno relaˇcnýdiagram (ERD) / Dátová štruktúra . 33 4.4.2 Ciarovéˇ kódy . 35 4.4.3 Vytváranie PDF súborov . 35 4.4.4 Lokalizácia aplikácie . 36 4.4.5 Úprava obrázkov . 36 4.4.6 Komunikácia a posielanie dát . 36 4.4.7 Javascript v StockMe . 37 4.4.8 Funkcie a používanie webovej aplikácie . 37 4.4.9 Grafické rozhranie webovej aplikácie . 38 4.5 Mobilná aplikácia ............................ 38 4.5.1 Dátová štruktúra . 38 4.5.2 Skenovanie ˇciarových kódov . 39 4.5.3 Komunikáˇcnýprotokol . 40 4.5.4 Action Bar v Androide . 42 4.5.5 Grafické rozhranie mobilnej aplikácie . 42 5 Záver ...................................... 43 A Obrázky mobilnej aplikácie ........................ 47 B Obrázky webovej aplikácie ......................... 49 C Zdrojový kód pre pohl’ady v databáze webovej aplikácie ....... 51 D JSON formát komunikácie mob. aplikácie a serveru .......... 52 E Obsah CD ................................... 54 2 Kapitola 1 Úvod V rámci každej spoloˇcnostije potrebné vykonávat’ inventarizáciu hlavne z dô- vodu vedenia úˇctovníctva.Hlavnou úlohou úˇctovníctvaje podávat’ verný a pravdivý obraz o skutoˇcnosti.Po celom svete je neuveritel’né množstvo spoloˇc- ností, ktoré potrebujú inventarizovat’ a udržovat’ aktuálnost’ svojho majetku, preto aj potenciál využitia tejto aplikácie je pomerne vel’ký. Ciel’om tejto diplomovej práce je vytvorenie jednoduchej a inovatívnej apli- kácie urˇcenejna inventarizáciu majetku vo firmách. Pôjde o mobilnú aplikáciu s webovým rozhraním, ktorá má ul’ahˇcovat’ samotnú inventarizáciu a šetrit’ ˇcaspri jej vykonávaní. Ideálnym stavom nieje využitie v len rámci faktulty pre úˇcelydiplomovej práce ale hlavne reálne nasadenie v praxi. Celá práca je vzhl’adom k zvolenému konceptu rozdelená do 4 kapitol. Prvá kapitola nás uvedenie do problematiky inventarizácie a taktiež si tu predsta- víme základné technológie, ktoré budeme používat’ v praktickej ˇcastitejto práce. V druhej kapitole nájdeme výber najpopulárnejších frameworkov a bližšie si ro- zoberieme fungovanie jedného znich, ktorý použijeme na implementáciu we- bovej ˇcastiaplikácie. V d’alšej tretej kapitole si rozoberieme jednotlivé typy mobilných aplikácií, predstavíme operaˇcnýsystém Android a potrebné tech- nológie pre praktickú ˇcast’ práce. Tieto 2 kapitoly predstavujú teoretický základ potrebný pre vytovrenie aplikácie StockMe. V poslednej 4 kapitole nájdeme vý- slednú podobu projektu, popis jeho komponent vychádzajúcich z druhej a tre- tej kapitoly. Vzhl’ad jednotlivých aplikácií nájdeme na konci diplomovej práce v prílohách. 3 1. ÚVOD 1.1 Inventarizácia majetku Úlohou úˇctovníctvaje podávat’ verný a pravdivý obraz o skutoˇcnosti.Nap´lˇnat’ tento ciel’ úˇctovníctvapomáha aj inventarizácia majetku, záväzkov a rozdielu majetku a záväzkov, ktorá vzhl’adom na jej úˇcela jej význam predstavuje jednu z najdôležitejších prác v úˇctovníctvekaždej úˇctovnejjednotky. Inventarizáciou sa overuje, ˇcistav majetku, záväzkov a rozdielu majetku a záväzkov v úˇctovníc- tve zodpovedá skutoˇcnosti.Povinnost’ vykonania inventarizácie majetku, zá- väzkov a rozdielu majetku a záväzkov ukladá úˇctovnýmjednotkám § 6 ods. 3 zákona o úˇctovníctve.Bez vykonania inventarizácie úˇctovníctvonesp´lˇnajednu zo základných požiadaviek stanovených v zákone o úˇctovníctve,a to zásadu preukázatel’nosti [9] . Skutoˇcnýstav majetku, záväzkov a rozdielu majetku a záväzkov sa zist’uje inventúrou [9] : fyzickou – pri dlhodobom hmotnom majetku, zásobách v jednotkách množ- stva, a to spoˇcítaním,vážením, meraním, pri niektorých druhoch ne- hmotného majetku, napr. pri cenných papieroch v listinnej podobe, pri ceninách a finanˇcnejhotovosti dokladovou – pri pohl’adávkach, záväzkoch, rozdieli majetku a záväzkov, fi- nanˇcnýchinvestíciách, rezervách a pod., priˇcomsprávnost’ sa overí na základe úˇctovnýchdokladov, listín, zmlúv a úˇctovnýchzápisov kombinovanou – kombináciou dokladovej a fyzickej inventúry, napr. pri po- zemkoch, budovách a stavbách [9] . Z úˇctovníckehohl’adiska je povinnost’ou inventarizovat’ majetok a závezky tak aby vytvárali pravdivý obraz o skutoˇcnosti.Naša aplikácia sa bude zameria- vat’ na inventarizáciu majetku prípadne zásob, ktoré vieme oznaˇcit’ ˇciarovým kódom. Pôjde konkrétne o fyzickú inventarizáciu majetku kde budeme poˇcítat’ množstvá jednotlivých druhov majetku. Zameriame sa na jeden z inventarizaˇc- ných krokov a to porovnanie skutoˇcnéhostavu so stavom v úˇctovníctve. Fyzickú inventúru zásob je možné vykonat’ kedykol’vek v priebehu úˇctov- ného obdobia a zároveˇnupravit’ stav zásob o prírastky a úbytky ku dˇnu,ku ktorému sa zostavuje úˇctovnázávierka, tak, aby stav zásob bol inventarizáciou overený ku dˇnuzostavenia úˇctovnejzávierky. Inventarizácia dlhodobého hmot- ného majetku nesmie prekroˇcit’ 4 roky [9] . 4 1. ÚVOD Inventarizované obdobie Predmet inventarizácie raz za 4 úˇctovnéobdobia dlhodobý finanˇcnýmajetok dlhodobý nehmotný majetok, dlhodobý finanˇcnýmajetok, zásoby, pohl’adávky, záväzky, raz za úˇctovnéobdobie krátkodobý finanˇcnýmajetok, peˇnažnéprostriedky v hotovosti, vlastné imanie Obr. 1.1: Rôzne periodicity inventarizácie [9] . 1.2 Analýza rôznych možností inventarizácie V tejto sekcii si ukážeme a porovnáme dostupné možnosti iventarizácie tovaru, zásob ale predovšetkým majetku. Dnešná doba nám umožˇnujevyužívat’ tech- nológie, ktoré nám ul’ahˇcujú,urýchl’ujú a zjednodušujú život. Nie vždy tu ale boli technologie ako internet, webové aplikácie prípadne mobilné zariadenia. Jednou z prvých a dodnes používaných možností je použit’ pero a papier, ktoré stále dobre poslúžia v prípade malého poˇctupoložiek. Bariéra vstupu a pou- žívania je prakticky nulová aj to je dôvod preˇcotento spôsob asi nikdy nevy- mizne. Dalšouˇ možnost’ou je inventarizácia pomocou mobilnej aplikácie, ktorá môže ale nemusí byt’ rozšírená o webovú aplikáciu. Túto možnost’ implementujeme a predstavíme