SLOVENSKÁ TECHNICKÁ UNIVERZITA

Fakulta informatiky a informačných technológií

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TVORBA TESTOV S VYUŽITÍM LATEXU

(Posudok)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Vypracovali:       Bc. Lukáš Slížik

Študijný odbor: Informačné systémy

Kontakt:             team1078@gmail.com

Školský rok:       2007/2008

Dátum:               5. júna 2007

Posudok k dokumentácií

 

Tento dokument predstavuje posudok k dokumentácií a k samotnému systému Genex, ktorý bol vypracovaný tímom č. 5 (Foo) v rámci predmetu Vývoj softvérového systému v tíme (názov celého projektu znie Tvorba testov s využitím Latexu). Cieľ projektu spočíval v zefektívnení výučby na našej fakulte.

Vyvíjaný systém je určený v prvom rade pre profesorov a pedagógov, no svoje uplatnenie si nájde aj v autoškolách, či prieskumných agentúrach. Tento fakt sa dá hodnotiť pozitívne, dalo by sa to nazvať široké uplatnenie.

Testy sú dôležitou súčasťou overovania študentových vedomostí. Tvorbe testov je preto nutné venovať patričnú pozornosť.

Dokumentácia k systému je rozdelená na tri logické časti: Analýza problémovej oblasti, Špecifikácia požiadaviek a analýza systému a Návrh systému. Tieto tri časti odrážajú zaužívaný postup pri vývoji softvéru.

 

Analýza problémovej oblasti

 

Značná časť tejto kapitoly je venovaná analýze už existujúceho systému TestGen. Autori však vôbec nespomínajú odkiaľ sa k tomuto systému dostali, kto je jeho autorom a kedy vznikol. Tieto informácie by pre úplnosť nemali chýbať. V tejto časti je takisto spomínaný logický model systému TestGen, o ktorom sa autori vyjadrujú pozitívne, no nakoľko nie je uvedený alebo aspoň popísaný, je táto informácia pre nezainteresovaného čitateľa irelevantná. Prínosom pre autorov systému Genex bola nepochybne identifikácia rôznych typov otázok, ktorú získali pri analýze systému TestGen (napr. single choice, multi choice, true-false, rank-in-order, sore finger, fill in, numeric fill in, sentence, essay).

Ďalej autori upriamili pozornosť vo svojej analýze  na softvérový systém Moodle, pretože bola zvažovaná možnosť prepojenia tohto systému so svojím.

V poslednej podkapitole sa zamerali na analýzu existujúcich testov, pretože jedna z požiadaviek na vytváraný systém spočívala v importe otázok z existujúcich testov.

Časť analýzy je primerane spracovaná. Autori z nej dokázali vyťažiť maximum v tom zmysle, že sa poučili z chýb svojich predchodcov (napr. použitý databázový systém) a nemuseli sa venovať niečomu, čo už bolo vymyslené (napr. typy otázok).

 

Špecifikácia požiadaviek a analýza systému

 

Táto kapitola je venovaná špecifikácií jednotlivých požiadaviek na vytváraný systém. Tie sú rozdelené do troch základných kategórií podľa stupňa priority (najvyššia, stredná, najnižšia). Toto rozdelenie hodnotím pozitívne, pretože autorom to umožnilo zamerať sa na požiadavky s vyššou prioritou a pri časovom deficite, ktorý vznikol, bolo jasné, ktoré požiadavky ich systém nebude riešiť (napr. kontrola pravopisu a zasadací poriadok).

Uvedené požiadavky na funkcionalitu systému mohli byť aspoň stručne popísané. Názov pri väčšine z nich hovorí aj o samotnej požiadavke, no pri niektorých nie je jasný ich význam (napr.: najvyššia priorita - zvýraznenie syntaxe).

V špecifikácii sa vyskytuje zopár nezrovnalostí, ktoré pre mňa zostali po prečítaní nevysvetlené, napr. pri UC 1 Vytvor kategóriu, kategóriu bude možné vytvoriť iba v inej kategórii, ktorá už existuje, ale čo ak sa kategória nebude dať zaradiť do žiadnej z existujúcich? Nemala by byť podľa správnosti možnosť pridať kategóriu, ktorá sa nepridá do niektorej z kategórií? Ďalej sa v opise prípadov použitia nevyskytli obsahovo nejaké závažné chyby.

Dovoľujem si tvrdiť, že sa v tejto časti asi najviac prejavila sila celého tímu vytvárajúceho daný systém. Nezainteresovaný čitateľ získa jasnú predstavu o tom, čo by mal systém zabezpečovať, a to aj vďaka štýlu písania, ktorý autori používali. Celá špecifikácia je relevantná, všetky uvedené informácie spĺňajú určitý význam, zbytočne neuvádzajú nepodstatné údaje. Názornosť celej dokumentácie zvyšuje aj použitie rôznych diagramov, ktoré sú dostatočne popísané.

 

Návrh systému

 

Na začiatku tejto kapitoly (4.1 Výber technológií) sa autori venujú analýze technológií a nástrojov, ktorých použitie zvažujú. Vhodnejšie by bolo, keby bola táto časť uvedená v kapitole 2. Analýza problémovej oblasti. Uvedená analýza je spravená podrobne a vyplýva z nej, ktoré technológie budú použité pri implementácií. Pri jednotlivých technológiách mohli pre úplnosť autori ešte uviesť aj hardvérové požiadavky a celú túto časť zhrnúť do akéhosi celkového zhodnotenia.

 V tejto kapitole oceňujem návrh logického modelu a aj fyzického modelu, ktoré sú premyslené a dostatočne popísané. Na záver tejto kapitoly sú uvedené akceptačné testy, ktoré navrhujú overenie funkcionality systému voči špecifikácií.

 

Generovanie testov

 

Ide o jednu z najdôležitejších častí systému, pretože predstavuje základnú funkcionalitu. Systém umožňuje dva spôsoby generovania testov, prvý, založený na heuristike je vhodný pre pedagógov, ktorý nepotrebujú mať veľkú kontrolu nad výsledným vygenerovaným testom, pretože jediné, čo im zostáva je navoliť si priemernú zložitosť testu (resp. otázok) a systém sa postará o všetko potrebné.

Druhý zo spôsobov je pre používateľov, ktorý požadujú väčšiu kontrolu nad generovaním daného testu, pretože tento spôsob im umožňuje nadefinovať si presný počet otázok určitej zložitosti.

Pozitívne hodnotím možnosť voľby jedného zo spôsobov.

 


Implementácia

 

Pri implementácií systému bol použitý model MVC (Model – View - Controller), ktorého použitie bolo navrhované už v zimnej časti, ešte pri riešení prototypu. Priložený obrázok vhodne znázorňuje uvedenú architektúru spolu s použitými technológiami.

V ďalšej časti dokumentácie sa nachádza opis jednotlivých technológií, ktoré boli použité v prezentačnej, aplikačnej a dátovej vrstve.

 

Testovanie systému

 

Testovanie prebiehalo v dvoch fázach: Unit testovanie pomocou JUnit, neskôr pomocou TestNG a Alfa testovanie, kde bola nová funkcionalita otestovaná iným členom ako tým, ktorý túto funkcionalitu naimplementoval. Takýto postup sa bežne využíva aj v praxi, pretože programátor má nízku motiváciu odhaliť chybu vo svojom vlastnom kóde. Tím č. 5 uvádza, že pomocou alfa testovania odhalili niekoľko závažnejších chýb, no zväčša nešlo o funkcionalitu, ale atribúty kvality (dlhšia odozva a pod.)

 

Zhodnotenie

 

V prvej fáze si tím č.5 uľahčil značnú časť práce podrobnou analýzou a návrhom. Ich predchádzajúce skúsenosti s použitými technológiami boli pre nich len výhodou. No aj napriek týmto tvrdeniam, nedokázali niektoré požiadavky zo špecifikácie naimplementovať z časových dôvodov. Nakoľko boli požiadavky rozdelené do troch kategórií podľa stupňa priority, bolo jasné, ktoré požiadavky sa nebudú riešiť (nízka a stredná priorita – napr. kontrola pravopisu, zasadací poriadok, optimalizácia pre veľký počet otázok).

 


Posudok k systému Genex

 

V používateľskej príručke sa nachádza niekoľko nezrovnalostí, konkrétne je uvádzaná informácia o tom, že systém sa spúšťa súborom genex.jar, neskôr je uvádzaný súbor genex_prototype.jar, ale v skutočnosti je to súbor Genex-0.0.2-SNAPSHOT.jar. Myslím, že tieto nezrovnalosti vznikli z toho dôvodu, že systém bol v niekoľkých verziách a názov sa oproti príručke niekoľkokrát menil.

Používanie systému bolo pre mňa dosť intuitívne, lenže k systému som sa dostal až po preštudovaní dokumentácie, takže som presne vedel akú funkcionalitu mám od systému očakávať a kde mám čo hľadať (bolo to spôsobené aj faktom, že som sa zúčastnil prezentácie hotového systému). Myslím si, že používanie systému môžu byť pre nezainteresovaného používateľa spočiatku mierne mätúce, no je to z toho dôvodu, že systém ponúka množstvo funkcií. Musím však zdôrazniť, že všetky funkcie sú opodstatnené a napĺňajú špecifikáciu. Pre nezainteresovaného používateľa slúži používateľská príručka, v ktorej sú podrobným spôsobom popísané všetky funkcie systému, aj s informáciou o tom, ako sa k nim dostať (klávesové skratky, položky menu, ikony).

 

Pridávanie kategórií

 

Systém ponúka pridávanie otázok do databázy jednoduchým spôsobom. Používateľ musí len nastaviť 6 atribútov ku každej otázke (text otázky, typ otázky, odpovede, zložitosť otázky, kľúčové slová, obrázky).

 

Generovanie a vytvorenie testu

 

Používateľ má dve možnosti ako vytvoriť test; generovanie a manuálne vytvorenie. Automatické generovanie spočíva v nadefinovaní si priemernej zložitosti otázok, alebo pomocou presne určeného počtu otázok určitej zložitosti. Manuálne vytvorenie ponúka možnosť manuálne vyskladať test z existujúcich otázok.

 

Export

 

Systém umožňuje exportovať vytvorené testy do formátu LATEX, tento export funguje na základe definovaných šablón a skúsenejší používateľ má možnosť si tieto šablóny upravovať podľa seba (veľkosť písma, rozloženie prvkov v teste a pod.). Takáto modifikácia však vyžaduje od používateľa určité znalosti systému LATEX.

Druhá možnosť exportovania spočíva v exportovaní vytvoreného testu do systému Moodle.

 

Na záver používateľskej dokumentácie je uvedená časť tipy a triky, no skúsenejšiemu používateľovi nedá nič nové. Vysvetľuje totižto používanie klávesových skratiek, automatické dopĺňanie a pod. Jej zaradenie však vôbec nehodnotím negatívne. Skúsený používateľ môže túto časť jednoducho preskočiť.

 

Zhodnotenie

 

Systém implementuje navrhovanú funkcionalitu, neponúka používateľovi množstvo zbytočných a nevyužiteľných možností, skrátka spĺňa definované požiadavky s najvyššou prioritou. Požiadavky najnižšej priority boli definované len ako prídavná funkcionalita a myslím si, že návrh je natoľko flexibilný, že by pre tím č.5 nebol problém dané požiadavky doimplementovať. Dokumentácia k systému, aj používateľská príručka sú písané prehľadne, zrozumiteľne a štruktúrovane. Celkovo hodnotím systém stupňom 7 (viac ako veľmi dobrý).