Bankovní institut vysoká škola Praha Katedra informačních technologií a elektronického obchodování Modul informačního systému SPŠSE Liberec (analýza a návrh řešení modulu odevzdávání úloh) Semestrální práce z předmětu B108TMM Autor: Tomáš Kazda, DiS. informační technologie Vyučující: Doc. Ing. Karel Rychta, CSc. Praha květen, 2009
0 Preambule Na SPŠSE a VOŠ, Liberec (www.pslib.cz) je vytvářen nový informační systém. Ten má nahradit stávající vzájemně nekomunikující segmenty agendy školy. Od počátků je kladen důraz na modularitu jednotlivých částí a tedy snadnou rozšiřitelnost celého IS. Také požadavky na datovou základnu se primárně týkají přenositelnosti a platformové nezávislosti; teprve sekundárně na výkon. V práci bych se chtěl zaměřit na řešení jednoho z připravovaných modulů reálného informačního systému střední průmyslové školy strojní a elektrotechnické v Liberci. IS je vyvíjen vyučujícími předmětové komise informatiky na míru k potřebám školy.
1 Zadání problému Modul odevzdávání úloh Samostatná část systému bude sloužit pro odevzdávání a evidenci úloh a výstupů z praktických cvičení. Učiteli bude umožněno vytvářet sadu úloh, které se vybraným studentům zobrazí jako témata k vypracování a následnému odevzdání. Student ve svém přístupovém okně uvidí, které úlohy jsou pro něj připraveny a zároveň jejich stav (aktuální, nevyřešené, odevzdané atp.). Zvláštní přístupové oprávnění bude mít třídní učitel, který bude moci sledovat souhrny restů (nevyřešených a neodevzdaných zadání) všech studentů jeho třídy a sledovat tak plnění povinností jeho svěřenců v jednotlivých vyučovacích předmětech. Stávající (a nevyhovující) alternativou k připravovanému modulu je odevzdávání úloh formou přílohy emailové zprávy. Toto řešení je nevyhovující zejména z důvodu velké pracnosti při katalogizaci odevzdaných souborů v rozhraní elektronické pošty a absence jakékoli zpětné vazby ať už na straně učitele či studenta. Veškeré odevzdané soubory budou dostupné na souborovém serveru v příslušném adresáři vyučujícího, kterému jsou data určena. Toto řešení se zdá být akceptovatelné i pro učitele bez hlubších znalostí výpočetní techniky
2 Vize modulu OÚ Modul slouží pro zjednodušení evidence a realizace odevzdávání souborů studenty vyučujícím. Také je téměř eliminován faktor lidské chyby (chybný formát jména souboru, odevzdání v jiném než požadovaném termínu, zapomenutí odevzdání úlohy). Soubory jsou po odeslání studentem kopírovány do automaticky vytvářených složek v domácím adresáři příslušného vyučujícího. Záznam o této činnosti je uchován v informační databázi modulu odevzdávání úloh (dále jen OÚ). Učitel může pro konkrétní třídu vytvářet nové úlohy a vymezovat jejich platnost. Zobrazovat jmenný seznam studentů, kteří úlohu již odevzdali (ještě neodevzdali). Je informován o odevzdání souborů, které student nepřiřadil do žádné z existujících úloh. (To je z důvodu umožnění nesystematického odevzdání souboru učiteli studentem.) Student po přihlášení vidí které úlohy, na který předmět a pro kterého vyučujícího má vypracovat a odevzdat. Jsou odlišeny úlohy aktuální, odevzdané a neplatné (u kterých ještě nenastalo nebo skončilo časové okno platnosti). U konkrétní úlohy kromě jejího názvu a zařazení vidí učitelem zadanou stručnou charakteristiku a soubor požadavků. Úlohy může z webového rozhraní nahrávat (odevzdávat) na souborový server. Třídní učitel může provádět stejné aktivity jako role učitel. Navíc jsou pro něj dostupné statistiky o odevzdaných, neodevzdaných a nesplněných úlohách studentů jeho třídy v jednotlivých předmětech.
3 Katalog požadavků Katalog požadavků na informační podporu procesů modulu odevzdávání úloh byl sestaven na základě vize projektu. P1: Rozhraní učitele modul musí obsahovat rozhraní vyučujícího. P1.1: Vytvoření úlohy modul OÚ učiteli umožní vyhlášení nové úlohy. P1.1.1: Definice parametrů rozhraní vytvoření nové úlohy nabídne definici názvu úlohy, na který předmět a pro kterou třídu je úloha určena a stručný popis požadavků na vyhotovení úlohy. P1.1.2: Časový rámec při zadání nové úlohy musí být umožněno vymezení časové platnosti (od kdy do kdy bude úloha studentům zobrazena jako aktuální nebo jestli je úloha platná po celý školní rok). P1.2: Prohlížení kolekcí úloh modul OÚ umožní učiteli přehledně zobrazit všechny jím vyhlášené úlohy a dále je analyzovat a modifikovat. P1.2.1: Modifikace a mazání úloh u konkrétní vybrané úlohy musí být možné v rozhraní modulu OÚ měnit jednotlivé parametry nebo ji úplně odstranit. P1.2.2: Sledování stavu modul umožní zobrazit okno úlohy; v něm přehledně zobrazuje seznam studentů s poznámkou, zda úlohu odevzdali či nikoliv. P2: Rozhraní třídního rozhraní vyučujícího je u třídních automaticky rozšířeno o další možnosti. P2.1: Zobrazení statistik třídní má v modulu k dispozici přehledovou stránku se seznamem jeho studentů a informacemi o počtech odevzdaných a neodevzdaných úloh. Přehled lze filtrovat podle jednotlivých předmětů anebo vyučujících. P3: Rozhraní studenta modul zobrazuje studentům úlohy, které má vypracovat a odevzdat. P3.1: Zobrazení úloh modul musí studentovi zobrazit seznam úloh roztříděný podle předmětů a vyučujících. Jasně jsou odlišené i úlohy aktuální, budoucí a minulé. U každé úlohy je informace, zda a kdy byla odevzdána. P3.2: Odevzdání úlohy po výběru konkrétní úlohy musí rozhraní modulu studentovi umožnit odevzdat soubor; ten je zkopírován přes webové rozhraní na souborový server do adresáře vyučujícího a v databázi je aktualizován příslušný záznam.
4 Model jednání pro modul odevzdávání úloh Model jednání popisuje požadované chování modulu odevzdávání úloh. V diagramu případů užití jsou zachyceni jednotliví účastníci a možnosti dané jejich rolí. Posloupnost jednotlivých kroků aktéra učitel při vytvoření úlohy je znázorněn v diagramu sekvencí. Diagram aktivit zobrazuje činnosti studenta s konkrétní úlohou. 4.1 Diagram případů užití modulu OÚ Modul odevzdávání úloh vytvoření úlohy skládá se z definice parametrů a časového rámce aktivity úloh Třídní prohlížení vlastních úloh, jejich modifikace a mazání «extends» Učitel sledování stavu «extends» prohlížení úloh Student odevzdání úlohy
4.2 Scénář vytvoření úlohy učitelem v modulu OÚ učitel úloha datový modul zahájení tvorby úlohy získání seznamu tříd nabídka možných tříd seznam tříd volba třídy získání seznamu předmětů nabídka předmětů seznam předmětů volba předmětu loop [kontrola ] zadání názvu úlohy zadání požadavků definice časového rámce kontrola: true/false kontrola údajů zaznamenání úlohy potvrzení potvrzení 4.3 Diagram aktivity kontroly stavu jedné úlohy
5 Konceptuální datový model modulu OÚ Datový model vychází z vize systému modulu a zahrnuje analytický model tříd popisující potřebná data, vazby mezi nimi a integritní omezení. 5.1 Analytický model tříd «struct» SPředmět +Třída : char +Ročník : decimal +Název : string osoba -ID : int -Jméno : string -Příjmení : string -Heslo : string «struct» SDatum +Den : byte +Měsíc : byte +Rok : byte učitel -Vyučuje[] : SPředmět 1..* 1..* student -Třída : char -Ročník : byte -Navštěvuje[] : SPředmět 1..* úloha 1 18..33 třídní -Třída : char -Ročník : byte 1..* 0..* 0..* -ID -Název -Popis -ČasStart -ČasStop -Stav : bool 0..* * 5.2 Integritní omezení datového modelu OÚ Každá úloha smí být vázána pouze na jednoho učitele Nově vytvářená úloha nesmí mít definován počátek v minulosti Student nesmí úlohu odevzdat po skončení její platnosti
5.3 Stavový diagram úlohy vytvořena aktivní neaktivní odevzdána uzavřena
6 Diagram komponent implementace modulu v IS klient (učitel, student) Rozhraní1 autorizační inerface modul Odevzdávání Úloh komponenty řízení modulů IS + DB servery Radius 802.1x Komponenta řízení autorizace zprostředkuje nebo blokuje komunikaci klienta s modulem Odevzdávání Úloh. Autorizace se provádí proti Radius serveru spojeného s datovým úložištěm společným pro celý IS. V IS jsou realizovány další komponenty, které zprostředkují získávání dat z různých databázových serverů potřebných pro chod modulu OÚ.
7 Diagram nasazení popisující architekturu řešení Funkce modulu OÚ jsou dostupné prostřednictvím webového prohlížeče. Výkonné jádro modulu je provozované na www serveru. Data vzniklá činností modulu a potřebná pro jeho chod jsou udržována v samostatné databázi, která je součástí aplikačního databázového serveru informačního systému. Ostatní údaje (jako seznamy tříd, předmětů, vyučujících, studentů a vazeb mezi nimi) jsou předávány prostřednictvím speciální komponenty, která komunikuje se samostatným DB serverem; na něm jsou informace potřebné pro chod běžné agendy školy a z bezpečnostních důvodů je přístup k nim omezen rozhraním této komponenty.