Návrh aplikácie nSoric aAurela

Z Kiwiki
Verzia z 23:36, 3. september 2020, ktorú vytvoril Juraj (diskusia | príspevky) (Zamkol stránku „Návrh aplikácie nSoric aAurela“ ([Úprava=Povoliť iba správcom] (na neurčito) [Presun=Povoliť iba správcom] (na neurčito)))
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Skočit na navigaci Skočit na vyhledávání

V tejto kapitole sú postupne opísané jednotlivé fázy návrhu aplikácie ako: špecifikácia funkčných a nefunkčných požiadaviek, definícia minimálnych požiadaviek na inštaláciu, identifikácia prípadov použitia, návrh štruktúry, funkcionality a spôsob práce jednotlivých samostatných častí aplikácie. Výsledná aplikácia nebude zahŕňať akcie spojené s administráciou systému, tie budú i naďalej dostupné len cez desktopovú aplikáciu.

Špecifikácia požiadaviek aplikácie

Definované požiadavky pre vývoj aplikácie boli rozdelené na dve skupiny: funkčné - popisujúce funkcie a vlastnosti, ktoré musí aplikácia poskytovať a nefunkčné požiadavky - bližšie špecifikujúce nároky na spôsob realizácie funkčných vlastností aplikácie.

Funkčné požiadavky

Zoznam funkčných požiadaviek bol vytvorený na základe požadovaných funkcií, ktoré musí aplikácia zabezpečovať a poskytovať. Pri definovaní jednotlivých funkčných požiadaviek aplikácie sa vychádzalo z jej primárnej úlohy - prístup k dátam rôznych serverov systému Sensorical a ich vizuálna reprezentácia v aplikácii. Tabuľka 3.1 zobrazuje zoznam funkčných požiadaviek.

Tabuľka 3.1: Nefunkčné požiadavky aplikácie aAurela

Funkčné požiadavky Doplňujúce informácie
R01 Voľba vzdialeného servera Možnosť zvoliť si ľubovoľný Sensorical server, ku ktorému sa má aplikácia pripojiť
R02 Zobrazenie relevantných údajov Prihlásenému používateľovi sú zobrazené len tie údaje, ku ktorým má definované prístupové práva
R03 Kategorizácia umiestnenia Kategorizácia jednotlivých senzorov v rámci hierarchie umiestnenia (zaradenie do oblasti a sektoru)
R04 Zobrazovanie nameraných hodnôt Zobrazenie nameraných hodnôt jednotlivých senzorov spolu s údajmi o dátume a čase kedy meranie prebehlo
R05 Zobrazovanie trendov Zobrazenie trendov nameraných hodnôt jednotlivých senzorov za poslednú hodinu merania
R06 Vytvorenie zoznamu obľúbených Možnosť vytvorenia vlastného zoznamu obľúbených resp. dôležitých senzorov
R07 Editácia zoznamu obľúbených Možnosť pridania/odstránenia senzorov do/zo zoznamu obľúbených
R08 Vyhľadávanie v prehľade Možnosť vyhľadávať v prehľade všetkých dostupných senzorov a v používateľom vytvorenom zozname obľúbených
R09 Zobrazenie grafov Vykresľovanie grafov nameraných hodnôt jednotlivých senzorov ako závislosť zmeny nameranej hodnoty za časový horizont
R10 Zmena časového rozpätia Možnosť zmeniť časové rozpätie, za ktoré má aplikácia zobraziť namerané hodnoty senzorov v prehľadoch a grafoch
R11 Offline dostupnosť údajov Aplikácia umožní prehliadať archivované dáta aj bez dostupnosti internetového pripojenia

Nefunkčné požiadavky

Zoznam nefunkčných požiadaviek bol zostavený na základe doplnkových požiadaviek a nárokov na aplikáciu. Definovanie týchto požiadaviek je spojené so špecifikáciou samotnej platformy, pre ktorú je aplikácia určená, ako aj jednotlivých nárokov na používateľské rozhranie a distribúciu aplikácie. Tabuľka 3.2 zobrazuje zoznam nefunkčných požiadaviek.


Tabuľka 3.2: Nefunkčné požiadavky aplikácie aAurela

Nefunkčné požiadavky Doplňujúce informácie
R01 Aplikácia pre platformu Android
R02 Implementácia odporúčaní Material Design Použitie odporúčaní Material Design pre tvorbu grafických používateľských rozhraní
R03 Implementácia aplikácie v jazykových mutáciách Implementácia aplikácie v slovenskej a anglickej jazykovej mutácii
R04 Možnosť budúceho rozšírenia Implementácia aplikácie tak, aby bolo možné jej budúce rozšírenie o ďalšie funkcie

Minimálne požiadavky na inštaláciu aplikácie

Pre aplikáciu bola ako minimálna podporovaná verzia systému Android zvolená verzia 5.0 Lollipop (API 21) a ako cielená verzia, verzia 9.0 Pie (API 28). Minimálna podporovaná verzia systému bola vybraná na základe štatistík spoločnosti Google Inc tak, aby bežala na značnej väčšine zariadení. V čase vývoja aplikácie je API 21 a vyššie používané na viac ako 85% všetkých zariadení s OS Android.

[tab_nefunkcne_poziadavky]

Funkcionality a štruktúra aplikácie

Na základe definovaných funkčných požiadaviek a nárokov na aplikáciu boli identifikované jednotlivé prípady použitia aplikácie. Táto podkapitola je venovaná bližšiemu opisu identifikovaných aktivít z prípadov použitia, ich významu resp. podstate. V tejto podkapitole je taktiež opísaná navrhnutá štruktúra aplikácie, funkcionality a princíp práce jednotlivých jej častí.

Prípady použitia

Aktéri - aktéri sú všetci používatelia, ktorí môžu v aplikácii vykonávať jednotlivé aktivity. V prípade aplikácie aAurela, ktorá má interné využitie, boli ako aktéri identifikovaní používatelia, ktorí sú evidovaní v databáze na vzdialenom serveri a majú tak oprávnenie systém a teda aj aplikáciu používať. Aktivity - predstavujú akcie, ktoré môžu aktéri s aplikáciou vykonávať. Jednotlivé aktivity boli navrhnuté tak, aby boli zabezpečené všetky funkčné požiadavky špecifikované v Tabuľke [tab_funkcne_poziadavky]. zobrazuje vrcholový diagram prípadov použitia aplikácie aAurela.

Diagram prípadov použitia aplikácie aAurela
Diagram prípadov použitia aplikácie aAurela

Aktivity prípadov použitia

  • Výber adresy servera - zadanie webovej adresy vzdialeného servera, ku ktorému sa má aplikácia pripojiť.
  • Prihlásiť sa - zadanie mena a hesla pre autentifikáciu na zvolenom serveri a prihlásenie sa do aplikácie.
  • Zobraziť hlavný prehľad - zobrazenie a prechádzanie zoznamu všetkých dostupných senzorov kategorizovaných v rámci umiestnenia spolu so základnými údajmi naposledy nameraných hodnôt.
  • Zobraziť prehľad obľúbených - zobrazenie a prechádzanie vytvoreného zoznamu obľúbených senzorov spolu so základnými údajmi naposledy nameraných hodnôt.
  • Zobraziť graf - zobrazenie detailného pohľadu na históriu nameraných hodnôt vybraného senzora formou grafu a rôznych štatistík meraní.
  • Editovať obľúbené - pridanie/odstránenie senzora do/zo zoznamu obľúbených.
  • Aktualizovať merané hodnoty - stiahnutie najaktuálnejších nameraných hodnôt zo servera.
  • Synchronizovať všetky údaje - synchronizácia všetkých údajov aplikácie s aktuálne dostupnými údajmi na serveri.
  • Zmeniť zobrazovaný rozsah - zmena počtu dní, za ktoré má aplikácia zobrazovať a vyhodnocovať namerané hodnoty.
  • Zobraziť informácie o aplikácii - zobrazenie informačnej obrazovky s bližším popisom o aplikácii.
  • Odhlásiť sa - odhlásenie sa z aplikácie.

Návrh štruktúry aplikácie

Štruktúra aplikácie bola navrhnutá na základe vymedzenia hlavných aktivít z prípadov použitia. Každá z týchto aktivít predstavuje samostatnú časť (obrazovku) aplikácie, kde každá z obrazoviek slúži pre prístup do samostatnej, funkčne a logicky oddelenej časti, v ktorej je možné vykonávať rôzne ďalšie aktivity. Aplikáciu aAurela tvoria nasledujúce obrazovky:

  • ServerSelect - obrazovka pre výber adresy servera
  • Login - obrazovka pre prihlásenie do aplikácie
  • Dashboard - obrazovka hlavného prehľadu
  • Favourites - obrazovka prehľadu obľúbených senzorov
  • GraphView - obrazovka pre zobrazenie grafov a štatistík merania
  • About - informačná obrazovka

Takto definované funkčné časti aplikácie sú vo fáze implementácie implementované ako jednotlivé triedy Android aktivít.

Funkcie a spôsob práce jednotlivých častí aplikácie

Výber adresy servera a prihlásenie do aplikácie

Skôr, ako používateľ získa v aplikácii prístup k dátam, musí prejsť voľbou adresy servera, ku ktorému sa chce pripojiť a následne prihlásiť. Pre výber adresy servera a následné prihlásenie do aplikácie slúžia obrazovky ServerSelect a Login.

ServerSelect

Pri prvotnom spustení aplikácie bude používateľ vyzvaný na zadanie adresy vzdialeného Sensorical servera, ku ktorému sa chce pripojiť. Po zadaní údajov aplikácia overí správnosť a dostupnosť zadanej adresy. Ak sú zadané údaje správne, používateľ bude presmerovaný na prihlasovaciu obrazovku (Login) a zadané údaje sa uložia pre rýchle načítanie pri ďalšom spustení aplikácie. V prípade nesprávne zadaných údajov nebude používateľ pripustený k prihláseniu, ale bude vyzvaný na opravu zle zadanej adresy.

Login

Po otvorení prihlasovacej obrazovky sa používateľovi zobrazia polia pre zadanie prihlasovacieho mena a hesla. Po zadaní údajov aplikácia odošle na server autentifikačnú požiadavku so zadanými prihlasovacími údajmi. Ak sú zadané údaje správne, používateľ bude prihlásený. Ak zadané údaje nie sú správne, zobrazí sa oznámenie o zle zadaných prihlasovacích údajoch. Používateľ bude mať pred prihlásením možnosť voľby zapamätania prihlasovacích údajov pre automatické prihlásenie pri ďalšom spustení aplikácie.

Diagram aktivít ServerSelect a Login

Pri spustení aplikácie bude vždy otvorená obrazovka pre výber adresy servera - ServerSelect. Po úspešnom overení zadanej adresy sa bude pokračovať na prihlasovaciu obrazovku - Login. Prihlasovacou obrazovkou používateľ neprechádza v prípade, keď už bol do aplikácie prihlásený a zvolil možnosť zapamätania prihlásenia. Celý proces výberu adresy servera a následné prihlásenie do aplikácie znázorňuje diagram aktivít na obrázku 1.2.

Diagram aktivít - práca aplikácie pred prihlásením
Diagram aktivít - práca aplikácie pred prihlásením

Po prihlásení do aplikácie

Po zadaní správnej adresy servera a následnom úspešnom prihlásení do aplikácie získa používateľ prístup k dátam systému Sensorical. Možnosť prístupu k dátam bude mať prostredníctvom troch obrazoviek: Dashboard, Favourites a GraphView.

Dashboard

Obrazovka, ktorá bude štandardne zobrazená prihlásenému používateľovi. Slúži na sprostredkovanie celkového prehľadu základných dostupných dát systému. Používateľ tu uvidí zoznam všetkých jemu dostupných senzorov, kategorizovaných v rámci hierarchie prvej úrovne (oblasti) a druhej úrovne (sektoru). Obrazovka Dashboard taktiež zobrazí údaje o naposledy nameraných hodnotách jednotlivých senzorov za zvolené časové obdobie, priemernú hodnotu a trendy nameraných hodnôt jednotlivých senzorov za poslednú hodinu.

Favourites

Obrazovka, ktorá zobrazí prehľad používateľom vytvoreného zoznamu obľúbených senzorov. Používateľ bude mať k tejto obrazovke umožnený prístup len v prípade, ak má vytvorený vlastný zoznam obľúbených senzorov. Po prvotnom prihlásení do aplikácie nebude k dispozícii žiadny zoznam obľúbených senzorov. Ak však používateľ pridá v hlavnom prehľade (Dashboard) alebo obrazovke konkrétneho senzoru (GraphView) ľubovolný senzor do obľúbených, bude obrazovka Favourties zobrazovaná prednostne. To znamená, ak bude mať používateľ vytvorený zoznam obľúbených senzorov, zobrazí sa tento prehľad prioritne po prihlásení do aplikácie. Obrazovka Favourites taktiež zobrazí údaje o naposledy nameraných hodnotách jednotlivých senzorov za zvolené časové obdobie, priemernú hodnotu a trendy nameraných hodnôt jednotlivých senzorov za poslednú hodinu, podobne ako obrazovka Dashboard.

GraphView

Táto obrazovka slúži pre zobrazenie detailného náhľadu na históriu meraní konkrétneho senzora. Obrazovka GraphView bude zobrazená pri výbere ľubovoľného senzoru z prehľadu, či už na obrazovke Dashboard alebo Favourites. Podstatou obrazovky GraphView je zobraziť priebeh hodnôt meranej veličiny v závislosti od času vizuálnou formou (graf), ako aj štatistiky meraní daného senzora formou extrémov meraní.

Diagram aktivít Dashboard, Favourites, GraphView

Po prihlásení do aplikácie dôjde k overeniu, či má prihlásený používateľ vytvorený zoznam obľúbených senzorov. Ak má takýto zoznam vytvorený, bude prednostne otvorená obrazovka prehľadu obľúbených senzorov - Favourites. Ak takýto zoznam používateľ vytvorený nemá, bude otvorená obrazovka s prehľadom všetkých senzorov - Dashboard. Obe tieto obrazovky poskytnú používateľovi možnosť zobraziť detailný náhľad ľubovoľného, dostupného senzoru z prehľadu - GraphView. Postupnosť prechodu medzi obrazovkami Dashboard, Favourites a GraphView znázorňuje diagram aktivít na obrázku 1.3.

Diagram aktivít - práca aplikácie po úspešnom prihlásení
Diagram aktivít - práca aplikácie po úspešnom prihlásení