Mrva - Vojtko - navrh
From Princípy tvorby software
Informačný Systém Študijného Oddelenia (ISŠO) - Systémový návrh
Contents |
Úvod
Účel
Tento dokument definuje návrh dizajnu pre Informačný Systém Študijného Oddelenia (ISŠO).
Identifikácia
Informačný Systém Študijného Oddelenia (ISŠO) je internetová aplikácia, ktorá umožňuje vzdialenú správu užívateľského konta prostredníctvom webovej stránky.
Opis systému
Informačný Systém Študijného Oddelenia (ISŠO) je systém navrhnutý pre školské zariadenia, najmä vysoké školy. Cieľom tohto systému je zmenšiť množstvo potrebnej administratívnej práce, či už na strane zamestnancov školy alebo na strane študentov. Umožňuje spravovať väčšinu udalostí ktoré sú spojené s výukovým procesom, hlavne:
- Vytváranie predmetov
- Zápis a potvrdenie zápisu predmetov
- Vytváranie termínov k predmetom
- Prihlásenie a hodnotenie termínov predmetov
- Posielanie informácií k premetom
- Zisťovanie študentského priemeru predmetov
Okrem tohto umožňuje systém Pracovníkom študijného oddelenia spravovať im prislúchajúcich študentov, a generuje prehľad stavu pre Šéfa katedry.
Relevantné dokumenty
Informačný Systém Študijného Oddelenia (ISŠO) - Systémová špecifikácia
Filozofia systémového dizajnu
Výber systémovej konfigurácie
Základným komponentom systému je jadro systému, ktoré obsahuje hlavnú aplikačnú logiku a integruje ostatné komponenty aplikácie. Systém je navrhovaný s dôrazom na ortogonalitu a flexibilitu jednotlivých komponentov. Systém je interaktívna webová aplikácia typu klient-server. Na strane servera je aplikácia programovaná v skriptovacom jazyku PHP a dotazovacom jazyku SQL. Klientská časť aplikácie je vytvorená za pomoci technológií XHTML 1.0 Strict, CSS 2.1 a Javascript z dôvodu ich masového rozšírenia a podpory vo všetkých významných prehliadačoch na trhu. Časť funkcionality, ktorá netvorí žiadne bezpečnostné riziko, je z výkonnostných dôvodov prenesená na stranu klienta.
Obmedzenia
Systém v navrhovanej podobe je platformovo nezávislý, vyžaduje sa server s podporou jazyka PHP a podporovaný databázový systém. Podporované databázové systémy sú MySQL a PostgreSQL, ďalšie je možné do systému zahrnúť implementáciou rozhrania špecifikovaného v databázovom module. V prípade implementácie nových komponentov je z dôvodu podpory viacerých databázových systémov nevyhnutné využívať iba štandardnú syntax jazyka SQL. Funkčnosť rozšírení jazyka SQL implementovaných v niektorých databázových systémoch nie je garantovaná a ich použitie sa neodporúča.
Ďalšie dôležité rozhodnutia
Vzhľadom na komplexnosť systému a prípadné škody, ktoré môžu vzniknúť nesprávnym používaním systému, je nevyhnutné vykonať školenia pre všetkých užívateľov, na ktorých sa užívatelia zoznámia s používaním aplikácie.
Z dôvodu spracovávania osobných údajov v aplikácií je v zmysle zákona č.428/2002 Z.z. o ochrane osobných údajov v znení neskorších predpisov nevyhnutné pred nasadením aplikácie vypracovať bezpečnostný projekt a bezpečnostný audit systému.
Návrh systémového dizajnu
Komponenty systému
V tejto časti uvedieme zoznam všetkých komponentov spolu s popisom ich úloh.
Jadro systému
Komponent zodpovedá za základnú aplikačnú logiku systému, integráciu ďalších komponentov, vzájomnú komunikáciu a riadenie prístupu k jednotlivým častiam aplikácie podľa pridelených oprávnení.
Databázový modul
Komponent poskytuje univerzálne rozhranie pre komunikáciu aplikácie s databázovým systémom pomocou štandardných SQL dotazov. Databázový modul podporuje prácu s databázovými systémami MySQL a PostgreSQL, podpora ďalších systémov je do budúcnosti možná implementáciou rozhrania.
Návrh databázy
Globálne funkcie a triedy
Pomocný komponent obsahujúci globálne využívané funkcie a triedy.
Záznam udalostí
Komponent zaznamenáva dôležité udalosti počas prevádzky systému a zaznamenáva ich pre prípad ďalšej potreby.
Zápis
Úlohou komponentu je umožniť PŠO spravovať zápisné listy (pridávať, upravovať, odstraňovať) a študentom vykonať zápis predmetov v povolenú dobu.
Užívateľské rozhranie (GUI)
Komponent má za úlohu vytvoriť rozhranie medzi užívateľom, komunikujúcim so systémom za pomoci protokolov HTTP resp. HTTPS, a systémom. Užívateľské rozhranie je tvorené za pomoci technológií XHTML 1.0 Strict, CSS 2.1 a Javascript, pričom dodržiava zásady prístupnosti definované WCAG 2.0 na úrovni AA.
Hodnotenie
Komponent poskytuje študentom možnosť prihlásenia a odhlásenia sa na/z termín/-u hodnotenia zapísaného predmetu, zobrazenia dosiahnutých výsledkov a ich priemerov. Učiteľom umožnuje spravovať termíny hodnotení pridelených predmetov a zapisovať študentom výsledky z termínov. PŠO a šéfovi katedry komponent poskytuje prehľad o hodnoteniach v zmysle špecifikácie.
Autentifikácia
Komponent zabezpečuje bezpečnú a jednoznačnú identifikáciu užívateľa v systéme. Užívateľ sa identifikuje pomocou prideleného prihlasovacieho mena a hesla, pričom tieto údaje nie sú sieťou prenášané v nezabezpečenej (plain text) forme.
Zálohovací modul
Modul má za úlohu zálohovať aktuálny stav systému a databázy v reálnom čase.
Správa profilu
Komponent umožňuje užívateľom spravovať údaje uvedené vo svojom profile.
Správa užívateľov
Komponent oprávneným osobám poskytuje možnosť spravovať užívateľské kontá a upravovať profily užívateľov vybraných typov.
Správa predmetov
Úlohou komponentu je umožniť oprávneným užívateľom spravovať predmety v systéme. Oprávnení užívatelia majú možnosť predmety pridávať, upravovať a odstraňovať podľa špecifikácie.
Interakcia komponentov
Táto sekcia predstavuje dynamický náhľad na fungovanie systému. Opisuje vzájomnú interakciu komponentov, ako aj jednotlivé postupy, ktoré komponenty vykonávajú pri svojom fungovaní.
Vytvorenie zápisného listu
Nasledujúci diagram opisuje priebeh spracovávania príkazov, ktoré sú súčasťou procesu vytvorenia zápisného listu študentom. Tento proces zahŕňa nasledujúce kroky:
- Pracovník študijného oddelenia (PŠO) odomkne zápisný list na zápis.
- Študent si zobrazí všetky dostupné predmety.
- Následne si zapíše požadované predmety.
- Proces ukončí PŠO uzamknutím a potvrdením zápisného listu.
Zmena termínu predmetu
Tento diagram reprezentuje proces, v ktorom si užívateľ môže zmeniť termín predmetu. Zahŕňa v sebe všetky možné chybové stavy a aj ich riešenie.
Vytvorenie hodnotenia predmetu
Diagram nižšie opisuje proces vytvorenia hodnotenia predmetu. Tento proces je jednoduchý a priamočiari, pričom používa prihlásenie sa na termín predmetu z predchádzajúcej ukážky. Zároveň v sebe tento proces zahŕňa aj interakciu s užívateľom z triedy Učiteľ, ktorý samotné hodnotenie vytvára.
Charakteristiky rozhraní
V tejto sekcii sú definované hlavné črty a vlastnosti rozhraní, s ktorými bude užívateľ ISŠO pracovať. Jedná sa o ukážky typických akcií, ktoré bude používateľ tohto systému vykonávať.
Všeobecné charakteristiky
Každé užívateľské rozhranie by malo ako povinnú súčasť obsahovať tieto prvky:
- Pomocník - zobrazí stránku, na ktorej sú vysvetlené jednotlivé položky rozhrania.
- Tlač - umožňuje užívateľovi vytlačiť si aktuálnu stránku.
- Nadpis - umožňuje rýchlo zistiť význam zobrazeného rozhrania.
- Klávesové skratky by mali byť priradené všetkým dôležitým funkciám.
Zoznam položiek
Zobrazuje zoznam položiek, pričom pri dvojkliku alebo vyvolaní kontextovej ponuky zobrazí doplňujúce operácie, ktoré môže užívateľ s danou položkou vykonávať. Pri vytváraní zoznamu treba dbať hneď na niekoľko faktorov:
- Tlačidlo prerušenia - zastaví vypisovania ďalších riadkov do zoznamu (napr. pri pomalom pridávaní).
- Tlačidlo obnovenia - nanovo vypíše obsah aktuálneho zoznamu.
- Riadky by mali byť farebne odlíšené kvôli lepšej čitateľnosti.
Pridať poznámku
Umožní užívateľovi pridať k nejakému objektu poznámku. Takéto dialógové okno by malo obsahovať, okrem všeobecných, aj nasledujúce prvky:
- Objekt, ku ktorému poznámku pridávame. Jedná sa o needitovateľnú textovú informáciu, ktorá opisuje objekt, ku ktorému sa poznámka pridáva.
- Tlačidlo potvrdenia - potvrdí pridanie poznámky a následne poznámku uloží.
- Tlačidlo zrušenia - ukončí pridávanie poznámky, ale neuloží vykonané zmeny.
Editácia nastavení
Toto rozhranie slúži na zmenu uložených nastavení. Podobne ako predchádzajúce dialógy musí spĺňať nasledujúce vlastnosti:
- Riadky by mali byť farebne odlíšené kvôli lepšej čitateľnosti.
- Tlačidlo potvrdenia - potvrdí pridanie poznámky a následne poznámku uloží.
- Tlačidlo zrušenia - ukončí pridávanie poznámky, ale neuloží vykonané zmeny.
Naviac pridáva aj nasledujúcu podmienku:
- Tlačidlo editácie, ktoré je zobrazené pri tých položkách, ktoré môze užívateľ zmeniť.
