Analýza požiadaviek a štruktúra klientskej aplikácie

Z Kiwiki
Verzia z 21:23, 19. október 2020, ktorú vytvoril Juraj (diskusia | príspevky) (Zamkol stránku „Analýza požiadaviek a štruktúra klientskej aplikácie“ ([Ú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í


Táto kapitola popisuje špecifikáciu funkčných a nefunkčných požiadaviek, z ktorých vyplývajú prípady použitia. Ďalej je v kapitole opísaný návrh štruktúry aplikácie, popis jednotlivých častí a priblíženie, ako aplikácia eAurela funguje, pomocou diagramov aktivít.

Požiadavky aplikácie

Známe sú dva základné typy požiadaviek: funkčné a nefunkčné. Funkčné požiadavky dávajú prehľad o softvérovej funkcionalite, ktorá musí byť implementovaná. Sú to požiadavky na správanie systému. Nefunkčné požiadavky sa môžu tiež nazvať systémové požiadavky. Sú to požiadavky, ktoré sa zaoberajú vlastnosťami systému, výkonom, bezpečnosťou a podobne. Ďalej sú popísané minimálne požiadavky na spustenie aplikácie a požiadavky týkajúce sa bezpečnosti systému.

Funkčné požiadavky

Funkčné požiadavky Doplňujúce informácie
R01 Prihlásenie do systému Každému používateľovi systému Sensorical je vytvorený vlastný login a heslo. Pomocou týchto údajov sa používateľ prihlási.
R02 Spravovanie systému Ak má používateľ pridelené administrátorské práva, môže spravovať údaje uložené na serveri.
R03 Voľba aplikácie zberu dát Možnosť výberu aplikácie zberu dát, ku ktorému sa eAurela pripojí. Aplikácia eAurela sa pripája k serveru, na ktorom sa vybraná aplikácia nachádza.
R04 Spravovanie informačného systému Ak má používateľ pridelené práva na spravovanie aplikácie, môže meniť napríklad nastavenie senzorov, zapnúť alebo vypnúť meranie a podobne.
R05 Výber z povolených údajov Používateľ vidí iba údaje, ku ktorým má pridelené oprávnenia.
R06 Zobrazenie hodnôt Zobrazenie poslednej nameranej hodnoty na každom senzore vo vybranej oblasti. Hodnoty sú zobrazené spolu s fyzikálnou jednotkou, dátumom a časom.
R07 Umiestnenie senzorov Jednotlivé senzory sú zaradené do oblastí a sektorov.
R08 Zobrazenie grafov Zobrazenie nameraných hodnôt vo forme grafu časovej závislosti.
R09 Výber časového intervalu Výber časového intervalu, v ktorom aplikácia zobrazí namerané hodnoty.
R10 Odhlásenie z aplikácie.

Tabuľka 2.1 Funkčné požiadavky aplikácie eAurela

Nefunkčné požiadavky

Nefunkčné požiadavky Doplňujúce informácie
R01 Aplikácia vo forme desktopovej aplikácie a internetovej aplikácie Aplikácia eAurela bude dostupná v dvoch formách. Dostupná bude ako desktopová aplikácia podporovaná operačnými systémami Mac, Windows a Linux. Taktiež bude fungovať ako internetová aplikácia dostupná v internetovom prehliadači.
R02 Implementovaná v jazyku javascript, HTML a CSS Na implementáciu budú použité dva javascriptové frameworky: Electron.js a React.js.
R03 Bezpečné overovania Používateľovi bude po každom prihlásení vygenerovaný JWT token, ktorý sa používa pri každej požiadavke na server a je platný po dobu jednej hodiny. Po odhlásení bude JWT token deaktivovaný a ďalej neplatný.
R04 Aplikácia sa bude dať vylepšiť Aplikácia bude implementovaná tak, aby bolo možné v budúcnosti pridať nové, alebo vylepšiť staré funkcie.

Tabuľka 2.2 Nefunkčné požiadavky aplikácie eAurela


Minimálne požiadavky pre spustenie aplikácie

Nakoľko je aplikáciu možné spustiť na viacerých operačných systémoch (Windows, Mac OS a Linux) a zároveň je dostupná aj v internetovom prehliadači ako internetová aplikácia, je potrebné definovať minimálne požiadavky pre oba typy.

  • Podporované operačné systémy
    • Minimálna podporovaná verzia operačného systému Windows je Windows 7. Staršie verzie tohto operačného systému nie sú podporované,
    • Pre operačný systém Mac OS je minimálna podporovaná verzia Mac OS 10.10 (Yosemite). Pre operačný systém Mac OS sú podporované iba 64-bitové verzie,
    • Minimálne podporované verzie operačného systému Linux pre spustenie Electron aplikácie sú Ubuntu 12.04, Fedora 21 a Debian 8 ,
  • Internetový prehliadač
    • Aplikácia vyvíjaná vo frameworku React závisí od typov javascriptových kolekcií Map a Set. Niektoré internetové prehliadače tieto kolekcie nemusia poskytovať, napríklad Internet Explorer 11 a staršie verzie tohto prehliadača .

Bezpečnosť systému a vplyv na aplikáciu eAurela

Bezpečnosť systému zabezpečujú dva prvky. Prvým je, že každý používateľ má priradené meno (login) a heslo (password), pomocou ktorých sa prihlasuje do systému. Po prihlásení sa používateľovi vygeneruje tzv. JWT token, ktorý je platný 1 hodinu. Vygenerovaný JWT token musí byť použitý pre prihlásenie sa do konkrétneho informačného systému, bez neho prihlásenie nie je možné. Po prihlásení do informačného systému sa generuje nový JWT token, ktorý platí iba v danom informačnom systéme a je taktiež platný po dobu jednej hodiny. JWT musí byť odosielaný v každej požiadavke na server, inak je požiadavka neplatná. Po používateľovom odhlásení zo systému, sa JWT token stáva neplatný, tým pádom ho nie je možné znovu použiť.

Diagram prípadov použitia a návrh štruktúry

Táto podkapitola je venovaná diagramu prípadov použitia a ďalej návrhu štruktúry aplikácie, ktoré vyplývajú z funkčných požiadaviek aplikácie. Sú tu popísaní všetci aktéri, ktorí môžu vykonávať v aplikácií rôzne aktivity. Taktiež je tu podrobne popísaná štruktúra aplikácie eAurela.

Diagram prípadov použitia

Diagram prípadov použitia (Use Case Diagram) zobrazuje správanie systému tak, ako ho vidí používateľ. Účelom je popísať funkcionalitu systému, teda to, čo od neho klient očakáva. Diagram prípadov použitia sa skladá z prípadov použitia (use case), aktérov (actors) a vzťahov medzi nimi.


Prípad použitia

Prípad použitia je sada niekoľkých akcií, ktoré vedú k dosiahnutiu určitého cieľa. Definuje teda funkcionalitu, ktorú by mal navrhovaný systém obsahovať. Prípady použitia vychádzajú zo zadania systému od zákazníka.


Aktér

Aktér je rola, ktorá komunikuje s jednotlivými prípadmi použitia. V tejto roli môže byť používateľ, alebo aj externý systém. Aktérom môže byť napríklad Administrátor alebo dokonca aj Čas .

Obr. 2.1 Diagram prípadov použitia aplikácie eAurela

Popis aktérov a prípadov použitia

  • Používateľ:
    • každý používateľ, o ktorom sú zaznamenané údaje v databáze na vzdialenom serveri Auth API,
    • sú mu zobrazené iba tie údaje zo systému, ku ktorým má pridelené oprávnenia,
    • môže si vybrať informačný systém, ku ktorému sa aplikácia pripojí,
    • má možnosť si prezerať poslednú nameranú hodnotu zo senzora, prezerať namerané hodnoty vo forme grafu, v časovom intervale, ktorý si zvolí,
    • môže si vybrať oblasť a sektor,
  • Manage API Admin:
    • administrátor konkrétneho informačného systému (Manage API),
    • dedí z aktéra Používateľ, teda môže vykonávať rovnaké aktivity ako on,
    • navyše môže spravovať porty, sektory, senzory,
    • má možnosť zapnúť alebo vypnúť meranie v informačnom systéme,
    • taktiež si môže zobraziť všetkých používateľov, ktorí majú k informačnému systému prístup,
  • Auth API Admin:
    • administrátor serveru slúžiaceho na autorizáciu (Auth API),
    • dedí z aktéra Manage API Admin,
    • okrem vyššie spomenutých aktivít môže pridať a odstrániť používateľov zo systému, alebo im môže meniť údaje,
    • tiež môže spravovať spoločnosti a informačné systémy v nich.

Štruktúra aplikácie eAurela

Návrh štruktúry aplikácie vychádza z určených funkčných požiadaviek a jednotlivých prípadov použitia. Každý prípad použitia nám určuje samostatnú časť aplikácie. Štruktúra aplikácie eAurela nám popisuje jednotlivé časti a navigáciu medzi nimi. Aplikácie sa skladá z nasledovných častí:

  • Home - časť pre prihlasovanie sa do systému,
  • AppList - časť pre výber aplikácie,
  • AuthAdministration - časť pre správu serveru Auth API,
  • ManageAdministration - časť pre správu konkrétnej aplikácie (Manage API),
  • ManageAddUser - časť pre vytvorenie nového používateľa v aplikácií,
  • Sectors - časť pre zobrazenie nameraných hodnôt v sektoroch.

Funkcionalita častí aplikácie

Home

Predtým, než si používateľ vyberie aplikáciu a získa prístup k dátam, musí sa prihlásiť. Obrazovka Home slúži pre prihlásenie do systému. Obrazovka Home sa vždy zobrazí hneď po spustení aplikácie eAurela. Používateľ uvidí textové polia pre zadanie prihlasovacích údajov (login a heslo). Po zadaní údajov a kliknutí na tlačidlo prihlásiť, sa pošle na server požiadavka o prihlásenie so zadanými údajmi. V prípade, že sú údaje nesprávne, zobrazí sa upozornenie o zle zadaných údajoch. V prípade, že sú zadané údaje správne, používateľ bude prihlásený a bude presmerovaný do časti Applist. V tejto časti aplikácia komunikuje so serverom pre autorizáciu (Auth API). Proces prihlasovania je vyobrazený v diagrame aktivít 2.2.

Obr. 2.2 Diagram aktivít časti Home


Applist

Táto obrazovka sa zobrazí ako prvá obrazovka ihneď po úspešnom prihlásení. Používateľovi sú zobrazené spoločnosti, ku ktorým má pridelené prístupové práva. V týchto spoločnostiach sa nachádzajú aplikácie, ktoré obsahujú namerané údaje z konkrétnych senzorov, nachádzajúcich sa v danej aplikácii. Po výbere aplikácie bude odoslaná požiadavka o prihlásenie do konkrétnej aplikácie. Údaje zobrazené v tomto okne sú údaje, ktoré sa nachádzajú na serveri pre autorizáciu. Požiadavka o prihlásenie do aplikácie ale smeruje na server konkrétnej aplikácie (Manage API). Ak má používateľ pridelené administrátorské práva, môže si taktiež zvoliť možnosť pre prístup do časti AuthAdministration.

Obr. 2.3 Diagram aktivít časti Applist


AuthAdministration

Táto časť aplikácie je sprístupnená výhradne administrátorom systému. Sú tu zobrazené informácie o všetkých používateľoch systému a ich prístupových právach k spoločnostiam, zoznam všetkých spoločností a k nim priradených aplikácií. Administrátor systému môže tieto údaje upravovať, ako napríklad meniť práva používateľom, zmeniť používateľovi heslo, meniť a aktualizovať informácie o spoločnostiach a ich aplikáciách. Taktiež môže zmazať existujúcu, alebo vytvoriť novú spoločnosť, či aplikáciu. Táto časť slúži pre spravovanie serveru Auth API (kapitola [sub:auth]).


Sectors

Táto obrazovka je zobrazená po úspešnom prihlásení používateľa do aplikácie. Pri prihlasovaní do aplikácie sa znovu overuje, či má používateľ administrátorské práva (administrátor na serveri Manage API nemusí byť aj administrátor na serveri Auth API). Používateľovi sú zobrazené oblasti a sektory, ktoré sa nachádzajú v aplikácií, a zároveň k nim má používateľ prístupové práva. Taktiež sú tu zobrazené aj posledné namerané hodnoty zo senzorov nachádzajúcich sa v sektore. Používateľ si bude môcť vybrať oblasť a sektor, ktorého hodnoty si chce prezerať. V prípade, že si bude chcieť pozrieť časový záznam zo všetkých senzorov daného sektora, môže si zvoliť zobrazenie údajov vo forme časového záznamu. V tomto prípade bude zobrazená časová závislosť (graf) všetkých nameraných údajov zo sektora vo vybranom časovom intervale. Používateľ má možnosť zvoliť časový interval, z ktorého budú následne zobrazené namerané hodnoty. Ak má používateľ administrátorské práva v danej aplikácií, môže si tiež zvoliť prechod do časti ManageAdministration.

Obr. 2.4 Diagram aktivít časti Sectors


ManageAdministration

Podobne ako v prípade AuthAdministration, aj k tejto časti majú prístup iba administrátori. Sú tu zobrazené informácie o používateľoch aplikácie, oblastiach, sektoroch a senzoroch. Taktiež tu je možné zastaviť, alebo spustiť meranie. Z tejto obrazovky je možné prejsť k obrazovke pre vytvorenie nového používateľa systému. Táto časť slúži pre spravovanie serveru Manage API (kapitola [sub:manage]).


ManageAddUser

V tomto okne môže administrátor systému vytvoriť nového používateľa. Pri otvorení tohto okna je zobrazený formulár obsahujúci polia pre vstup údajov nového používateľa. Po vyplnení údajov a potvrdení formulára sa odošle požiadavka na server o vytvorenie nového používateľa. Server skontroluje, či používateľ existuje. Môžu nastať tri možnosti:

  1. používateľ neexistuje na žiadnom serveri,
  2. používateľ existuje na serveri pre autorizáciu, ale neexistuje na serveri aplikácie,
  3. používateľ existuje na obidvoch serveroch.

V prvom prípade sa používateľ vytvorí na obidvoch serveroch. Na oboch serveroch bude mať používateľ priradené najnižšie prístupové práva a bude mať prístup k jednej spoločnosti a jednej aplikácií (tej, z ktorej bol vytváraný). V druhom prípade sa používateľ vytvorí iba na serveri informačného systému, pričom na serveri pre autorizáciu sa používateľovi priradí aplikácia, v ktorej bol vytvorený. Ak používateľ existuje na obidvoch serveroch, ukáže sa informácia, že daný používateľ už existuje. Nakoniec nasleduje presmerovanie do časti ManageAdministration. V nasledujúcom diagrame je zobrazené vytváranie nového používateľa.

Obr. 2.5 Diagram aktivít pre vytvorenie nového používateľa