Danko - Tomcsanyi - navrh

From Princípy tvorby software

Jump to: navigation, search

System Design Document for "E-learningový systém pre školu e-BRAING"
Version 1.0, approved for revision
Prepared by Juraj Danko, György Tomcsányi
25.04.2010

Contents

Vyhranenie systému

Identifikácia

Systém e-Braing je unikátnym systémom pre školy a iné školské zariadenia umožňujúci a uľahčujúci študijné, administratívne a analyzačné činnosti všetkým zúčastneným klientom. Ide o serverovú aplikáciu; komunikácia s klientom prebieha prostredníctvom webového rozhrania.

Prehľad systému

Účelom systému je automatizovať a zjednodušovať správu výučbového procesu v základných, stredných, špeciálnych a prípadne i iných školských zariadení.

Používateľmi systému sú:

  • Žiak (študent)
    ktorému systém uľahčuje vyhľadávanie úloh, prihlasovanie sa na ne a sledovanie svojich výsledkov
  • Učiteľ
    ktorému systém uľahčuje prácu so žiakmi, distribúciu úloh, zber riešení, sledovanie výsledkov a tried, v ktorých učí
  • Rodič
    ktorý prostredníctvom systému rýchlo a jednoducho zistí úspechy či neúspechy svojho dieťaťa na školskej pôde a môže dokonca dieťaťu zadať mimoriadne úlohy na riešenie
  • Riaditeľ
    ktorého systém odbremení od pracného vyhľadávania dát a ich analyzovania automatizovaným generovaním a optimalizáciou reportov o stave školy
  • Administrátor
    ktorý sa stará o stabilný, spoľahlivý a rýchly beh systému

Relevantné dokumenty

Špecifikácia "E-learningový systém pre školu e-BRAING"

Parametre pre design systému

Výber systémovej konfigurácie

Komponentmi systému sú databázový server komunikujúci so serverom aplikačným (v prípade potreby mirrorovaný či inak zabezpečený proti výpadkom), ktorý umožňuje rýchle a stabilné vykonávanie aplikácie a distribúciu interface na klientské stanice, kde sú spracúvané vo webovom prehliadači podporujúcom JavaScript, HTML, CSS a korektné renderovanie štandardných obrázkov. Voľba konfigurácie client-server umožňuje úsporu prostriedkov pre nízke výpočtové požiadavky kladené na klientské stanice, tiež jednoduchšie riešenie bezpečnostných požiadaviek či celkovú správu systému.

Obmedzenia systému

Z konfigurácie client-server vyplýva tradičný problém centralizovaných riešení s nutnosťou zálohovať beh systému, ak je nevyhnutná jeho nepretržitá prevádzka. Súdiac však z povahy systému toto nie je nevyhnutné. Programovanie prebieha vo vyšších programovacích jazykoch neviazaných priamo na danú verziu hardwaru a operačného systému, avšak serverová aplikácia je viazaná na platformu MS Windows Server a podporu ODBC. Tiež je nutná podpora TCP/IP a širokopásmové pripojenie k sieti internet.

Iné dôležité systémové parametre

Pri návrhu systému treba klásť dôraz na kompatibilitu s ďalšími štandardne používanými riešeniami, ktoré budú pre prácu s dátami pre systém a výstupy z neho využívané. Konkrétne:

  • Podporovanie vstupných dát, ako napríklad nových úloh zadávaných učiteľmi, vo formáte MS Word, MS Excel, MS PowerPoint vo verziách 97 až 2010, ale tiež podpora OpenOffice (v aktuálnej verzii), PDF a PostScript
  • Export dát do reportov MS Access, MS Excel, PostScript, PDF a OpenOffice vo vyššie uvedených verziách, prípadne iných databázových formátov previazaných na konkrétnu implementáciu systému


Tiež je potrebné predpokladať nutnosť podpory nasledujúcich verzií uvedených systémov, a teda ďalšie zásahy do systému v tomto ohľade.

Z hľadiska bezpečnosti je nutné dodržiavať všetky aktuálne zákony o ochrane osobných údajov a príslušné nariadenia a smernice ministerstva školstva a iných príslušných orgánov štátnej správy o charaktere a povahe podobných systémov, a teda predpokladať aj ich zmeny a nutnosť ďalších zásahov do systému v tomto ohľade.

Design systému

Komponenty

Prehľad komponentov systému:

Popis komponentov

V nasledujúcej schéme sú popísané hlavné komponenty systému e-BrainG.

eBrainG - návrh komponentov pre systém
eBrainG - návrh komponentov pre systém

Komponent Úlohy

Komponent Úlohy zodpovedá za pridávanie, odstraňovanie, zdieľanie, prideľovanie a prihlasovanie sa na úlohy žiakmi (študentami). Komponent bude disponovať špecifickým interface pre žiakov (študentov), učiteľov a rodičov, vzhľadom na ich úlohy v tomto komponente.

Komponent Users management

Komponent pre správu používateľov umožňuje pridávať a odstraňovať používateľov, modifikovať triedy, a to každému klientovi prostredníctvom špecifického interface na základe požiadaviek na neho kladených.

Komponent Reporting

Reportovací komponent generuje analýzy a trendy jednak pre riaditeľa, jednak pre administrátora, a to o stave systému a štúdia. Tiež poskytuje dáta pre sledovanie študijných výsledkov. Každý klient k nemu pristupuje cez špecifický interface prispôsobený jeho potrebám a oprávneniam vzhľadom na systém.

Komponent Študijné výsledky

Komponent Študijné výsledky umožňuje klientom - žiakom, rodičom a učiteľom - sledovať prospech a iné parametre štúdia, prostredníctvom špecifického interface určeného pre daného klienta.

Komponent Profil

Komponent Profil pripravuje všetky potrebné dáta pre daného používateľa jednak na využitie pre IM, jednak pre jeho osobné potreby.

Komponent IM

Komponent pre instantnú komunikáciu umožňuje komunikáciu s dostupnými užívateľmi z ostatných skupín. Autentifikácia do tohto komponentu prebieha využitím dát z komponentu Profil.

Databáza

V nasledujúcom modeli je uvedený návrh hlavných tabuliek databázy a ich vzájomný vzťah.

eBrainG - návrh databázy
eBrainG - návrh databázy

Triedy

Návrh tried obsahuje všetky hlavné triedy systému e-BrainG. Uvedené premenné možno chápať ako "properties", teda s metódami Set a Get. Triedy sú navrhnuté podľa špecifikácie v Užívateľské skupiny . Základom hierarchie je abstraktná trieda Pouzivatel, ktorý definuje spoločnú funkcionalitu: posielanie správ a manažovanie profilu. Ostatné typy používateľov sú odvodené od tejto triedy. Abstraktná trieda Zadavatel definuje metódy pre pridávanie, priraďovanie, zdieľanie a hodnotenie úloh. Triedy Rodic a Ucitel sú jeho potomkami. Rodič vie pridávať úlohy len vlastným deťom. Učiteľ okrem manažmentu úloh vie tiež pridávať a meniť študentov. Trieda Riaditel je potomkom triedy Ucitel a má metódy na celkový prehľad používateľov. Trieda Trieda je určená na zoskupenie študentov, ktorých definuje trieda Student. Študenti majú prístup k úlohám, vedia ich riešiť a sledovať hodnotenie. Trieda Uloha reprezentuje úlohy zadané zadávateľmi. Uloha a Profil obsahujú atribúty definované v špecifikácii. Objekt triedy Administrator je špeciálny používateľ, ktorý má prístup k celému systému, vie vytvárať zálohy, generovať štatistiky a reporty, zobrazovať logy, editovať globálne nastavenia a manažovať ľubovoľného používateľa.


eBrainG - návrh tried pre systém
eBrainG - návrh tried pre systém

Objekty

Žiak a riešená úloha:

eBrainG - objektový model - žiak
eBrainG - objektový model - žiak

Učiteľ a zadaná úloha:

eBrainG - objektový model - učiteľ
eBrainG - objektový model - učiteľ

Interakcia

Sequence diagram

Diagram znázorňuje priebeh pridávania, riešenia, odovzdávania a hodnotenia úloh. Zadávateľ (Učiteľ alebo Rodič) vytvorí novú úlohu. Tá sa priradí študentom, ktorí sú o tom informovaní. Môžu si vybrať úlohu a pracovať na nej. Po ukončení sa úloha odovzdá, a Zadávateľ je o tom informovaný. Tento používateľ úlohu ohodnotí, Študent si nakoniec pozrie svoje hodnotenie.

eBrainG - sequence diagram - úloha
eBrainG - sequence diagram - úloha

Activity diagram

Diagram znázorňuje proces riešenia úlohy. Študent si vypýta zoznam jemu pridelených úloh. Ak také existujú, zobrazí sa mu tabuľka, z ktorej si môže vybrať konkrétnu úlohu. Ak tú úlohu ešte neodovzdal, tak ju môže vyriešiť a potom odovzdať. Ak tú úlohu už odovzdal a zadávateľ ju ohodnotil, tak si môže pozrieť hodnotenie.

eBrainG - activity diagram - riešenie úlohy
eBrainG - activity diagram - riešenie úlohy

Statechart diagram

Diagram znázorňuje stavy úloh riešených študentmi. Úlohu najprv zadavateľ pridelí študentovi a on ju začne riešiť. Študent môže na úlohe pracovať maximálne do času určeného zadávateľom, potom sa úloha automaticky odovzdá a nie je umožnené jej riešenie ďalej editovať. Študent má možnosť rozpracovanú úlohu uložiť a neskôr ju znovu otvoriť a riešiť. Po odovzdaní dostane úlohu zadavateľ a ohodnotí ju, úloha sa dostane do konečného stavu.

eBrainG - statechart diagram - stavy úloh
eBrainG - statechart diagram - stavy úloh

Collaboration diagram

Diagram znázorňuje komunikáciu počas procesu spracovávania úlohy. Začína sa pridelením úlohy študentovi. Študentovi systém na požiadanie zobrazí zadanie a on na ňom začne pracovať. Študent neskôr úlohu odovzdá, čo sa oznámi zadávateľovi. Ten úlohu ohodnotí. Na záver si študent pozrie hodnotenie.

eBrainG - collaboration diagram - komunikacia
eBrainG - collaboration diagram - komunikacia

Interakcie medzi komponentmi

Požiadavky jednotlivých komponentov

Ak sú na komponenty kladené mimoriadne požiadavky, sú uvedené v tejto sekcii.

Komponent Úlohy

Tento komponent bude zrejme jeden z najpoužívanejších; preto je dôležité, aby bol optimalizovaný na rýchlosť. Neodporúča sa jeho cachovanie.

Komponent Users management

Dáta majú byť optimalizované na čítanie.

Komponent Reporting

Pravidelné reporty budú serverom generované v nočnej (neaktívnej) dobe, aby ich použitie mohlo byť následne okamžité, v reálnom čase.

Komponent IM

Komponent musí byť modulárny, aby sa dal v budúcnosti vymeniť komunikačný protokol.

Charakteristika rozhraní

Zadanie úlohy

Užívateľské rozhranie pre zadávanie úloh:

eBrainG - interface - pridať úlohu
eBrainG - interface - pridať úlohu

Priradenie úlohy

Užívateľské rozhranie pre priraďovanie úloh:

eBrainG - interface - priradiť úlohu
eBrainG - interface - priradiť úlohu

Zobrazenie štatistík

Užívateľské rozhranie pre zobrazenie výsledkov študenta:

eBrainG - interface - zobraziť výsledky žiaka
eBrainG - interface - zobraziť výsledky žiaka

Štatistika

Report výsledkov študenta:

eBrainG - interface - žiakove výsledky
eBrainG - interface - žiakove výsledky

Ostatné rozhrania

Design ostatných rozhraní bude analogický; presné upresnenie bude dodané na požiadanie, resp. prediskutované s designovým oddelením vývojového teamu.

Poznámky

Tento projekt je dobrý. Všeobecne sa odporúča hodnotiť ho známkou A. :)

Prílohy

EOF

Personal tools