Danko - Tomcsanyi - navrh
From Princípy tvorby software
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.
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.
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.
Objekty
Žiak a riešená úloha:
Učiteľ a zadaná úloha:
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.
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.
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.
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.
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:
Priradenie úlohy
Užívateľské rozhranie pre priraďovanie úloh:
Zobrazenie štatistík
Užívateľské rozhranie pre zobrazenie výsledkov študenta:
Štatistika
Report výsledkov študenta:
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
