Mrva - Vojtko - navrh

From Princípy tvorby software

Jump to: navigation, search

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.

Návrh komponentov systému ISŠO
Návrh komponentov systému ISŠO
Návrh tried systému ISŠO
Návrh tried systému ISŠO
Object model - študent a zobrazenie zapísaného predmetu
Object model - študent a zobrazenie zapísaného predmetu

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

Návrh databázy pre systém ISŠO
Návrh databázy pre systém ISŠO

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:

  1. Pracovník študijného oddelenia (PŠO) odomkne zápisný list na zápis.
  2. Študent si zobrazí všetky dostupné predmety.
  3. Následne si zapíše požadované predmety.
  4. Proces ukončí PŠO uzamknutím a potvrdením zápisného listu.
Sequence Diagram - Vytvorenie zápisného listu
Sequence Diagram - Vytvorenie 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.

Activity Diagram - Zmena termínu predmetu
Activity Diagram - Zmena termínu predmetu

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.

Collaboration Diagram - Vytvorenie hodnotenia predmetu
Collaboration Diagram - Vytvorenie hodnotenia predmetu


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.
Ukážka dialógu Zoznamu položiek: Zoznam predmetov
Ukážka dialógu Zoznamu položiek: Zoznam predmetov

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.
Ukážka dialógu Pridať poznámku: Pridať poznámku k predmetu
Ukážka dialógu Pridať poznámku: Pridať poznámku k predmetu

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ť.
Ukážka dialógu Editácia nastavení: Editácia profilu
Ukážka dialógu Editácia nastavení: Editácia profilu
Personal tools