VIZUALIZACE GANTTOVA DIAGRAMU PRO PLATFORMU ANDROID
|
|
- Ilona Pavlíková
- před 8 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA VIZUALIZACE GANTTOVA DIAGRAMU PRO PLATFORMU ANDROID BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR MARTIN DOUDĚRA BRNO 2013
2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA VIZUALIZACE GANTTOVA DIAGRAMU PRO PLATFORMU ANDROID VISUALISATION OF GANTT CHART FOR ANDROID PLATFORM BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR MARTIN DOUDĚRA Ing. ALEŠ LÁNÍK BRNO 2013
3 Abstrakt Tato práce se zabývá vývojem aplikace pro zařízení s operačním systémem Android. Aplikace slouží pro plánování projektů, kde je jako vizualizační technika využit Ganttův diagram, který je rozšířen o závislosti a přidělování zdrojů. V práci jsou vysvětleny obecné principy tvorby aplikace pro platformu Android a dále plánování pomocí Ganttova diagramu. Je zde také uveden návrh aplikace a jeho následná implementace na cílovou platformu. Výsledná aplikace je zveřejněna na Google Play. Abstract This thesis deals with development of an application for mobile device based on Android operating system. The application is used for planning projects. Plans are visualised by Gantt chart which is extended by dependencies and resource assignment. There are described principles of creating an application for Android devices and planning with a Gantt chart in this thesis. Application design and an implementation for the target platform follows. The application is published on Google Play. Klíčová slova Android, mobilní aplikace, řízení projektů, Ganttův diagram, kritická cesta. Keywords Android, mobile application, project managment, Gantt chart, critical path. Citace Martin Douděra: Vizualizace Ganttova diagramu pro platformu Android, bakalářská práce, Brno, FIT VUT v Brně, 2013
4 Vizualizace Ganttova diagramu pro platformu Android Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením pana Ing. Aleše Láníka. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal Martin Douděra 15. května 2013 Poděkování Na tomto místě chci poděkovat Ing. Alešovi Láníkovi, vedoucímu práce, za odbornou pomoc a za zapůjčení tabletu. Velký dík patří Markovi Havlíčkovi, který vnesl do tohoto projektu mnoho skvělých nápadů a připomínek. Firmě ELSEREMO Stage Technology, a.s. děkuji za poskytnutí reálných dat k testování. c Martin Douděra, Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů.
5 Obsah 1 Úvod 3 2 Platforma Android Architektura Verze Vývoj Ganttův diagram Základní verze Rozšířená verze Závislosti Kritická cesta Analýza existujících řešení Desktopové verze Verze pro Android Shrnutí Návrh Grafický návrh Implementace Jádro aplikace Uživatelské rozhraní Načítání a ukládání souborů Testování Závěr 30 A Diagram tříd 32 B Obsah CD 33 1
6 Seznam obrázků 2.1 Architektura systému Android [7] Příklad zobrazení všech prvků v programu MS Project 2010; A milník, B souhrn, C úkol Základní Ganttův diagram bez rozšíření Ilustrace zpoždění druhého úkolu při vyznačení míry dokončení úkolu (černá) a aktuálního dne (červená) Typy závislostí GanttDroid převzato ze zdroje Google Play Ganttův diagram v aplikaci Project Viewer převzato ze zdroje Google Play Project Schedule převzato ze zdroje Google Play Grafický návrh hlavní obrazovky aplikace; stejné barvy šipek znázorňují jejich synchronizaci Grafické znázornění uložení úkolů, které je zajištěno třídou TreeItem. Zelená znázorňuje souhrny a modrá úkoly Screenshot obrazovky s Ganttovým diagramem Screenshot obrazovky pro úpravu úkolů A.1 Diagram tříd jádra aplikace
7 Kapitola 1 Úvod Ještě před několika lety si málokdo dokázal představit, že si budeme moci vzít s sebou přístroj pro telefonování do kapsy a odejít s ním mimo domov. Tyto doby jsou však dávno pryč. Nejenže můžeme telefonovat a psát SMS téměř odkudkoliv, ale v posledních letech sledujeme rychlý nárůst chytrých telefonů s operačními systémy. Operačních systémů je mnoho a mezi nejznámější patří Android, IPhone OS a Windows Phone. Platforma Android je však ve světě nejrozšířenější a nejrychleji rostoucí díky otevřenosti výrobcům a vývojářům. Jelikož zařízení disponují množstvím periferií (např. fotoaparát, Wifi, GPS modul, akcelerometry, polohové snímače), mohou tak nabídnout vývojářům široké možnosti při tvorbě programů. Cílem této práce je vytvořit nástroj pro plánování pomocí Ganttova diagramu na zařízeních s platformou Android a usnadnit tak plánování manažerům na jejich mobilních zařízeních. Doposud manažeři využívali pro plánování své stolní počítače nebo notebooky, což však nebylo dobře přenosné v terénu. S touto aplikací se vše změní. Princip plánování pomocí Ganttova diagramu je takový, že se projekt rozdělí na úkoly a podúkoly. Každý úkol má stanovený předpokládaný počátek a konec. Pokud je v projektu zahrnuto více lidí, umožní aplikace lidem přiřadit jednotlivé úkoly. Pomocí Ganttova diagramu můžeme pak přehledně kontrolovat, zda je projekt zpožděný nebo ne. Smyslem celé práce je vyvinout takovou aplikaci, která bude schopná uspokojit požadavky manažerů a tím být schopna reálného nasazení v praxi. Práce je rozdělena do pěti kapitol. Kapitoly 2 a 3 seznámí čtenáře s teoretickým základem nezbytným pro tvorbu aplikace. Druhá kapitola rozebírá platformu Android a vývoj aplikací pro danou platformu. Třetí kapitola popisuje Ganttův diagram, jeho rozšíření a způsob plánování pomocí tohoto nástroje. V kapitole 4 najdeme analýzu již používaných aplikací. Zabývat se budeme aplikacemi pro platformu Android a desktopovými verzemi. Mezi desktopovými verzemi zvolíme program pro kompatibilitu s výslednou aplikací. U aplikací pro platformu Android se budeme soustředit na slabé stránky aplikací a při návrhu se z těchto chyb poučíme. Kapitola 5 popíše grafický návrh a funkční stránku aplikace. Kapitola 6 se zabývá implementací návrhu pro platformu Android. Popisuje problémy, které bylo třeba vyřešit. V poslední kapitole 7 jsou zhodnoceny dosažené výsledky a návrhy na budoucí rozvoj aplikace. 3
8 Kapitola 2 Platforma Android Android je open source platforma primárně vytvořena pro dotykové mobilní zařízení (tablety, PDA, mobilní telefony) a šířena pod licencí Apache 2.0 (výjimkou jsou patche Linux jádra, které mohou být licencovány GPLv2). Společnost Android Inc. byla založena v roce 2003 a v roce 2005 ji odkoupila společnost Google, čímž se stala její dceřinou společností. Google vyvinul platformu založenou na Linuxovém jádře a v roce 2007 bylo založeno konsorcium 1 Open Handet Alliance (dále OHA), které vyvíjí Android dodnes.[9] 2.1 Architektura Architektura je rozdělena do 5 vrstev (obrázek 2.1) od nejnižší vrstvy[9]: Jádro Založeno na linuxovém jádře. Zajišťuje komunikaci mezi hardwarem a vyššími vrstvami, stará se o správu paměti a procesů. Knihovny Vytvořené v programovacím jazyce C/C++. Slouží například pro přehrávání audia, videa, vykreslování grafiky OpenGL, práci s odlehčenou databází SQLite apod. Virtuální stroj Za účelem optimalizace (energie/výkon) a možnosti licencování jako open source byl vyvinut Dalvik Virtual Machine, který na rozdíl od Java Virtual Machine obsahuje pouze základní knihovny programovacího jazyka Java, tzn. neobsahuje například knihovny uživatelského rozhraní Swing a AWT. Aplikační framework Je nejdůležitější vrstva pro vývojáře, která aplikacím poskytuje služby. Prvky View Pomocí těchto prvků tvoříme grafické rozhraní. Resource Manager Přístup k obrázkům, řetězcům, souborům apod. Content Providers Přístup k jiným aplikacím. Activity Manager Řídí životní cyklus aplikací. Notofication Manager Umožňuje aplikacím tvořit upozornění ve stavovém řádku. Aplikace Jedná se o aplikace buď předinstalované (např. SMS, kontakty, prohlížeč), nebo doinstalované aplikace třetích stran Obchod Play. 1 společenství; příležitostné sdružení právnických subjektů k provedení určitého obchodu 4
9 Obrázek 2.1: Architektura systému Android [7] 2.2 Verze Od konce roku 2008, kdy vyšla první komerční verze Android 1.0, vyšlo již dalších 16 nových verzí. Na oficiálních stránkách Androidu 2 jsou k dispozici aktuální informace o využívání aktuálních verzí. Pro vývojáře je dobré mít přehled o těchto verzích, aby si před implementací stanovili, pro které verze chtějí svoji aplikaci vyvíjet, respektive jakou nejnižší verzi budou podporovat. Již při návrhu je nutno brát v potaz cílovou a minimální verzi, protože starší verze nepodporují některé funkce nebo komponenty, a proto je nutné použít knihovny zaručující zpětnou kompatibilitu. Testovat aplikaci je vhodné ve všech verzích, protože některé se od sebe svým chováním mírně liší. Verze Název Podíl (%) 1.6 Donut Eclair Froyo Gingerbread Honeycomb Ice Cream Sandwich x Jelly Bean x Jelly Bean 2.3 Tabulka 2.1: Podíl verzí ke dni 1. května 2013 (verze se zastoupením menším než 0.1% nejsou uvedeny)[2] 2 5
10 2.3 Vývoj Vývojový balíček Android Development Kit je dostupný pro systémy Windows, GNU/Linux i ios. Balíček obsahuje: SDK Tools Obsahuje nástroje pro testování, debugování, emulátor a další utility potřebné pro vývoj. SDK Platform-tools Zahrnuje nástroje, které jsou závislé na verzi platformy. Typicky jsou aktualizované pouze s vydáním nové verze platformy. Dále obsahuje Android Debug Bridge (ADB), který umožňuje komunikaci s připojeným zařízením nebo s emulátorem. SDK Platform Každá verze má svoji SDK Platformu, obsahuje systémový obraz potřebný k chodu emulátoru. Android Support Knihovna zajišťující zpětnou kompatibilitu až po verzi Android 1.6. Google APIs, dokumentace, příklady, Google Play Billing, Google Play Licensing Oficiální podporované IDE 3 je Eclipse, kde je možné doinstalovat plugin Android Development Tools (ADT). Vývojář si může zvolit i jiné IDE nebo pracovat přes příkazový řádek.[9] Struktura projektu Projekt je složen z [9]: src Zdrojové soubory v programovacím jazyce Java strukturované do balíků. libs Použité knihovny. res Zdroje strukturovaná data se specifickým významem. drawable Zdroj grafiky, který je většinou použit s modifikátorem hdpi, ldpi, mdpi a xhdpi pro upřesnění jemnosti cílového displeje layout Určuje rozmístění prvků v komponentě. Většinou je kombinován s modifikátory small, large, xlarge pro upřesnění velikosti displeje a land nebo port pro určení orientace displeje menu Definují položky v menu. values Definují lokalizované řetězce, pole řetězců, rozměry a barvy. assets Na rozdíl od res se zde ukládají data bez specifického významu. Nejsou závislá na aktuálním zařízení (velikost a jemnost displeje) ani na uživatelských nastaveních (jazyk). Můžeme libovolně strukturovat do složek. bin Obsahuje soubory generované kompilátorem. gen Automaticky generovaný soubor R.java, kde se zdroje ze složky res mapují na statická čísla a pomocí těchto konstant přistupujeme ke zdrojům. 3 vývojové prostředí 6
11 AndroidManifest.xml Definuje všechny využité komponenty, práva aplikace, omezení aplikace a filtry. build.xml Skript pro kompilaci a instalaci na zařízení Hlavní komponenty Aktivity Jediná z komponent, která obsahuje grafické uživatelské rozhraní. V aplikaci jich většinou najdeme několik. Aktivita může být spuštěna i jinou aplikací. Aktivity jsou řízené Activity Managerem, který se stará o vytváření a zánik aktivit. Pracuje se zásobníkem, kde jeho vrchol je aktuální zobrazená aktivita. Aktivity skládáme z View, což je základní prvek grafického rozhraní. Služby Je určena k běhu na pozadí pro dlouhodobé výpočty. Příkladem je přehrávání hudby na pozadí. Broadcast recievers Komponenta, která naslouchá oznámením a reaguje na ně definovaným způsobem. Můžeme naslouchat broadcastům systémovým nebo lze vytvořit své vlastní. Content Providers Spravují data, která mohou být uložena v souborovém systému, síti, databázi nebo v úložišti perzistentních dat. Prostřednictvím Content Provideru se mohou dotazovat a v určitých případech i měnit aplikační data, která aplikace přímo nevlastní. Tímto je docíleno oddělení dat od uživatelského rozhraní. To umožní například nahrazení výchozích aplikací jako třeba telefonního seznamu, zpráv apod.[9] Aktivity, služby a příjemci broadcastu jsou asynchronně aktivovány intenty. Intent je objekt určený pro komunikaci mezi komponentami. Oznamuje operaci, která má být provedena, nebo u broadcastu zprávu o tom, co se stalo nebo má být zobrazeno Persistentní data Platforma Android nám umožní ukládat data více způsoby. Záleží pak na potřebách aplikace. Jednotlivá řešení se liší v rychlosti uložení, rozsahu sdílení dat nebo také omezením maximální velikosti ukládaných dat. Interní úložiště Uložená data do interní paměti telefonu jsou implicitně přístupná pouze aplikaci, která je vytvořila. Žádná jiná aplikace k nim nemá přístup. Externí úložiště Každé zařízení podporuje ukládání na externí úložiště (karta nebo interní paměť). Soubory zde uložené jsou přístupné všem a mohou být modifikovány. Databáze Android má vestavěnou databázi SQLite. Vytvořené databáze jsou přístupné pouze aplikacím, které je vytvořily. Uložení v síti Přístup k datům pomocí vlastního serveru. SharedPreferences Tato třída umožňuje ukládat dvojice klíč hodnota, kde klíč je řetězec a hodnota je primitivní typ. Data jsou smazána až při odinstalování nebo násilném vymazání dat aplikace. V ostatních případech jsou data uchována.[8] 7
12 Kapitola 3 Ganttův diagram Ganttův diagram je horizontální graf, který se využívá pro plánování a řízení projektů. Připisuje se stejnojmennému inženýrovi H. L. Ganttovi. Ten kolem roku 1910 navrhl tento způsob a rozšířil do světa. Na jeho počest se v managementu uděluje Vyznamenání Henryho Laurence Gantta. Nicméně nápad nebyl úplně nový. V roce 1896 Karol Adamiecki vynalezl podobný nástroj a nazval ho harmonogram. Publikoval ho pouze jednou v polštině a ruštině, což masovému rozšíření bránilo. První zmínka o využití Ganttova diagramu byla během první světové války. S nástupem počítačů přicházely první programy pro tvorbu Ganttových diagramů, které ulehčily tvorbu a editaci.[6] Ganttův diagram je tvořen ze tří prvků (grafické zobrazení v obrázku 3.1): úkol Úloha časově vymezená zahájením a ukončením. V grafickém zobrazení se zobrazují jako pruhy, které si uživatel může odlišit barvou. milník Milník má nulovou dobu trvání. Je to kritické místo kontrolní bod, ve kterém je nutno ověřit, zda vše probíhá podle plánu. V grafické podobě se zobrazuje jako kosočtverec. souhrn Souhrn zapouzdřuje jeden nebo více úkolů. Jeho trvání je ovlivněno úkoly, které zapouzdřuje, a to tak, že nejmenší datum ze všech podúkolů je začátek a nejpozdější datum ze všech podúkolů je konec souhrnu. V rozšířené verzi Ganttova diagramu se také automaticky počítá procento splnění jako průměr ze všech podúkolů. Obrázek 3.1: Příklad zobrazení všech prvků v programu MS Project 2010; A milník, B souhrn, C úkol 8
13 3.1 Základní verze Ganttův diagram je grafické znázornění naplánovaných úkolů v čase. V horizontální linii najdeme časovou osu, která je rozdělena do jednotek (dny, týdny, měsíce, roky). Na vertikální ose jsou jednotlivé úkoly, souhrny a milníky. V prostoru grafu jsou úkoly vyznačené pruhy. Jejich délka vyznačuje trvání úkolu. Jak je vidět na obrázku 3.2, tyto diagramy jsou jednoduché, lehce pochopitelné, dají se snadno vytvořit i bez specializovaného softwaru (např. v tabulkovém editoru).[10] Mají však tyto nevýhody: Neukazují ani neuchovávají závislosti mezi úkoly. Změna délky nebo začátku jednoho úkolu se nepromítne do zbývající části diagramu. čas úkoly Úkol 1 Úkol 2 Úkol Obrázek 3.2: Základní Ganttův diagram bez rozšíření 3.2 Rozšířená verze Kvůli malé flexibilitě a malé účinnosti v oblasti řízení nákladů byla v průběhu padesátých let dvacátého století vyvinuta metoda kritické cesty (Critical Path Method, CPM). CPM užívá pouze jeden odhad délky. Podobná metoda PERT (Program Evaluation and Review Technique) byla vyvinuta pro americké námořnictvo k vývoji ponorek. Tato metoda vypočítá délku trvání z optimistické, pesimistické a pravděpodobné varianty. Využívá pravděpodobnosti a umožňuje kalkulaci rizik. Obě metody dovolují flexibilní údržbu harmonogramu v případě změn, neboť: Mají definovanou kritickou cestu (viz kapitola 3.4). Obsahují velké množství údajů. Umožňují hledat alternativy a analyzovat statické údaje. Při změně se přepočítává i zbylá část diagramu. Obě techniky se začaly integrovat přímo do Ganttova diagramu. 9
14 V rozšířené podobě je možné pracovat s podúkoly. Vznikají pak různé oddělené souhrny úkolů, které jsou libovolně zanořeny v sobě. Můžeme pak pracovat s konkrétními úkoly nebo pouze s jejich souhrny. Tuto funkci zajistí rozbalování a sbalování souhrnů. Dále umožňuje určovat závislosti úkolů a tyto závislosti vykreslovat pomocí šipek. Více informací o závislostech si vysvětlíme v podkapitole Často se vyznačuje aktuální den svislou čarou, což nám v kombinaci s vyznačením dokončení úkolu v grafu dává velmi přehledný nástroj pro kontrolu zpoždění. Na obrázku 3.3 je ilustrováno zpoždění druhého úkolu. Při aktuálních údajích v Ganttově diagramu je pak snadné kontrolovat dodržování plánu. Významným rozšířením Ganttova diagramu je přiřazování zdrojů. Každému úkolu a souhrnu lze přiřadit jeden nebo více zdrojů, kterým pak můžeme spravovat jejich vytíženost i výdaje za práci.[10] Ganttův diagram v dnešní rozšířené podobě umožňuje: Zaznamenat milníky a důležité termíny projektu. Logické hierarchické struktury prací převést do časových sledů úloh a úkolů. Uchovat údaje o předpokládané délce. Zobrazit vazby a souslednosti úseků práce[10]. Obrázek 3.3: Ilustrace zpoždění druhého úkolu při vyznačení míry dokončení úkolu (černá) a aktuálního dne (červená) 3.3 Závislosti Závislosti se užívají ve všech pokročilých nástrojích pro plánování. Tvorba Ganttova diagramu je při vytváření závislostí delší. Nicméně nutí uživatele zamyslet se nad návazností úkolů a tím předchází špatnému plánování. Pokud se jedná o jednoduchý projekt, nemusí uživatel závislosti vytvářet. Žádný nástroj pro tvorbu Ganttova diagramu si nevynucuje jeho užití. Správné provázání úkolů nám pak umožní několik věcí. Tou hlavní výhodou je možnost vytvoření síťového modelu. Síťový model předpokládá vytvoření jednoduché sousledné závislosti mezi úkoly a milníky, čímž vzniká síťový graf. Na začátku a na konci grafu najdeme právě jednu aktivitu, mezi kterou můžeme najít kritickou cestu (více v kapitole 3.4). Další výhodou je flexibilita při změnách. Pokud bychom změnili trvání úkolu na začátku projektu, mohlo by dojít k porušení celého projektu. Posun jednoho úkolu by mohl znamenat nutnost posunu následujících nebo předcházejících úkolů. Při správně propojených úkolech se nepříjemným modifikacím vyhneme. Pokud se změní jeden úkol, automaticky se posouvají i na něm závislé úkoly.[10] 10
15 Typy závislostí (grafické znázornění v obrázku 3.4)[11]: konec start Úloha B nemůže začít, dokud A neskončí. Tento typ je nejpoužívanější. start konec Úloha B nemůže skončit, dokud A nezačne. konec konec Úloha B nemůže skončit, dokud A neskončí. start start Úloha B nemůže začít, dokud A nezačne. A (a) konec start A B (c) konec konec B B (b) start konec B A (d) start start A Obrázek 3.4: Typy závislostí 3.4 Kritická cesta Každý projekt má minimálně jednu kritickou cestu. Kritická cesta je časově nejdelší možná cesta z počátku do konce. Skládá se ze seznamu úkolů, které je třeba dodržet, aby bylo zabezpečeno naplánované dokončení projektu. Je to nejdůležitější aspekt, který je třeba sledovat z hlediska dodržení časového plánu projektu. Platí, že: Její celková délka je zároveň celkovou délkou harmonogramu. Zpoždění nebo prodloužení úkolu ležícího na kritické cestě způsobí prodloužení celého plánu, pokud toto prodloužení nekompenzujeme zkrácením jiného úkolu ležícího na kritické cestě. Úkoly, které leží na kritické cestě, nemají žádnou časovou rezervu. Musíme však dávat pozor i při prodlužování úkolu mimo kritickou cestu, protože se může stát, že prodloužením nebo zpožděním tohoto úkolu se stane kritickou cestou větev, na které došlo k prodloužení, a která nebyla v kritické cestě. Existuje ucelený přístup k plánování zvaný Critical Path Method (CPM).[10] 11
16 Kapitola 4 Analýza existujících řešení V této kapitole se zaměříme pouze na nástroje pro řízení projektů, které podporují zobrazení Ganttového diagramu. 4.1 Desktopové verze Pro desktopovou verzi je k dispozici více řešení a záleží na konkrétním uživateli, jaké má požadavky na aplikaci. Po konzultaci s manažery jsem se rozhodl analyzovat následující tři nejvíce užívané aplikace Microsoft Project 2010 I když je Microsoft Project (dále MS Project) součástí MS Office od společnosti Microsoft, nikdy nebyl přidán do žádné sestavy MS Office. První verze programu byla vydána v roce 1984 pro operační systém DOS. Aplikace tedy prošla dlouholetým vývojem a je tedy velmi propracovaná. Nabízí správu úkolů, zdrojů a financí. Jako grafický výstup poskytuje Ganttův diagram, kalendáře, analýzu PERT, síťový diagram a mnoho dalších pohledů. Poprvé se v této verzi objevila časová osa, do které si můžeme pro zpřehlednění přidávat úkoly. Užitečná je také podpora zneplatnění úkolu, která nám umožní analýzu what-if. Podporuje vyhledávání, řazení a filtrování. Úkoly nemusí být vytvořeny hned pod sebou, tzn. mezi úkoly je možné vynechat volné řádky. Tím uživateli umožní strukturovat a zpřehlednit tak celý graf. Plánovat nám umožní ve dvou režimech. V režimu Automaticky naplánované počítá automaticky data a délku trvání dle závislostí na ostatních úkolech. V režimu Ručně plánované počítá pouze s údaji, které zadal uživatel, a upozorňuje na neshody v závislostech (ale neaplikuje je). MS Project je šířen ve dvou desktopových edicích Standard a Professional. Edice Professional nabízí navíc přehledné řízení zdrojů pomocí přetahování a zjednodušení spolupráce v týmu pomocí MS SharePoint Foundation nebo pomocí MS Project Server. Stejně jako ostatní Microsoft produkty je k dispozici v českém jazyce. Tabulková část Ganttova diagramu je vestavěný Excel, který podporuje většinu funkcí (rozkopírování, řazení, filtrování apod.). Primární formát uloženého projektu je.mpp. Umožňuje také export do formátů PDF, XML, CSV, XPS a sešit aplikace Excel. Licence nejaktuálnější verze Microsoft Project 2013 Professional na jeden počítač stojí Kč. Z uvedené ceny plyne, že užití najde spíše ve větších firmách. 12
17 4.1.2 ProjectLibre ProjectLibre je open source aplikace šířena pod licencí CPAL a vytvořena v programovacím jazyce Java. Byla vyvinuta společností Serena Software v roce Do roku 2009 však tato společnost vyvíjela projekt OpenProj, který se dodnes používá a stal se základem pro tuto aplikaci. ProjectLibre zajišťuje plnou kompatibilitu s MS Project až do verze Vzhledově i funkčně se navzájem podobají. Proto je to velmi žádaný program. Z pohledů nám umožní Ganttův diagram, síťový diagram, WBS a RBS diagram, využití zdrojů. Částečně je přeložen do češtiny. Stejně jako u MS Project (kapitola 4.1.1) je možné vynechávat prázdné řádky mezi úkoly. Primární formát je.pod. Umožňuje export do PDF a Microsoft Project XML, čímž zajišťuje zmíněnou kompatibilitu z MS Project GanttProject GanttProject je open source aplikace šířena pod licencí GNU GPLv3 vytvořena v programovacím jazyce Java. Je kompatibilní s MS Project do verze Umožňuje pohledy Ganttův diagram, diagram zdrojů a PERT diagram. Od verze 2.6 Brno podporuje časovou osu, která nemá svůj vlastní diagram jako u MS Project, ale je vestavěná do kalendáře při pohledu na Ganttův diagram. Umí spolupracovat s MS Project, ale ne plnohodnotně a bez ztráty dat. Například GanttProject nepodporuje hodinově rozložený kalendář. Primární formát je.gan, což je obyčejný XML soubor s rozdílnou příponou. Umožňuje export do HTML, PDF, JPEG, PNG, CSV, MPP a MS Project XML. 4.2 Verze pro Android Pro platformu Android existují pouze níže zmíněná řešení, která podporují zobrazení Ganttova diagramu. Všechny aplikace jsou k dispozici na Google Play 1. Žádná aplikace není přeložena do českého jazyka. Pokud se v kapitole zmíním o osobní zkušenosti, aplikaci jsem testoval na zařízení Google Nexus 7. Osobně jsem vyzkoušel jen verze aplikací, které jsou dostupné zdarma. Placené verze hodnotím pouze dle popisu na Google Play GanttDroid GanttDroid je k dispozici ve třech verzích Lite, Pro a Extended. První zmíněná verze je zdarma a další dvě verze stojí přes 200 Kč. Podporuje plnou kompatibilitu s desktopovou verzí GanttProject, tzn. vstupním a výstupním formátem je.gan. Spolupracovat s jinými desktopovými verzemi přímo neumí. Můžeme však využít programu GanttProject pro převod do formátu.gan. Umožňuje tvořit a upravovat projekty v rozsahu, který umožňuje GanttProject úkoly se závislostmi a k nim přiřazené zdroje. V placených verzích podporuje otevírání a ukládání přímo na Dropbox a ve verzi Extended navíc podporu šablon. Neobsahuje průzkumníka souborů ani nepodporuje asociaci se soubory, tudíž nemůžeme otevírat vlastní soubor (příloha u, SD karta atd.). Výrobce se tím pravděpodobně chrání, aby nebyl využit jiný program na synchronizování než zabudovaný Dropbox v placené verzi. U neplacené verze se
18 (a) Ganttův diagram (b) Editování úkolu Obrázek 4.1: GanttDroid převzato ze zdroje Google Play setkáme s reklamními pruhy na všech hlavních obrazovkách. Oceňuji však to, že je možné neplacenou verzi plnohodnotně využívat na tvorbu a editaci projektů. Při otevírání projektu upozorňuje na úkoly, které již měly být dokončené a nabízí jejich dokončení. Výhodou uživatelského rozhraní je možnost upravovat trvání a závislosti úkolů tahem přímo v grafu Ganttova diagramu. Nicméně zbytek uživatelského rozhraní je velice neintuitivní. Menu je složité a některé kontextové nabídky jsou zbytečné. Například při výběru úkolu na editaci se objeví kontextová nabídka možností, do které záložky chceme přejít (General, Predecessors. Resources, Note), i když totožné možnosti jsou poté přístupné jako záložky (viz obrázek 4.1b). Výběr řádku neboli úkolu se provádí přetáhnutím modré horizontální lišty na požadovaný řádek. Tento prvek na dotykovém displeji postrádá smysl a zpomaluje práci s grafem. Další nepříjemnou vlastnost najdeme u editace úkolu. Aplikace dovolí uživateli odejít z tohoto pohledu pouze stisknutím tlačítka OK nebo Cancel v záložce General (viz obrázek 4.1b). Tento úkon aplikace požaduje, i když žádný údaj nebyl změněn. Pokud se nacházíme například na záložce Note, musíme se vrátit na záložku General a tam vybrat jedno z tlačítek. Při stisku tlačítka Zpět na zařízení jsme vyzváni ke stisknutí jednoho z tlačítek místo toho, abychom byli dotázáni na uložení nebo zrušení změn. Všechny pohledy mají velké odsazení od vrchního okraje. Například v editaci úkolu při orientaci zařízeni landscape je 2, 5cm (na 7 displeji s rozlišením bodů) využito k vypsání titulku Task Data, což způsobí, že na výše zmíněná tlačítka OK a Cancel se musíme zbytečně posouvat Project Viewer Project Viewer je k dispozici ve dvou verzích. Placená verze stojí cca 100 Kč. V demo verzi najdeme jeden ukázkový projekt, s kterým si můžeme vyzkoušet veškerou funkčnost aplikace. Demo verze je samozřejmě zablokována pro otevírání vlastních projektů. Aplikace je kompatibilní s Microsoft Project, a tedy se soubory.mpp. Je schopna pro- 14
19 Obrázek 4.2: Ganttův diagram v aplikaci Project Viewer převzato ze zdroje Google Play jekty pouze otevírat a prohlížet. Má vestavěný průzkumník a asociované soubory. Můžeme tedy otevírat přílohy u nebo využívat některý ze synchronizačních programů (Dropbox, Google Disk). Uživatel si tak vybere sám službu, kterou používá nebo která mu vyhovuje, a není nucen používat pouze zabudovanou aplikaci. Orientace v programu je jednoduchá a intuitivní. Jedinou výhradu mám k vertikálnímu posouvání Ganttova diagramu, kde posouvání neskončí odděláním prstu, ale posun pokračuje a zpomaluje se tzv. smooth scrolling. Užití v tomto případě mi přijde nevhodné. Grafické zpracování Ganttova diagramu je vidět na obrázku Project Schedule (a) Ganttův diagram (b) Editování úkolu Obrázek 4.3: Project Schedule převzato ze zdroje Google Play Project Schedule je nejpropracovanější aplikace pro Android. K dispozici je v neplacené verzi Project Schedule Free a v placené Project Schedule. Placená verze stojí cca 150 Kč a poskytne nám navíc export do PDF a možnost volby cíle při ukládání. Placená verze také neobsahuje reklamy. 15
20 K aplikacím existují tři pluginy: Office Umožní pracovat s MS Project a MS Excel soubory. PDF Export Tento plugin je podporován pouze v placené verzi. Umožní exportovat do PDF Ganttův diagram, WBS, seznam úkolů a zdrojů. Contacts Umožní přiřadit kontakt zdroji. Pokud máme nainstalovaný plugin Office, aplikace se stává kompatibilní s MS Project. Formát.mpp je schopen pouze načíst, ale zpětnou kompatibilitu zajistí pomocí MS Project MSPDI-XML. Dále dokáže pracovat s MS Excel (XLS) a s CSV formátem. Export podporuje do PDF nebo PNG. Po zapnutí nám aplikace nabídne přehlednou úvodní obrazovku. Zde si můžeme přepínat mezi rozpracovanými projekty a aktuálními úkoly. Samotný Ganttův diagram je zpracován bez klasické tabulky, vždy umístěné na levé straně, a tím šetří místo. Avšak u časově rozložených projektů absence tabulky způsobuje nepřehlednost. Je možné úkoly seřadit podle kritérií (možnost řadit i podle sekundárního kritéria) nebo úkol vyhledat podle názvu. Pro editování úkolů přímo v grafu slouží sedm editačních módů. Aplikace poskytuje hodinový kalendář, kde si můžeme definovat pracovní hodiny v týdnu. Oblíbené kalendáře si uložíme a pak znovu použijeme v jiném projektu. Aplikace pak počítá odpracované hodiny zdrojů a tím umožňuje i správu financí. Aplikace nabízí pohledy, kterými jsou Ganttův diagram, seznam úkolů, seznam přiřazených zdrojů, WBS 2, seznam odpracovaných hodin a financí. V nastavení najdeme možnost změny barev a velikostí všech komponent Ganttova diagramu. Na každý úkol, zvlášť nebo dohromady, je možnost aktivovat upozornění (na start nebo na konec úkolu), které se pak zobrazí ve status liště. Grafická stránka aplikace je znázorněna v obrázku 4.3a a 4.3b. 2 Work breakdown structure; hierarchický rozpad cíle projektu na jednotlivé produkty a podprodukty 16
21 4.3 Shrnutí Aplikace Klady Zápory MS Project ProjectLibre GanttProject hodinové rozložení kalendáře správa financí množství pohledů (Ganttův diagram, kalendáře apod.) množství výstupních formátů zdarma multiplatformní plná kompatibilita s MS Project zdarma multiplatformní jednoduché časová osa export HTML, JPEG, PNG, MPP cena pouze pro OS Windows chybí časová osa Tabulka 4.1: Klady a zápory desktopových aplikací podporuje pouze denní kalendář pouze tři pohledy Aplikace Klady Zápory GanttDroid Project Viewer Project Schedule několik verzí plná kompatibilita s Gantt Project vestavěný Dropbox (placená verze) zabudovaný průzkumník asociace souborů uživatelské rozhraní podpora hodinového kalendáře dostupné pluginy správa financí upozornění na události podporuje pouze denní kalendář uživatelské rozhraní nemá asociované soubory pouze prohlížeč vertikální posun Ganttova diagramu nepřehledný Ganttův diagram Tabulka 4.2: Klady a zápory aplikací pro platformu Android 17
22 Kapitola 5 Návrh Aplikace se jmenuje GanttMan a nese motto Manage Your Project. Ganttův diagram je využíván zejména manažery při plánování a ulehčuje přenositelnost a dostupnost projektů mimo kancelář pomocí mobilních zařízení. Využití však najde i u široké veřejnosti při jakémkoliv plánování. Většina manažerů nemá pro práci primárně určeno mobilní zařízení (tablet, mobilní telefon), a proto aplikace zajišťuje kompatibilitu s jedním desktopovým nástrojem Gantt Project (viz kapitola 4.1.3). Umožní tak uživateli vytvářet a editovat projekty na obou zařízeních. Gantt Project byl zvolen díky splnění všech požadavků na funkčnost bakalářské práce, a tím zajišťuje plnou spolupráci s výslednou aplikací GanttMan. Gantt Project navíc ukládá projekty ve formátu XML, nejsou tedy potřeba dodatečné knihovny pro načítání projektu. Jako jediný program pro platformu Android je přeložen do českého jazyka, jeho výchozí jazyk je ovšem angličtina. Veškeré návrhy byly průběžně konzultovány s manažery. Funkčnost aplikace: vytváření a editace projektů úkoly, závislosti, zdroje zobrazení diagramu přiřazení zdrojů a rozšířeného Ganttova diagramu se závislostmi plně kompatibilní s aplikací Gantt Project (kapitola 4.1.3), při implementaci je kladen důraz na rozšiřitelnost pro další programy a formáty ukládání rozpracovaných projektů sdílení uložených projektů export do.gan formátu zabudovaný souborový manažer pro možnost otevření souboru například z SD karty asociace souborů.gan s danou aplikací možnost uložení úkolu do kalendáře 18
23 souhrn úkolů automatická aktualizace doby trvání podle podúkolů (reaguje na zvětšení i na zmenšení) automatická aktualizace míry dokončení při změnách nepožaduje od uživatele potvrzení, ale rovnou změny ukládá výrazně urychlí práci, výjimkou jsou odstraňování celého projektu a opuštění rozdělaného projektu bez uložení optimalizován na tablety, ale podporuje i malé displeje dva druhy denního kalendáře všechny dny bez rozdílu jsou pracovní kalendář s víkendy a prázdninami 5.1 Grafický návrh I. konst. zápatí tabulky tabulka úkol zdroj II. kalendá Obrázek 5.1: Grafický návrh hlavní obrazovky aplikace; stejné barvy šipek znázorňují jejich synchronizaci Grafické rozhraní je navrhnuto s důrazem na jednoduchost a intuitivnost. Zároveň se vyhýbá chybám, které byly zmíněny v sekci Pro orientaci v aplikaci je využita tmavá, nestínovaná lišta Action Bar se světlými tlačítky. Namísto kontextových nabídek při kliknutí nebo dlouhém podržení nabízí tzv. Action Mode. Není to nic jiného než překrytá aktuální lišta Action Bar novou lištou, která se vztahuje přímo k vybranému prvku. 19
24 V obrázku 5.1 můžeme vidět náčrt hlavní obrazovky aplikace, která je využita s malými odlišnostmi pro zobrazení Ganttova diagramu a přiřazení zdrojů. Pod Action Bar lištou je obrazovka rozdělena na čtyři komponenty (číslování dle obrázku): I. záhlaví tabulky Je to jediná část obrazovky, která je neměnná. II. úkoly, zdroje Komponenta se stará o hierarchické zobrazení souhrnů, úkolů a milníků. Položky jsou expandovatelné. Tabulka je vertikálně posunovatelná a tento pohyb je synchronizovaný s komponentou IV. Pro menší displeje podporuje i vertikální posun z důvodu úzké tabulky. III. kalendář Vertikálně posunovatelná komponenta, která zajišťuje přehled o aktuálním zobrazeném období. Výjimečná je její vlastnost pomyslná nekonečnost. Můžeme tedy listovat jako v klasickém kalendáři. Umožní tak při budoucím rozšíření vytvářet úkoly v aktuálním místě i mimo rozsah projektu. Jiné aplikace totiž zobrazují pouze období od začátku do konce projektu a tím uživatele omezují. Tento vertikální posun je synchronizovaný s komponentou IV. IV. diagram Vertikálně i horizontálně posunovatelná komponenta, která zobrazuje grafy podle aktuálního kalendáře. Posunovat lze i šikmo pohyb není rozdělen na horizontální a vertikální. Synchronizace však probíhá odděleně horizontální pohyb s komponentou III a vertikální s II. Přiblížení a oddálení je ovládáno gesty tzv. pinch to zoom. Toto gesto je šířeno do komponenty III. Další často používanou obrazovkou je aktivita pro úpravu úkolů. Stejně jako u aplikace Gantt Project rozdělíme nabídku do záložek. Záložky jsou zabudované přímo v Action Bar a je mezi nimi možné přecházet pomocí horizontálního posunu (listování). 20
25 Kapitola 6 Implementace Program je implementován v jazyce Java pro platformu Android. Cílová verze je Android API Level 17 a zpětně kompatibilní je až do API Level 8. Aplikace je přeložena do českého a anglického jazyka pomocí definování lokalizovaných řetězců ve složce res (viz sekce 2.3.1). 6.1 Jádro aplikace Redukovaný diagram tříd jádra aplikace je k dispozici v příloze A Hierarchie úkolů Aby aplikace mohla vykonávat požadované funkce, je nezbytné správné uložení úkolů. Při určitých změnách (datum, míra ukončení) jednoho úkolu je nezbytné šířit změnu svým nadřazeným úkolům (dále rodič ) a jejich závislým úkolům (více o šíření změn v kapitole 6.1.4). Pro uchování posloupnosti a hierarchii úkolů potřebujeme propojit i podúkoly (dále potomci ) a následující úkoly na stejné úrovni (dále následníci ). Zmíněné propojení úkolů zajišťuje třída TreeItem. Uložení v aplikaci je znázorněno na obrázku 6.1. Čtverce znázorňují instance třídy TreeItem a šipky jejich ukazatele. Pokud ukazatel neexistuje, je čára zakončená dvěma čárami - tzn. null. V horní části je zpětný ukazatel na rodiče, v dolní části ukazatel na potomka a vpravo je ukazatel na souseda. Každá instance třídy Task má právě jednu instanci třídy TreeItem, která ho začleňuje do hierarchie úkolů. Pro uživatele je viditelná úroveň 1 a výše. Prvek TreeItem se může nacházet v následujících stavech: souhrn Žádný ukazatel není null. úkol nebo milník Jeho následovník je null. kořen Speciální případ a v celém projektu se nachází právě jednou, jeho předchůdce je null. Kořen je jediná přímo uchovávaná instance třídy TreeItem v třídě TaskManager, přes kterou můžeme přistupovat k celé hierarchii. Uživatel nemá možnost s kořenem jakkoliv pracovat nebo ho upravovat. Slouží jako poslední prvek při šíření změn směrem od úkolů k rodičům. Z toho vyplývá, že každý úkol má nejméně jednoho rodiče. Kořen reprezentuje prvek, ve kterém se shromažďují údaje o celém projektu tj. začátek a konec projektu, trvání a míra dokončení. 21
26 ko en Úrove 0 I. III. II. Úrove 1 IV. V. VI. Úrove 2 Obrázek 6.1: Grafické znázornění uložení úkolů, které je zajištěno třídou TreeItem. Zelená znázorňuje souhrny a modrá úkoly Závislosti Při každém překreslení nebo při šíření změn potřebujeme vědět závislé úkoly a úkoly, pro které je aktuální úkol sám závislý (dále jen předchůdci ). Proto je tohle jedno ze slabých míst aplikace a musíme zajistit co nejrychlejší přístup k těmto údajům. Protože potřebujeme z jednoho úkolu přístup k závislým úkolům i předchůdcům, bylo by nevhodné ukládat u každého z nich seznam závislých úkolů a seznam předchůdců. Proto třída Task neobsahuje žádné údaje o závislostech, ale stará se o to třída DependenceManager. Tato třída si ukládá závislosti dvakrát. Jednou ve struktuře HashSet pro kontrolu existence a podruhé ve struktuře SortedMap[4] pro vyhledávání skupiny závislostí pro konkrétní úkol. Třída DependenceComparator je klíčem pro řazení ve struktuře SortedMap. Umožní nám uložit závislé úkoly i předchůdce do jedné struktury a přehledně pak pomocí metody submap() získat potřebné závislosti. Výčtový typ DependenceRole definuje role (stejně seřazené): DEPENDER je závislý DEPENDEE je předchůdce INF nepřiřazuje se; slouží pouze při tvorbě komparátoru pro metodu submap() Na následujícím příkladu si ukážeme, jak probíhá vyhledávání předchůdců daného úkolu. Příklad DependenceComparator start = new DependenceComparator( DependenceRole.DEPENDER, taskid, TaskManager.UNDEFINED); DependenceComparator end = new DependenceComparator( DependenceRole.DEPENDEE, taskid, TaskManager.UNDEFINED); SortedMap<DependenceComparator, Dependence> submap = dependenciesforsearch.submap(start, end); 22
27 Při tvorbě závislosti je nezbytné kontrolovat: závislost sama na sebe závislost na potomka či rodiče cyklickou závislost Kalendář Pro ukládání časových údajů v celé aplikaci je využita třída Calendar[1]. Aplikace podporuje pouze denní kalendář, proto jsou vždy hodiny, minuty a sekundy nastaveny na nulové hodnoty. Kalendář je implementován pomocí rozhraní, abstraktní třídy a koncových tříd, aby umožnil jednoduché rozšíření na jiné typy kalendářů. V aktuální verzi jsou k dispozici dva kalendáře. První kalendář neuvažuje žádné nepracovní dny. Pro implementaci je jednodušší, protože nedochází k žádným kontrolám den po dni. Z tohoto důvodu je i výpočetně výkonnější. Druhý kalendář dává možnost definovat nepracovní dny v týdnu a prázdniny. Zde není jiná možnost, než při počítání rozdílů nebo posunů dat kontrolovat den po dni, zda není aktuální den nepracovní Šíření změn Jelikož souhrny se aktualizují podle jejich podúkolů a závislé úkoly podle jejich předchůdců, musíme si přesně určit, jaké jsou změny a kam se budou šířit. I za předpokladu, že je projekt složen jen z nezanořených úkolů, šířit změny kořenu musíme. Díky hierarchickému uložení (viz sekce 6.1.1) můžeme šířit změny rodičům i potomkům. V tomto případě se jedná o šíření změn míry dokončení a začátku nebo konce úkolu. Pokud změnu na úkolu vyvolal uživatel (ne závislý úkol), tak se změna šíří vždy rodičům. Při první implementaci jsem se zde dopustil chyby a funkčnost byla omezená. Při změně na úkolu byl oznámen rodiči začátek a konec úkolu (dále jen interval ). Rodič si porovnal data, a pokud byl interval mimo aktuálně uložený interval, aktualizoval si ho. Změna se pak šířila rekurzivně, dokud souhrn nesplňoval interval. Z toho vyplývá, že změna nemusí vždy dojít až ke kořeni. Tím šetří čas, protože při každé změně data se vždy přepočítává trvání úkolu a při delších časových úsecích může být operace časově náročná. Tato implementace ale měla jedno omezení. Za předpokladu, že máme souhrn a tento souhrn má jeden podúkol, pak souhrn bude mít totožný časový interval jako jeho podúkol. Při prodloužení úkolu došlo k prodloužení souhrnu. Problém byl ale při zkrácení úkolu, kdy souhrn zůstával na jeho původní velikosti. Stalo se tak, protože rodič pouze kontroloval, zda nový interval nepřesahuje jeho aktuální. Aktuální verze aplikace vychází ze zmíněného principu. Rozdíl je ve vyhodnocování změn u rodiče. Editovaný úkol posílá rodiči jen oznámení o změně. Rodič pak hledá ze všech jeho podúkolů nejdřívější začátek a nejpozdější konec. Tento interval pak porovná s jeho aktuálním a pokud je rozdílný, aktualizuje si ho a oznámí změnu svému rodiči. Popsaný způsob je sice výpočetně náročnější, ale podporuje i reakci na zmenšení podúkolu. Hierarchicky se šíří i míra dokončení. Při změně míry dokončení je rodič informován o změně. Rodič si pak spočítá průměr ze všech jeho podúkolů a změnu šíří dál. V tomto případě je změna vždy šířena až ke kořeni. Změny nešíříme pouze hierarchicky, ale při změně úkolu se musí dostat změny i ke všem závislým úkolům. Podle typu závislosti se aktualizuje interval. Pokud došlo ke změně, šíří 23
28 se opět rodičům a závislým úkolům. Zároveň je třeba kontrolovat, zda se nejedná o souhrn. Pokud se totiž jedná o souhrn, jedná se o posunutí celého souhrnu tzn. i s jeho podúkoly. Zde šíříme změnu hierarchicky potomkům. Z výše uvedeného vyplývá, že i jediná změna může spustit rozsáhlé změny napříč projektem a stát se tak náročnou pro výpočet. 6.2 Uživatelské rozhraní Nejdůležitější součástí programu je aktivita pro zobrazení Ganttova diagramu a pro úpravu jeho úkolů. Proto je obě podrobně rozebereme. Protože hlavní komponentou celého programu je Action Bar, byla pro jeho zpětnou kompatibilitu použita knihovna ActionBarSherlock 1. Rozšiřuje Support Library a vývojáři ulehčuje zpětnou podporu až od Androidu verze 2.x. Od Androidu verze 3.0 používá vestavěnou lištu Action Bar a pro nižší verze zajistí totožný vzhled pomocí layoutů. Při implentaci musíme užívat komponenty tohoto balíčku a to například místo zdědění třídy Activity dědíme SherlockActivity. Ostatní implementujeme totožně přidáním slova Sherlock před komponentu. Celá aplikace je uzamčená pouze pro landscape orientaci displeje Ganttův diagram Zobrazení zajišťuje aktivita GanttChartActivity, která je rozdělena do čtyř částí. Výsledný Ganttův diagram najdeme na obrázku 6.2. Rozdělení dle návrhu v obrázku 5.1: I. Obsahuje statické komponenty TextView, které se nemění - Jméno, Zahájení a Ukončení. Jsou to hlavičky tabulky (komponenta II), které i při vertikálním posunu seznamu zůstávají na místě. Při kliknutí na položku Jméno dojde ke sbalení všech souhrnů je viditelná pouze první úroveň úkolů (viz obrázek 6.1). Jelikož velikost této komponenty spolu s komponentou II jsou vůči komponentě III a IV definovány poměrem 2 : 3, na malých displejích je část tabulky nezobrazena. Proto tato komponenta spolu s komponentou II umožňuje horizontální posun. II. Celá tato část je jedna komponenta ListView, která uchovává a zobrazuje data pomocí třídy TaskAdapter(potomek třídy Adapter). TaskAdapter si uchovává jednotlivé úkoly ve třídě TaskLevel, kde je uchována instance třídy Task a úroveň zanoření úkolu. Je možné provádět posun vertikální (vlastnost ListView). Pokud dojde k vertikálnímu posunu, vyvolá se překreslení komponenty IV. Tím je zajištěna synchronizace tabulky úkolů s Ganttovým diagramem. Při jednoduchém stisku souhrnu dojde k jeho sbalení nebo rozbalení. Při dlouhém stisku položky se vytvoří Action Mode lišta, která nabízí operace s aktuálním prvkem. III. Základem kalendáře je komponenta View. Celý kalendář je vykreslen metodou ondraw() na základě prvního dne a jeho posunutí offset. Výchozí datum je aktuální den posunutý o pět dní zpět, aby aktuální den byl při spuštění mírně odsazen od levé strany. 1 Apache Licence v2.0; 24
29 Každý den má svoji délku, která se pak mění při přibližování a oddalování v komponentě IV. Stejně tak při posunu v komponentě IV se odečítá/přičítá počet celých dnů a offset. Offset umožňuje plynulé posouvání. IV. Tato komponenta View je závislá na komponentě II a III. Uchovává si tedy jejich instance, aby mohla přímo komunikovat. Vykresluje řádek po řádku v metodě ondraw(). Kvůli správné synchronizaci musí být šířka řádku stejná jako je šířka řádku v ListView v komponentě II. Při vykreslování si uložíme u každého úkolu souřadnice začátku a konce. Musíme projít celý seznam úkolů v adaptéru (ne pouze aktuálně viditelné úkoly) a u každého úkolu požádat kalendář o poskytnutí souřadnic počátku a ukončení úkolu. Tyto souřadnice si pak ukládáme. Celý seznam se prochází, abychom zajistili vykreslení všech závislostí. Pokud bychom procházeli pouze aktuálně zobrazené úkoly, závislosti by se vykreslily jen mezi aktuálně zobrazenými úkoly a při posunu by docházelo ke zmizení závislostí. Pokud je úkol nad aktuálně viditelnými úkoly, přiřadíme mu y-ovou osu zápornou. Pokud je pod aktuálně viditelnými úkoly, přiřadíme mu y-ovou osu větší než je výška aktuálního Canvasu. Tímto umožníme vykreslení závislostí na úkoly, které nejsou aktuálně viditelné. V diagramu dochází k vykreslování míry dokončení. U úkolů se vykreslí jako tmavý pruh uvnitř pruhu úkolu. U souhrnu se pak procentuálně uvede vedle pruhu. Výpočet míry dokončení na aktuálním zobrazení probíhá následovně: 1. Počáteční a koncové datum převedeme do milisekund a vypočítáme dané procento. Tím dostaneme datum v milisekundách. 2. Získané datum zaokrouhlíme na celý den. Zaokrouhlujeme vždy dolů. 3. Zjistíme souřadnici zaokrouhleného data. Pokud GanttCalendarView navrátí null, znamená to, že se konec míry dokončení nenachází v aktuálním zobrazení. V tomto případě dále nepokračujeme. 4. Spočítáme, kolika procenty zasahuje do zaokrouhleného dne. 5. Vypočítáme posunutí v rámci displeje. Z GanttCalendarView zjistíme aktuální šířku jednoho dne a z této šířky vypočteme procento z předchozího bodu. 6. Posunutí přičteme k souřadnici zaokrouhleného data. Jelikož je diagram závislý na zmíněných komponentách, při změnách vyvolaných v této komponentě dojde k informaci kalendáře nebo seznamu úkolů a následné překreslení. Při posunutí se x-ová souřadnice předává kalendáři a y-ová souřadnice seznamu úkolů. Při přibližování nebo oddalování je spočítán scale factor a předán kalendáři. Překreslení už proběhne s aktuálními daty. Při výběru kalendáře s nepracovními dny se nepracovní dny označují jemně šedou barvou, aby byly v diagramu lehce rozpoznatelné. 25
30 Obrázek 6.2: Screenshot obrazovky s Ganttovým diagramem Editace úkolu Editace úkolů je rozdělena do čtyř záložek a každá z nich představuje jeden fragment. Aktivita TaskFragmentActivity se stará za pomocí třídy TabsAdapter o přepínání fragmentů. Kombinuje záložky, Sherlock Action Bar a Pager dohromady. To nám díky vestavěným záložkám ušetří místo a zrychlí práci při úpravách úkolů. Mezi záložkami můžeme přepínat kliknutím na danou záložku nebo přetažením. Změny se ukládají ihned. Výjimku tvoří změny v datech a trvání. Tyto změny se aplikují až při opuštění editace, protože by se při každé změně šířily změny k ostatním závislým a nadřazeným prvkům. Tyto úpravy by však nemusely být konečné a mohlo by dojít k šíření nesprávných dat. Ostatní změny se ihned projeví. Použité fragmenty si popíšeme detailněji: Obecné Tento fragment jako jediný určuje omezení na vyplnění jména úkolu. Pro případ vytvoření nového úkolu omylem je umístěno tlačítko Storno. Při editaci však toto tlačítko není k dispozici, protože se vše ihned ukládá. Editovat zahájení a ukončení úkolu můžeme: změnou zahájení Datum ukončení zůstane stejné a přepočítá se trvání. změnou ukončení Datum zahájení zůstane stejné a přepočítá se trvání. změnou trvání Datum zahájení zůstane stejné a přepočítá se datum ukončení. Pokud je aktuální úkol označen jako milník, datum ukončení, trvání i míra dokončení jsou neaktivní a nelze je měnit. Při otevření souhrnu je neaktivní komponenta pro zadávání data zahájení i ukončení, doby trvání a míry dokončení. Všechny zmíněné vlastnosti se počítají automaticky podle potomků. U souhrnu navíc není ani volba milníku. 26
31 Pro výběr barev je využita knihovna android-color-picker 2. Grafické znázornění najdeme v obrázku 6.3. Předchůdci, Zdroje Fragmenty jsou rozděleny na statické záhlaví a ListView s adaptérem. Tyto fragmenty implementují vlastní Action Bar s položkou pro přidání nové závislosti nebo přiřazení zdroje pomocí třídy DialogFragment. Poznámky Fragment obsahuje jeden EditText, který zabírá celou zbylou plochu pod Action Bar. Obrázek 6.3: Screenshot obrazovky pro úpravu úkolů 6.3 Načítání a ukládání souborů Načítání i ukládání souborů je implementováno přes rozhraní, abstraktní třídu a třídu. V abstraktní třídě definujeme způsob parsování jednotlivých formátů (prozatím jen.gan) a koncová třída reprezentuje typ souboru (lokálně uložený, internet). Proto můžeme velice jednoduše rozšířit podporu dalších formátů a typů pouhým přidáním koncové třídy nebo metody v abstraktní třídě. Veškeré tyto operace probíhají ve zvláštním vlákně pomocí třídy AsyncTask. Pro výběr souborů slouží vestavěný průzkumník, který umožní uživateli otevírat soubory s interního úložiště nebo SD karty. Je zde nastaven filtr na soubory s příponou.gan a.xml. Veškerou tuto funkčnost zajišťuje knihovna android-file-dialog 3. Aplikace spolupracuje s formátem XML, který se ukládá se sufixem.gan. XML formát je načítán pomocí DOM[3], díky čemuž aplikace objektově přistupuje k jednotlivým prvkům XML. Při načítání se ukládá do vnitřní struktury a dopočítává nezbytné údaje. Při přidání 2 Apache Licence 2.0; 3 New BSD Licence; 27
32 nového úkolu nebo nové závislosti se změny automaticky šíří (viz sekce 6.1.4), aby byla všechna data validní. Pokud bychom předpokládali, že data v XML jsou validní a správně vypočítána, mohli bychom toto šíření změn omezit a tím zrychlit načítání. Export do XML souboru probíhá pomocí XmlSerializer[5], který umožní jednoduše a přehledně vytvořit XML soubor. Metodami starttag() a endtag() vkládá otevírací a uzavírací tagy a pomocí attribute() vkládá atribut k poslednímu vloženému tagu. V následujícím příkladu můžeme vidět hierarchické uložení úkolů ve formátu.gan. Při načítání je tedy potřebné vytvořit daný úkol, přiřadit mu rodiče, a pokud existuje další úkol, dojde k rekurzi. Úkolům v první úrovni přiřazujeme na místo rodiče kořen (viz sekce 6.1.1). Příklad uložení <task id="44" name="návrh" color="#8cb6ce" meeting="false" start=" " duration="14" complete="0" expand="true"> <depend id="95" type="2" difference="0" hardness="strong"/> <task id="46" name="navrh architektury" color="#8cb6ce" meeting="false" start=" " duration="10" complete="0" expand="true"> <depend id="50" type="2" difference="0" hardness="strong"/> </task> <task id="50" name="vytvoření UML diagramů" color="#8cb6ce" meeting="false" start=" " duration="4" complete="0" expand="true"/> </task> 28
33 6.4 Testování Testování proběhlo na zařízeních vypsáných v tabulce 6.1. Na zařízení Google Nexus 7 byla celá aplikace vyvíjena a také testována funkčnost jádra, které je kritickým místem pro správnou funkci celého programu. Toto testování bylo provedeno na reálných datech. Na zařízení LG P500 jsem ověřil zpětnou kompatibilitu komponent, které jsou bez dodatečných knihoven dostupné až od Androidu verze 3.0 (API level 11). Zároveň jsem narazil na nastavení jiných implicitních hodnot. Například bylo nezbytné nastavit v metodě oncreate() viditelnost komponenty ProgressBar na hodnotu false, jinak se komponenta spustila ihned po startu Activity. Jelikož z testovaných zařízení mají nejmenší velikost displeje a rozlišení, některé komponenty byly zobrazeny mimo displej. V některých případech proto bylo nutné definovat specifický layout, který rozmístil komponenty pro malé displeje. Ve většině případů však bylo řešení přidání komponenty ScrollView. Jelikož ostatní zařízení mají podobné verze Androidu, zaměřil jsem se zejména na grafickou stránku na různých rozlišeních a velikostech displeje. Díky použité jednotce dp 4 nebyl žádný problém. Aplikace je zveřejněná na Google Play 5. Pomocí Developer Console bylo odhaleno několik závažných chyb, které byly ihned odstraněny. Zařízení Verze Androidu Velikost displeje ( ) Rozlišení LG Optimus One P Google Nexus Samsung Galaxy Nexus GoClever T76GPS LG Optimus 2X P Fuzhou Rockchip GoClever Tab A HTC Desire C Tabulka 6.1: Zařízení, na kterých bylo provedeno testování 4 Density-independent pixel; virtuální jednotka definovaná vztahem 1dp = 160px/dpi
34 Kapitola 7 Závěr Cílem této bakalářské práce bylo analyzovat existující řešení, navrhnout a implementovat aplikaci, pomocí které se budou moci plánovat procesy. Bylo nezbytné se seznámit s platformou Android a s principy pro vývoj aplikací pro tuto platformu. Velkým přínosem mi byla analýza hotových řešení. Byly analyzovány tři desktopové aplikace a tři aplikace pro platformu Android. Tato analýza mi rozšířila přehled o existujících řešeních, jejich slabých stránkách a naopak i o jejich kladných vlastnostech. V tomto okamžiku vznikal návrh, při němž jsem se snažil eliminovat veškeré negativní vlastnosti analyzovaných aplikací. Veškeré nápady byly průběžně konzultovány s manažery a díky těmto zpětným vazbám vznikla aplikace schopná konkurovat dosavadním řešením. Hlavní výhodou této aplikace je přehledné a jednoduché uživatelské rozhraní, které uživatelé jistě ocení při práci. Byly využity prvky pro ovládání gesty (např. listování mezi záložkami při editaci úkolu, pinch-to-zoom v diagramech). Rychlou práci nám také umožní automatické ukládání změn. Český uživatel jistě ocení prostředí v rodném jazyce, což doposud žádná aplikace pro platformu Android neposkytovala. Podařilo se také implementovat nekonečný kalendář (není omezen pouze na projekt), který doposud nebyl v žádné aplikaci pro Android implementován. Tato funkčnost bude využita v interaktivním plánování, které umožní vytvářet závislosti a měnit interval úkolu přímo v grafu. Výstupem této práce je otestovaný nástroj pro řízení procesů, jež budu dále rozvíjet. Možností, jak tuto aplikaci rozšířit, je mnoho. Jak jsem již zmínil, v blízké době se chci zaměřit na interaktivní vytváření závislostí, změnu intervalu úkolu přímo v grafu a také oddálení grafu na měsíce a roky. Dále bych chtěl pokračovat s exportem do PDF a obrázku, což umožní uživateli sdílet plány s lidmi, kteří nemají nástroj pro zobrazení nativního kódu. Pro ulehčení zadávání zdrojů bude aplikace propojena s telefonním seznamem, odkud se budou moci kontakty importovat jako zdroje. Poté, co budou tyto komponenty odladěné, bych chtěl rozšířit kompatibilitu i na jiné desktopové verze. V blízké době také budu jednat s přáteli v zahraničí o překladu do dalších jazyků. Na této bakalářské práci si nejvíce vážím zkušeností získaných při řešení netriviálních problémů a následné kladné zpětné vazby od uživatelů. 30
35 Literatura [1] Calendar [online] [cit ]. URL [2] Dashboards [online] [cit ]. URL [3] org.w3c.dom [online] [cit ]. URL [4] SortedMap [online] [cit ]. URL [5] XMLSerializer [online] [cit ]. URL http: //developer.android.com/reference/org/xmlpull/v1/xmlserializer.html [6] Clark, W.: The Gantt Chart: A Working Tool of Managment. The Ronald Press Company, [7] Developers, A.: App Framework [online]. [cit ]. URL [8] Developers, A.: Storage Options [online]. [cit ]. URL [9] Mednieks, Z.; Dornin, L.; Meike, G. B.; aj.: Programming Android. O Reilly Media, Inc., 2011, ISBN [10] Svozilová, A.: Projektový managment. Grada Publishing, a.s., 2006, ISBN [11] Wikipedia: Dependency (project management) Wikipedia, The Free Encyclopedia [online] [cit ]. URL 31
36 Příloha A Diagram tříd V diagramu jsou uvedené jen hlavní třídy jádra. Z důvodu nedostatku místa nejsou uvedeny abstraktní a koncové třídy rozhraní DependenceType a MyCalendar. Obrázek A.1: Diagram tříd jádra aplikace 32
Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý
Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části
MATURITNÍ PRÁCE dokumentace
MATURITNÍ PRÁCE dokumentace Jídelníček SŠIEŘ pro Android Martin Bartoň školní rok: 2012/2013 obor: třída: Počítačové systémy PS4.A ABSTRAKT Práce je zaměřená na problematiku tvorby Android aplikací,
Reliance 3 design OBSAH
Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních
Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.
Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,
Postupy práce se šablonami IS MPP
Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul
Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23
Úvod 11 KAPITOLA 1 Nástroje pro vývoj 13 Co budete potřebovat 13 Instalace programovacího jazyka Java 13 Java 8 14 Vývojové prostředí Eclipse 15 Instalace a konfigurace Android SDK a doplňků ADT 15 Vytvoření
DATABÁZE MS ACCESS 2010
DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,
Formy komunikace s knihovnami
Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence
Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14
Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační
MS Project 2010. Představení, zadávání, úkoly a kalendáře
MS Project 2010 Představení, zadávání, úkoly a kalendáře Řízení projektů MS Projekt není jediný nástroj, ale je hodně využívaný Další produkty Primavera P6 GanttProject OpenProj Basecamp GNOME Planner
Začínáme pracovat s tabulkovým procesorem MS Excel
Začínáme pracovat s tabulkovým procesorem MS Excel Nejtypičtějším představitelem tabulkových procesorů je MS Excel. Je to pokročilý nástroj pro tvorbu jednoduchých i složitých výpočtů a grafů. Program
APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6
APS mini.ed programová nadstavba pro základní vyhodnocení docházky Příručka uživatele verze 2.2.0.6 APS mini.ed Příručka uživatele Obsah Obsah... 2 Instalace a konfigurace programu... 3 Popis programu...
Nemocnice. Prvotní analýza a plán projektu
Nemocnice Projekt do předmětu AIS Prvotní analýza a plán projektu Lukáš Pohl, xpohll00, xkosti03 Jan Novák, xnovak79 2009/2010 1 Neformální specifikace FN potřebuje informační systém, který bude obsahovat
Nápověda k aplikaci EA Script Engine
Nápověda k aplikaci EA Script Engine Object Consulting s.r.o. 2006 Obsah Nápověda k aplikaci EA Script Engine...1 1. Co je EA Script Engine...2 2. Důležité upozornění pro uživatele aplikace EA Script Engine...3
Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC
Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN BASIC Modul FADN BASIC je určen pro odbornou zemědělskou veřejnost bez větších zkušeností s internetovými aplikacemi a bez hlubších
3D EDITOR. Základy práce s programem. Verze 1.0.0
3D EDITOR Základy práce s programem Verze 1.0.0 OBSAH 1. Přehled verzí aplikace... 3 2. Spuštění aplikace... 4 3. Princip jednoho souboru... 4 4. Práce ve více oknech... 4 5. Rozložení okna s úlohou...
Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA
Internetový přístup do databáze FADN CZ - uživatelská příručka Modul FADN RESEARCH / DATA Modul FADN RESEARCH je určen pro odborníky z oblasti zemědělské ekonomiky. Modul neomezuje uživatele pouze na předpřipravené
PRODUKTY. Tovek Tools
Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních
BALISTICKÝ MĚŘICÍ SYSTÉM
BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD
Mobilní aplikace. Uživatelský manuál
Uživatelský manuál Obsah Základní informace a nastavení... 3 Nastavení přístupu... 4 Registrace docházky... 5 Editace vlastní docházky... 5 Ovládaní z mobilní aplikace... 6 Konfigurace mobilní aplikace...
Základy práce s aplikací ecba / ESOP
Základy práce s aplikací ecba / ESOP Obsah 1. SYSTÉMOVÉ POŽADAVKY A REGISTRACE... 2 Nová registrace... 2 2. SPRÁVA PROJEKTŮ... 3 Horní lišta... 3 Levé menu... 4 Operace s projekty... 4 3. PRÁCE S PROJEKTEM...
JRm verze 2.0.0. Aplikace. Instalace. Ovládání
1 JRm verze 2.0.0 Aplikace JRm (Jízdní řády pro mobilní telefony) je aplikace pro vyhledávání spojení a zobrazování jízdních řádů MHD. Je určena pro telefony podporující Javu 2.0. MIDP 2.0 a zpracování
gdmss Lite Android DVR Mobile Client Návod k obsluze aplikace
gdmss Lite Android DVR Mobile Client Návod k obsluze aplikace Pouze pro telefony se systémem Android Obsah 1. VŠEOBECNÉ INFORMACE... 3 1.1 Úvod... 3 1.2 Funkce... 3 1.3 Technické požadavky na provoz aplikace...
D2 - GUI design. Radek Mečiar 28.3.2014
D2 - GUI design Radek Mečiar 28.3.2014 1 Úvod Zvolená platforma: Android Verze: 4.x Nástroj pro kreslení: Pencil Platformu a verzi jsem zvolil, protože je v současnosti nejpoužívanější. Informace o standardu
45 Plánovací kalendář
45 Plánovací kalendář Modul Správa majetku slouží ke tvorbě obecných ročních plánů činností organizace. V rámci plánu je třeba definovat oblasti činností, tj. oblasti, ve kterých je možné plánovat. Každá
Testování aplikace Facebook Messenger pro Windows Phone 8.1
[ZDEJTE ÁZEV SPOLEČOSTI.] Testování aplikace Facebook Messenger pro Windows Phone 8.1 7B36TUR Jan Vitha 06.11.2016 Obsah 1. Úvod... 1 1.1. Popis aplikace... 1 1.2. Cílová skupina... 1 2. Přehled testovaných
ELEKTRONICKÉ PODÁNÍ OBČANA
Strana č. 1 ELEKTRONICKÉ PODÁNÍ OBČANA NÁVOD NA VYPLŇOVÁNÍ A ODESLÁNÍ FORMULÁŘŮ IČ: 63078236, DIČ: CZ63078236, OR: MS v Praze, oddíl B, vložka 3044 Strana 1 / 13 Strana č. 2 1 Obsah 1 Obsah... 2 2 Úvod...
Nový design ESO9. E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a , P r a h a. Strana 1 z 9
Nový design ESO9 E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a 2 2 1 4 1 0 0, P r a h a Strana 1 z 9 Úvod... 3 Popis změn... 4 Horní lišta... 4 Strom činností... 5 Prostřední rám... 7 Horní lišta...
Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5
CRM SYSTÉM KORMORÁN UŽIVATELSKÁ PŘÍRUČKA Obsah 1 Základní práce se systémem 3 1.1 Práce se záznamy................................. 3 1.2 Stránka Dnes.................................... 4 1.3 Kalendář......................................
UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08
UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08 1 Obsah dokumentu 1 Obsah dokumentu... 2 2 Personalizovaná objednávka... 3 3 Jednoduchá... 3 4 Standardní... 4 5 Komplexní... 5 5.1 Párování
Uživatelská příručka. 06/2018 Technické změny vyhrazeny.
Uživatelská příručka 1 OBSAH 1 ÚVOD... 3 1.1 Merbon SCADA... 3 1.1.1 K čemu program slouží...3 2 Přihlášení a odhlášení z programu... 4 3 Projekty... 5 3.1 Výběr zobrazení... 5 3.2 Schémata... 6 3.3 Grafy...
Elektronické učebnice popis systému, základních funkcí a jejich cena
Elektronické učebnice popis systému, základních funkcí a jejich cena Vytvořil TEMEX, spol. s r. o. Obsah 1. Úvod... 2 Formáty... 2 Cena... 2 2. Systémové požadavky... 3 Interaktivní PDF verze... 3 HTML
UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V1.2.1 2010-08-25
UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V1.2.1 2010-08-25 1 Obsah dokumentu 1 Obsah dokumentu... 2 2 Personalizovaná objednávka... 3 3 Jednoduchá... 3 4 Standardní... 4 5 Komplexní... 5 5.1 Párování
Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.
Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro administrátory Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento
UniLog-D. v1.01 návod k obsluze software. Strana 1
UniLog-D v1.01 návod k obsluze software Strana 1 UniLog-D je PC program, který slouží k přípravě karty pro záznam událostí aplikací přístroje M-BOX, dále pak k prohlížení, vyhodnocení a exportům zaznamenaných
Možnosti tisku v MarushkaDesignu
0 Možnosti tisku v MarushkaDesignu OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGNU...5-1 - 1 Cíl příkladu V tomto příkladu si ukážeme
Technologické postupy práce s aktovkou IS MPP
Technologické postupy práce s aktovkou IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Technologické postupy práce
Zpravodaj. Uživatelská příručka. Verze
Zpravodaj Uživatelská příručka Verze 02.01.02 1. Úvod... 3 2. Jak číst tuto příručku... 4 3. Funkčnost... 5 3.1. Seznam zpráv... 5 4. Ovládání programu... 6 4.1. Hlavní okno serveru... 6 4.2. Seznam zpráv...
Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit.
Úvodní příručka Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Aktualizované šablony Šablony vám pomáhají při
Uživatelský manuál. Format Convert V3.1
Uživatelský manuál Format Convert V3.1 Obsah Obsah 1 Kapitola 1 - Popis softwaru Systémové požadavky 2 Podporovaná zařízení a formáty 2 Odinstalace 3 Kapitola 2 - Ovládání Výběr formátu souboru 4 Výběr
Manuál pro mobilní aplikaci Patron-Pro. verze pro operační systém Symbian
Manuál pro mobilní aplikaci Patron-Pro verze pro operační systém Symbian 1 1. Popis Aplikace je určena pro mobilní telefony NOKIA s operačním Symbian a vybavené technologií NFC. Slouží pro správu identifikačních
Svolávací systém Uživatelský manuál
Uživatelský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 14. srpna 2013 Číslo
Budovy a místnosti. 1. Spuštění modulu Budovy a místnosti
Budovy a místnosti Tento modul představuje jednoduchou prohlížečku pasportizace budov a místností VUT. Obsahuje detailní přehled všech budov a místností včetně fotografií, výkresů objektů, leteckých snímků
Inthouse Systems s.r.o. Specifikace. Inthouse App a Inthouse Studio pro Siemens Climatix 6XX. Verze software 1.X. Revize dokumentu 6
Inthouse Systems s.r.o. Specifikace Inthouse App a Inthouse Studio pro Siemens Climatix 6XX Verze software 1.X Revize dokumentu 6 Datum 4. 11. 2016 Obsah Obsah 1 Úvod 2 Základní přehled systému 2 Inthouse
44 Organizace akcí. Popis modulu. Záložka Seznam akcí
44 Organizace akcí Modul Organizace akcí slouží k přípravě a plánování různých společenských, sportovních, kulturních, apod. akcí. Tyto akce je možné dále dělit do částí (ve stromové struktuře) a plánovat
Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12
O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler
Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu
StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již
Wonderware Information Server 4.0 Co je nového
Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat
[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST]
[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST] [Aktualizace dokumentu: 27.8.2011 3:02:37 Verze dokumentu: 1.0 Obsah Obsah... 2 1. Struktura databáze a souborů... 3 2. Soubor registerdevice.php...
Výzva k podání nabídek
Výzva k podání nabídek Číslo zakázky (bude doplněno MPSV při uveřejnění): Název zakázky: Předmět zakázky (služba, dodávka nebo stavební práce): 8148 Pořízení elearningového prostředí Statutárního města
Kontextové dokumenty
Příručka uživatele systému Museion Kontextové dokumenty Autorská práva Copyright 2012-2015 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými právy a distribuována na základě
DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)
DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 62 Databáze a systémy pro uchování
Návod k použití softwaru Solar Viewer 3D
Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a
7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů
7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů Verze dokumentu: 1.0 Autor: Jan Lávička, Microsoft Časová náročnost: 30 40 minut 1 Cvičení 1: Vyhledávání informací v
MS Word. verze Přehled programů pro úpravu textu
MS Word verze 2013 Přehled programů pro úpravu textu Pro úpravu textu slouží textový editor Jednoduché (zdarma, součást operačního systému MS Windows): Poznámkový blok, WordPad Komplexní: MS Word, Writer
Microsoft Office. Word vzhled dokumentu
Microsoft Office Word vzhled dokumentu Karel Dvořák 2011 Práce se stránkou Stránka je jedním ze stavebních kamenů tvořeného dokumentu. Představuje pracovní plochu, na které se vytváří dokument. Samozřejmostí
Návod k využívání interaktivních funkcí
Návod k využívání interaktivních funkcí Vážení zákazníci, těší nás, že jste se rozhodli využívat výhody Interaktivní TV. Svoji Interaktivní TV budete ovládat přes velmi jednoduchou a intuitivní aplikaci.
PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah
1 Obsah 1 Obsah... 1 2 Úvod a spouštění SW Palstat CAQ... 2 2.1.1 Návaznost na další SW moduly Palstat CAQ... 2 2.2 Přihlášení do programu... 2 2.2.1 Stanovení přístupu a práv uživatele... 2 2.2.2 Spuštění
WORD. (zobecněno pro verzi 2007)
WORD (zobecněno pro verzi 2007) Program MS Word patří softwarově do skupiny uživatelských aplikací, které se nazývají textové editory. Slouží především k editacím či-li úpravám textů vč. vkládání grafických
MS Windows 7. Milan Myšák. Příručka ke kurzu. Milan Myšák
MS Windows 7 Milan Myšák Příručka ke kurzu Milan Myšák Vývoj MS Windows Historické verze (do Win Me a Win NT 4.0) Windows XP (2001) Windows 7 (2009) Windows 2000 Windows Vista (2007) Windows 8 (2012) Milan
Časový rozvrh. Agenda. 1 PŘÍPRAVA K CERTIFIKACI IPMA
PŘÍPRAVA K CERTIFIKACI IPMA MS Project Časový rozvrh 2 09:00 10:30 blok 1 10:30 10:45 přestávka 10:45 12:00 blok 2 12:00 13:00 oběd 13:00 14:15 blok 3 14:15 14:30 přestávka 14:30 16:00 blok 4 Agenda 3
9. Software: programové vybavení počítače, aplikace
9. Software: programové vybavení počítače, aplikace Software (SW) je programové vybavení počítače, které nám umožňuje faktickou práci na počítači tvorbu dokumentů, tabulek, úpravy obrázků, elektronickou
Elektronické zpracování dotazníků AGEL. Verze 2.0.0.1
Elektronické zpracování dotazníků AGEL Verze 2.0.0.1 1 Obsah 2 Přihlášení do systému... 1 3 Zápis hodnot dotazníků... 2 3.1 Výběr formuláře pro vyplnění dotazníku... 2 3.2 Vyplnění formuláře dotazníku...
Aplikace GoGEN Smart Center
Aplikace GoGEN Smart Center Návod na použití aplikace Úvod Aplikace GoGEN Smart Center pro maximální využití Smart TV GoGEN, spojuje vyspělou technologii a zábavu v pohodlí domova. SMART ovládání ovládání
Aplikace pro srovna ní cen povinne ho ruc ení
Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420
Windows 8.1 (5. třída)
Windows 8.1 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na pracovní ploše - Hlavní panel - ikony na Hlavním panelu (zvýrazněná ikona spuštěné
Sem vložte zadání Vaší práce.
Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Informační systém pro evidenci potápěčských ponorů
WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní
WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality
Prozkoumání příkazů na pásu karet Každá karta na pásu karet obsahuje skupiny a každá skupina obsahuje sadu souvisejících příkazů.
Úvodní příručka Microsoft Excel 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Přidání příkazů na panel nástrojů Rychlý přístup
PRODUKTY. Tovek Tools
jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.
Windows 10 (5. třída)
Windows 10 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na Pracovní ploše ikona Student 17 (se jménem přihlášeného uživatele) ikona Tento počítač
Tvorba kurzu v LMS Moodle
Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce
xrays optimalizační nástroj
xrays optimalizační nástroj Optimalizační nástroj xoptimizer je součástí webového spedičního systému a využívá mnoho z jeho stavebních bloků. xoptimizer lze nicméně provozovat i samostatně. Cílem tohoto
Část 1 - Začínáme. Instalace
Obsah Část 1 - Začínáme... 4 Instalace... 4 Nastavení domovské obrazovky... 7 Základní nastavení kanceláře... 9 První kroky s Kleosem... 11 Moje první kauza... 15 2 3 Část 1 - Začínáme Instalace Kleos
D8 Plánování projektu
Projektový manažer 250+ Kariéra projektového manažera začíná u nás! D Útvarové a procesní řízení D8 Plánování projektu Toto téma obsahuje informace o správném postupu plánování projektu tak, aby byl respektován
Windows Live Movie Maker
Windows Live Movie Maker Tento program slouží k vytváření vlastních filmů, která se mohou skládat z fotografií, videí, titulků a zvuku. Movie Maker je součástí instalace operačního systému Windows 7 a
Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5
Rejstřík Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Úvod Správcovská aplikace slouží k vytvoření vstupního a zašifrovaného souboru pro odečtovou
Nápověda aplikace Patron-Pro
Nápověda aplikace Patron-Pro 1. Popis aplikace Aplikace Patron-Pro slouží k zobrazení souboru zálohy mobilní aplikace Patron-Pro se záznamy o povolených kartách. Dále umožňuje tyto záznamy editovat, vytvářet
Operační systém MS Windows XP Professional
Operační systém MS Windows XP Professional Operační systém základní programové vybavení počítače zprostředkovává komunikaci uživatele s počítačem s technickým vybavením počítače s aplikačním programovým
Programové vybavení počítačů operační systémy
Programové vybavení počítačů operační systémy Operační systém Základní program, který oživuje hardware a poskytuje prostředí pro ostatní programy Řídí využití procesoru, síťovou komunikaci, tisk, ovládá
IBRIDGE 1.0 UŽIVATELSKÝ MANUÁL
IBRIDGE 1.0 UŽIVATELSKÝ MANUÁL Jaromír Křížek OBSAH 1 ÚVOD... 3 2 INSTALACE... 4 2.1 SYSTÉMOVÉ POŽADAVKY... 5 2.2 SPUŠTĚNÍ IBRIDGE 1.0... 5 3 HLAVNÍ MENU... 6 3.1 MENU FILE... 6 3.2 MENU SETTINGS... 6
aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš E-mail: tomas.d@centrum.cz
aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš E-mail: tomas.d@centrum.cz Operační systém Windows - první operační systém Windows byl představen v roce
MS Excel 2007 Kontingenční tabulky
MS Excel 2007 Kontingenční tabulky Obsah kapitoly V této kapitole se seznámíme s nástrojem, který se používá k analýze dat rozsáhlých seznamů. Studijní cíle Studenti budou umět pro analýzu dat rozsáhlých
Systémové elektrické instalace KNX/EIB (16. část) Ing. Josef Kunc
Systémové elektrické instalace KNX/EIB (16. část) Ing. Josef Kunc Projektování systémové elektrické instalace KNX/EIB nastavení ETS a komunikace Dříve, než zahájíme vlastní projektovou činnost, je vhodné
47 Mapování přístupnosti
47 Mapování přístupnosti Modul Mapování přístupnosti slouží ke správě výsledků mapování architektonických objektů z hlediska přístupnosti a především k evidenci zjištěných skutečností o mapovaných objektech.
Mobilní aplikace. Uživatelský manuál
Uživatelský manuál Obsah Základní informace a nastavení... 3 Nastavení přístupu... 4 Registrace docházky... 5 Editace vlastní docházky... 5 Ovládaní z mobilní aplikace... 6 Konfigurace mobilní aplikace...
Prozkoumání příkazů na pásu karet Každá karta na pásu karet obsahuje skupiny a každá skupina obsahuje sadu souvisejících příkazů.
Úvodní příručka Microsoft Project 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Panel nástrojů Rychlý přístup Tuto oblast můžete
Manuál pro práci s modulem Otázky a odpovědi
Manuál pro práci s modulem Otázky a odpovědi Užitečné postupy a doporučení Obsah 1 Role uživatelů...3 2 Odesílání otázek...3 3 Přehled otázek...4 3.1 Orientace v přehledu...4 3.2 Základní údaje otázky...5
Obsah SLEDOVÁNÍ PRÁCE... 4
Co je nového Obsah SLEDOVÁNÍ PRÁCE...... 4 Konfigurace souboru... 5 Globální konfigurace... 6 Soubory... 6 Projekty... 6 Uživatelské rozhraní... 7 Synchronizace... 7 Typ serveru... 8 Test připojení...
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT
Interaktivní funkce Selfnet TV
Interaktivní funkce Selfnet TV Uživatelská příručka Vážení zákazníci, těší nás, že jste se rozhodli využívat výhody interaktivní televize Selfnet TV. Svoji Selfnet TV budete ovládat přes velmi jednoduchou
WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK
WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.
Téma 5: Konfigurace počítačů se systémem Windows 7. Téma 5: Konfigurace počítačů se systémem Windows 7
Téma 5: Konfigurace počítačů se systémem Windows 7 1 Teoretické znalosti V tomto cvičení se dozvíte více o správě počítače se systémem Windows 7. Ukážeme si nové funkce, které má správce k dispozici jako
Bc. Martin Majer, AiP Beroun s.r.o.
REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam
Úvod. Klíčové vlastnosti. Jednoduchá obsluha
REQUESTOR DATASHEET Úvod Requestor Service Desk poskytuje kompletní řešení pro správu interních i externích požadavků, které přicházejí do organizace libovolnou cestou. Produkt je zaměřen na vytvoření
EQAS Online. DNY kontroly kvality a speciálních metod HPLC, Lednice 8.-9.11.2012
EQAS Online DNY kontroly kvality a speciálních metod HPLC, Lednice 8.-9.11.2012 Co je program EQAS Online Nový program od Bio-Radu pro odesílání výsledků externího hodnocení kvality Přístupný je prostřednictvím
Připojení přístroje A4101 k aplikaci DDS2000
" Uživatelský manuál Připojení přístroje A4101 k aplikaci DDS2000 Aplikace :! Přenos a archivace dat naměřených přístrojem A4101! Přenos pochůzky vytvořené v aplikaci DDS2000 do přístroje A4101 Vlastnosti
Lokality a uživatelé
Administrátorský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 15.října 2013
Studijní informační systém KOS ikos přístup pro referenty
Studijní informační systém KOS ikos přístup pro referenty Pro práci se studijním informačním systémem AMU se používají dvě různé aplikace, které však pracují se společnými daty. Studenti a učitelé pracují
1. ESO9 MAJETEK ZÁKLADNÍ VLASTNOSTI DOPORUČENÝ HW... 3
Zpracoval: Zabořil Jaroslav U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 12.9.2017 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Zabořil Jaroslav www.eso9.cz Dne: 27.6.2018 Obsah 1. ESO9 MAJETEK...