Návrh funkcionality aplikace mobilního rozvrhu
Obsah
Před tím než se samotná aplikace pro mobilní telefony začne navrhovat, musí se analyzovat uživatelské prostředky. Uživatelskými prostředky se myslí zařízení, pro které bude aplikace navržena. Platforma Android se využívá na zařízeních v různých verzích. Každá nová verze platformy Android poskytuje nové softwarové možnosti pro návrh aplikací a možnost využití nových hardwarových prostředků. Aplikace pro platformu Android jsou zpětně kompatibilní, to znamená, že aplikace napsaná pro verzi API 8 lze spustit také na zařízeních s verzí API 16, ale spustit aplikaci napsanou pro verzi API 16 na zařízeních s verzí API 8 není možné.
V první řadě se tedy určily hardwarové prostředky nezbytně nutné k běhu celé aplikace. Zjistilo se, že aplikace EPI rozvrh nepotřebuje žádné z novějších hardwarových možností. Pro svou činnost potřebuje pouze připojení k internetu, cože je poskytováno od nejstarších verzí. Softwarové požadavky jsou taktéž minimální.
Při rozhodování pro kterou minimální verzi bude aplikace navržena, hrála největší roli rozšířenost platforem Android mezi lidmi. Platforma Android je k 21. 1. 2013 celosvětově nejrozšířenější ve verzích API 10 - 38.4 %, API 15 - 27.5 %, API 16 - 26.1 %. [20]
Architektura rozvrhu hodin
EPI rozvrh je pouze rozhraním, které zpracovává data ze školních serverů, kde jsou uloženy všechny potřebné informace pro sestavení rozvrhu hodin. Tyto informace, neboli data, aplikace ukládá do interní databáze. Poté je vhodně umístí do uživatelského rozhraní tak, aby byly uživateli srozumitelné. Vnější pohled na modelový systém EPI rozvrh je na schématu č. 4, na kterém je diagram případů užití. Hlavním cílem tohoto diagramu je zachycení všech aktérů, kteří komunikují s aplikací. Aktéři nejsou jenom uživatelé aplikace, ale také veškeré prostředky úzce spolupracující s aplikací, tudíž veškeré systémy, aplikace, procesy, služby atd.
Schéma č. 1: Diagram případů užití aplikace EPI rozvrh
Zdroj: vlastní.
Případy užití
V následujících tabulkách jsou popsány jednotlivé případy užití. V každé tabulce jsou zaznamenáni jednotliví aktéři, kteří mohou využívat popisovaný případ užití. Jeden případ užití může obsluhovat více aktérů. Dále je v tabulce zaznamenán stav aplikace před spuštěním případu užití a stav po spuštění případu užití. V poslední řadě jsou v této tabulce zaznamenány jednotlivé kroky provádějící se po spuštění případu užití.
Název případu užití | Nastavení aplikace |
Aktéři | Uživatel |
Před spuštěním případu užití | Uživatel má spuštěnou aplikaci, je přihlášený a nachází se v hlavím menu aplikace. |
Kroky případu užití | # Z hlavního menu vybere položku nastavení,
|
Stav po ukončení případu užití | Aplikace má změněné nastavení |
Tabulka č. 1: Scénář případu užití „Nastavení aplikace“
Zdroj: vlastní
Předcházející tabulka případu užití (tabulka č. 8) popisuje, jakými kroky se uživatel dostane k nastavení aplikace. Aktérem je uživatel a stav aplikace po dokončení tohoto případu užití je, že je aplikace nastavená a nastavení je okamžitě uplatněno. Není vhodné nastavení aplikace často měnit, protože by mohlo dojít ke špatnému nastavení přihlašovacích údajů a aplikace by se nechovala správně.
Název případu užití | Přihlásit se |
Aktéři | Uživatel |
Před spuštěním případu užití | Uživatel poprvé spustil aplikaci |
Kroky případu užití | # na obrazovce je přihlašovací formulář s kolonkami jméno, kontext a heslo,
|
Stav po ukončení případu užití | Uživatel je přihlášený |
Tabulka č. 2: Scénář případu užití „Přihlásit se“
Zdroj: vlastní
Případ užití s názvem „Přihlásit se“, jež charakterizuje tabulka č. 9, určuje, jakými kroky se uživatel přihlásí do aplikace tak, aby ji mohl dále využívat. Bez přihlášení není možné aplikaci jakkoliv používat. Uživatel se může přihlásit, pouze pokud není přihlášený. V opačném případě obrazovka pro přihlášení nelze vyvolat.
Přihlašovací údaje jsou uchovány pouze po dobu jednoho školního roku. Spadá-li datum přihlášení do aktuálního školního roku, přihlášení trvá pouze v období tohoto školního roku. Jakmile vyprší platnost přihlášení, znovu se objeví obrazovka, vyžadující přihlášení.
Název případu užití | Aktualizuj rozvrh |
Aktéři | Uživatel, Aplikace |
Před spuštěním případu užití | Uživatel má spuštěnou aplikaci, je přihlášený a nachází se v hlavím menu aplikace. |
Kroky případu užití | # Aplikace: V případě, je-li rozvrh zastaralý a jsou nastaveny automatické aktualizace, pokračuje k bodu č. 3,
|
Stav po ukončení případu užití | Databáze rozvrhu hodin je zaktualizovaná |
Tabulka č. 3: Scénář případu užití „Aktualizuj rozvrh“
Zdroj: vlastní
Tabulka č. 10 popisuje případ užití s názvem „Aktualizuj rozvrh“. Aktéři jsou v této tabulce dva a to Uživatel a Aplikace. Aplikace aktualizuje databázi školního rozvrhu na základě nastavení automatických aktualizací. Defaultně je přednastaveno aktualizování po sedmi dnech od poslední aktualizace. Uživatel může aplikaci aktualizovat kliknutím na tlačítko „Aktualizuj“ z hlavního menu.
Název případu užití | Zobraz rozvrh hodin |
Aktéři | Uživatel |
Před spuštěním případu užití | Uživatel je přihlášený a má aktualizovanou databázi rozvrhu hodin. |
Kroky případu užití | # Uživatel spustí aplikaci, z hlavního menu vybere položku: Zobraz rozvrh hodin,
|
Stav po ukončení případu užití | Rozvrh hodin je zobrazený |
Tabulka č. 4: Scénář případu užití „Zobraz rozvrh hodin“
Zdroj: vlastní
Předcházející tabulka případu užití s názvem „Zobraz rozvrh hodin“ popisuje postup jak zobrazit rozvrh hodin. Dodržením tohoto postupu dojde k zobrazení rozvrhu hodin pro přihlášeného uživatele.
Struktura ukládání dat
Data ze školního serveru jsou v aplikaci EPI rozvrh uloženy, aby bylo možné přistupovat ke školnímu rozvrhu v režimu offline, nicméně také kvůli zachování plynulosti chodu aplikace a školního serveru.
Ukládané data aplikace EPI rozvrh v mobilním telefonu se dají rozdělit do dvou skupin, a to data rozvrhu hodin a seznamy. Každá skupina používá jiný způsob ukládání dat.
Ukládání dat rozvrhu hodin
Platforma Android poskytuje možnost využití databázového systému SQLite. Jedná se o malou knihovnu, která se přilinkuje k programu pomocí jednoduchého rozhraní. Každá tato databáze je uložena v souboru, kde se data ukládají za použití jednoduchého primárního klíče.
Data rozvrhu hodin jsou uloženy v databázi MYSQL na školním serveru, která je popsána v kapitole 2.1. Stažená data jsou pak uložena v SQLite databázi v mobilním zařízení. Databáze obsahuje tabulku zaznamenávající údaje potřebné ke správnému zobrazení rozvrhu hodin. V následujícím schématu jsou některé ze zaznamenávaných údajů.
Schéma č. 2: Návrh tabulky pro uložení dat aplikace EPI rozvrh
Zdroj: vlastní
Jelikož je databáze rozvrhu hodin v mobilním telefonu velmi rozsáhlá, tak nejsou zobrazeny všechny sloupce na schématu č. 5.
Význam sloupců v tabulce my_timetable:
- date - obsahuje datum, ke kterému se vztahuje daný záznam,
- day_number - nabývá hodnot 0-6 kde 0 symbolizuje pondělí a 6 neděli,
- abb_teacher - je zkratka učitele, který figuruje v daném záznamu,
- abb_room - je zkratka místnosti, ve které bude probíhat výuka,
- abb_subject - je zkratka vyučovaného předmětu,
- subjekt - název celého vyučovaného předmětu,
- teacher - tituly, jméno a příjmení učitele,
- room - celý název místnosti,
- hour - vyučovací hodina ve které probíhá výuka,
- number_of_hours - počet vyučovacích hodin,
- group - skupina pro kterou se vztahuje daný záznam,
- class - studijní kruh,
Ukládání řídících údajů
Přihlášený uživatel se může podívat na rozvrh hodin svých kolegů z ostatních studijních kruhů, učitelů nebo místností. Aby bylo možné zobrazit rozvrh hodin pro některou ze zmiňovaných skupin, musejí se tyto údaje ukládat. Jedná se pouze o zkratky studijních kruhů, učitelů a místností. Jednotlivá data jsou ukládána do více souborů nezávisle na sobě.
Seznamy se stahují ze školní MYSQL databáze popsané v kapitole 2.1 ve formátu JSON, který je popsán v kapitole 2.2.2. Protože stahované seznamy obsahují pouze jeden typ dat a není potřeba tyto seznamy třídit ani v nich vyhledávat, je zbytečné pro ně vytvářet databázi. Seznamy se tedy vloží do kolekce a ta se následně uloží jako objekt do souboru. Aby bylo možné objekt uložit do souboru, je potřeba ho nejprve serializovat.
Místo uložení souborů je v souborovém systému, které je vyhrazeno pouze pro aplikaci EPI rozvrh. Toto místo se nachází v /data/data/cz.sajboch.epi_main/. K tomuto adresáři nemá uživatel žádný přístup, protože jej operační systém Android blokuje.