Subsections

7. Tapasztalatok

A szakdolgozat jelen fejezetének első felében az ETS rendszer tervezése során összegyűjtött tapasztalataimat ismertetem. Ennek során először értékelem a rendszert, majd beszámolok a továbbfejlesztési lehetőségekről.

7.1 Az ETS értékelése

Tekintettel arra, hogy az elkészült munka jelentős részében elméleti jellegű, tesztelésről, gyakorlati alkalmazásról nem lehet szó. De meg lehet vizsgálni azt, hogy honnan indultam el és meddig jutottam a kitűzött célhoz vezető úton. Vagyis - konkrétabban megfogalmazva - mennyiben léptem túl a meglévő programok keretein, és mennyiben értem el azt a célt, hogy általános, összefüggő rendszert hozzak létre.

Ennek vizsgálatához érdemes még egyszer végigvenni a megalkotott rendszer komponenseit, és külön-külön vizsgálni őket.

Az adatbázis terve merőben új. A meglévő programok mind külön adattárakat használnak, amelyek csak a számukra fontos adatokat tárolják. Ráadásul az adatok formátuma is minden esetben más és más, főként mivel a megvalósításuk ad-hoc jellegű és nem tervezett volt. Ebből adódóan az adatok nehezen fellelhetőek, egy részük többszörösen van tárolva, és a különböző reprezentációk közötti konverzió is sok bonyodalmat okoz. Az elkészült terv, úgy hiszem, kellően pontos ahhoz, hogy ennek alapján könnyen meg lehessen valósítani az adatbázist. A felvázolt szerkezet a céloknak megfelelően nem csak a már azonosított adatcsoportokat képes tárolni, hanem kellően rugalmas ahhoz, hogy a jövőbeni fejlesztéseknek, bővítéseknek is teret adjon. Egységességének köszönhetően biztosítja a komponensek közötti kapcsolattartást, megszünteti a konverziós problémákat. Struktúráltságának köszönhetően minden szükséges adat gyorsan megtalálható. Természetesen előfordulhat, hogy bizonyos előre nem látott változásokhoz mégiscsak szükség van a terv módosítására, például a reprezentált események körét kell bővíteni, vagy a hallgatók nyilvántartott adatai bizonyulnak hiányosnak. Ugyanakkor ennek az ellenkezője is előfordulhat: kiderülhet bizonyos adatokról, hogy teljesen feleslegesen vannak tárolva, és soha nincs rájuk szükség.

A házi feladatokat feldolgozó komponens ötlete a legrégibb, ebből adódóan a legtöbb tapasztalat is itt áll rendelkezésre és itt van a legjobban kialakult kép arról, hogy pontosan mire is van szükség. Az erre vonatkozó tervek a jelenleg használt program ismeretében nem tartalmaznak ,,korszakalkotó'' ötleteket, csupán pontosítják, tisztázzák a feladatokat és az ezek megoldásához szükséges struktúrát. Ugyanakkor meg kell említenem, hogy a meglévő program kifejlesztésében is meghatározó szerepem volt, tehát a felhasznált ötletek is javarészt a sajátjaim, ha nem is ebben a félévben születtek. A szakdolgozatban elkészült tervekkel sikerült egyesítenem a házi feladatok különböző fajtáinak ellenőrzését, és további kategóriák bevezetése is lehetővé vált. A rugalmas struktúrának köszönhetően a tesztelendő programok és a felhasznált tesztadatok mérete tág határok között mozoghat, az ellenőrzés során mindig a méretekhez igazodó reprezentációt választhatunk. A komponens legfőbb erénye, hogy teljesen nyelvtől független, így akár más programozási tárgyaknál is felhasználható.

A gyakoroltató komponens tervének elkészítéséhez szintén sok ötletet merítettem a meglévő programból, főleg a megjelenést illetően. Alaposan átterveztem ugyanakkor a belső struktúrát, amely ezáltal reményeim szerint rugalmasabbá és könnyebben programozhatóvá vált. Ebben a szerkezetben technikailag nem jelent gondot egy újabb témakör vagy séma bevezetése, igaz, a feladatbázis feltöltése mindenképpen időigényes munka. A tervben nem tértem ki arra, hogy az adatbázisban a gyakorlás eredményeként mit jelenítünk meg. Ez azért van, mert még az oktatóknak sincs határozott elképzelése arról, hogy kötelező legyen-e a gyakorlás, ill. hogy milyen módon számítson bele a vizsgajegybe. Azt azonban számon tartjuk a terv szerint is, hogy melyik témakörből hány feladatot oldott meg jól egy-egy hallgató, ebből pedig egyértelműen lehet számítani az összeredményt, akármilyen is az algoritmus.

A további két komponens alapvetően adminisztratív feladatokat lát el. Kidolgozásuk nem olyan részletes mint az előző három esetben. Mivel azonban mindkettő az adatbázison végez műveleteket, tervüket az adatbázis tervével együtt kell értékelni. Így vizsgálva őket már finomabban cizellált képet kapunk. A megvalósítandó programok feladatait definiáltam, megvalósítási tanácsokat pedig kivételesen azért nem adtam, mert egy-egy adatbázis-lekérdezés megvalósítása rutinszerű feladatnak tekinthető.

A teljes ETS terve az adatbázissal a középpontban véleményem szerint kellően átfogó lett, érinti egy egyetemi tárgy minden adminisztratív feladatát. Az egyes komponensei kellően függetlenek egymástól ahhoz, hogy akár külön-külön is lehessen őket alkalmazni vagy cserélni, módosítani, ugyanakkor az egységes adatbázisnak köszönhetően mégis összeállnak egy közös egésszé. A kitűzött cél azon pontjainak is megfelel, hogy programozási nyelv- és tárgyfüggetlen legyen. Noha a gyakorlatban nem volt lehetőségem kipróbálni a terv minden részletét, úgy érzem, hogy működőképes, jól alkalmazható rendszert alkottam.

A megvalósított komponenseket az őket ismertető fejezetek végén egy-egy szakaszban már külön értékeltem. Itt csak annyit mondanék el, hogy elkészítésükkel bemutattam, hogy a tervek követésével elég programozói oldalról átgondolni a megvalósítás lépéseit, a strukturális részletek már készen állnak. Az elkészült programok működőképessége részben igazolja a terv helyességét is.

7.2 Továbbfejlesztési lehetőségek

A terv kivitelezésekor elsőként az adatbázist kellene megvalósítani, mivel ez köti össze a komponenseket. Erre remélhetőleg hamarosan sor kerül demonstrátorok, önálló laborosok bevonásával. Ezután következhet a többi komponens fokozatos megvalósítása és gyakorlati alkalmazása. Természetesen az egyes komponensek terve is továbbfejleszthető.

Az adatbázis maga bővíthető lenne úgy, hogy több félév adatait legyen képes egyszerre tárolni, az összefüggéseket - pl. közös hallgatók - feltüntetve. A félévvel kapcsolatos számos dokumentum - feladatkiírás, követelményrendszer stb. - vagy egy-egy rájuk mutató hivatkozás is tárolható lehetne benne.

A házi feladatok értékelésénél például érdekes lehet egy névre szóló feladatkiosztó és -ellenőrző rendszer kidolgozása, mert ezzel jelentősen csökkenthető lenne a másolások száma. Ehhez a terveket alaposan át kellene dolgozni, de bizonyos elemek megőrizhetőek. Az ellenőrzést gyorsítani lehetne több számítógépből álló rendszerrel is. Ilyenkor persze szükség lenne egy koordinátor-programra, amely egyenletesen osztja el a munkát a gépek között. Egy-egy levél beérkezésekor becsülni lehetne a várakozási időt is a korábban kapott tesztidők alapján, így a hallgatók nem csak azt tudnák meg, hogy hányan állnak előttük a sorban, hanem arról is tájékoztatást kapnának, hogy ez várhatóan mennyi időt jelent. A becsült idő leteltével újabb értesítésben finomítani lehetne a becslést.

A gyakoroltató rendszer bővíthető lenne például egy ZH-sor szerű teszt összeállításával. Ez a szolgáltatás a meglévő gyakorló feladatokból egy olyan tesztsort állítana össze, amelyet a hallgatók interaktívan kitöltve azonnal megkapnák az ,,osztályzatot'', és így jobban fel tudnák mérni saját tudásszintjüket. El lehetne készíteni a komponens önállóan telepíthető programváltozatát is, amelyet ki lehetne adni a hallgatóknak otthoni gyakorlásra.

Az adatbázis-hozzáférést biztosító komponenst számtalan lekérdezés-fajtával lehetne bővíteni. Különösen igaz ez, ha maga az adatbázis is bővül.

Mindent összevetve megállapítható, hogy a szakdolgozatom nemhogy lezár egy témát, hanem éppen ellenkezőleg, lehetőségek százait nyitja meg. Az álmok valóra váltásához több év munka is kevés lenne, de úgy vélem, hogy a realitásoknál maradva már egy év alatt is jól használható rendszert lehet felépíteni.

Hanák Dávid <dhanak@inf.bme.hu>