NEPTUN_FDL, META (Szűrések, dokumentáció)
S Budapest, 2002
Tartalom TARTALOM 1. FDL SZŰRÉSEK 1.1. Listák szűrése 1.1.1. Szűrések használata 1.1.2. Szűrések kezelése ablak 1.1.3. Szűrések szerkesztése ablak 1.1.4. Paraméteres szűrések megadása 1.1.5. SQL szerkesztő ablak 1.1.6. Másolat készítése ablak 1.2. Általános listák/statisztikák készítése 1.2.1. Használata 1.2.2. Kezelése 1.2.3. Listák/statisztikák kezelése ablak 1.2.4. Lista/statisztika előállítása 1.3. Paletták 2. ÉVKÖZI FELADATOK ÉS KÖVETELMÉNYEK MEGADÁSA 2.1. Rendeltetés 2.2. Az információs ablak 2.3. A feladatok megadása, szerkesztése 2.4. Tippek a feladatok megadásához 2.5. A követelmények megadása 3. A METANYELV 3.1 A metanyelv rendeltetése 3.2. Szintaktika 3.2.1. Adatbázis-lekérdező függvények 3.2.2. Halmazműveletek 3.2.3. Szimbólumok 3.2.4. Numerikus konstansok 3.3. A metanyelv nyelvtana 3.4. A metanyelv szerkesztő használata 3.4.1. A logikai kifejezések szerkesztése 3.4.2. Az aritmetikai kifejezések szerkesztése 3.4.3. Függvényparaméterezést támogató ablakok 3.4.4. Opciók beállítása 3.5. Példák a metanyelvi kifejezésekre 4. ÖSSZEFOGLALÓ
S SDA Stúdió Kft.
2. oldal
2 3 3 3 4 6 12 13 14 15 15 17 19 20 24 28 28 29 31 34 35 38 38 40 41 44 45 46 47 49 50 52 53 57 58 60
A NEPTUN 2000 ETR biztosítja az adatok szűrési és rendezési lehetőségét, valamint a felhasználó által definiálható listák, statisztikák lekérdezését. A lekérdezési rendszer olyan, hogy azt programozói ismeretek nélkül is lehet kezelni (pl. FDL, Metanyelv). A lekérdezések a NEPTUN Információs rendszer üzemeltetési felületein használhatók, fontosabb listák mellett mindenhol megtalálhatók.
1. FDL szűrések Az FDL szűréseket azért készítettük, hogy a felhasználó számítógépes előtanulmányok nélkül a dokumentációban ismertetett eljárás segítségével egy viszonylag nagy listából különböző szempontok alapján szűkítéseket tudjon létrehozni.
1.1. Listák szűrése 1.1.1. Szűrések használata A NEPTUN 2000 ETR program számos helyén előfordul, hogy a felhasználó valamilyen listát kezel: hallgatók, képzések, tárgyak, tanszékek, termek, jegyzetek, stb. halmaza jelenik meg a képernyőn. Ebből lehet aztán kiválasztani azt, amelyikkel éppen dolgozni akar. Ha ez a lista több száz elemből áll, ha tartalmazza, pl. az adott Intézmény összes hallgatóját, vagy egy adott tanszék összes meghirdetett tárgyát, akkor elég körülményes lehet ezek közül kiválasztani az éppen szükségeset. Ezért lehetőség van a listák szűkítésére szűrőfeltételek megadásával. Ha egyszer egy szűrés létre lett hozva, később egy névvel (pl.: ‘elsőéves gazdász hallgatók’ ) lehet rá hivatkozni. Ezek közül a kiválasztottak egy legördülő listában jelennek meg, ami a szűkítendő listával egy lapon jelenik meg. A legördülő listából lehet kiválasztani az éppen szükségeset, és ekkor a listában a korábban megadott szűrőfeltételeknek eleget tevő tagok jelennek meg (pl.: az elsőéves gazdász hallgatók ). Ha egy olyan korábban létrehozott szűrésre van szükség, ami nincs benne a legördülő listában, vagy ennek módosított változatára, vagy pedig egy teljesen újat akarunk megadni, akkor a ‘Szerkesztés’ gomb megnyomásával egy új ablak - ‘Szűrések kezelése’ - jön elő, amivel mindez elvégezhető.(1.1.ábra) A későbbiekben, ha szűkítendő listáról, vagy csak egyszerűen listáról lesz szó, akkor az mindig a tárgylapon lévő listát jelenti.
S SDA Stúdió Kft.
3. oldal
1.1.2. Szűrések kezelése ablak
1.1.ábra. Szűrések kezelése ablak
Ebben az ablakban (1.1.ábra) felül két lista található. A baloldaliban vannak az adott felhasználó által eddig létrehozott szűrések, vagy más felhasználó által elküldött szűrések azonosító nevei. A jobboldaliban találhatóak azok, amelyek a tárgylapon lévő legördülő menüben megjelennek. (Érdemes ebbe a listába azokat a szűréseket betenni, amelyekre gyakran van szükség; ekkor ugyanis megspórolhatjuk ennek az ablaknak az előhívását.) A baloldali lista tartalma informatív jellegű, azaz mindig azokat a szűrésneveket mutatja, amelyekhez feltételek vannak rendelve. Ennek a listának a tartalma akkor változik meg, ha új szűrést hozunk létre, régit törlünk, vagy pedig már meglévőről másolatot készítünk. A jobboldali lista tartalma szabadon változtatható a legfelső két gomb segítségével. A jobbra nyíl gomb bővíti a jobboldali listát, mégpedig a baloldali listában kiválasztott elemmel, elemekkel. (Nem áttesszük az elemet, azaz a baloldali listából nem fog eltűnni!). A szemetesvödörbe mutató nyíllal pedig törölhetjük a jobboldali lista egy elemét (az éppen kiválasztottat). Mindkét listában megjelenik a ‘Minden’ azonosító; ennek segítségével lehet a tárgylapon egy olyan listát generálni, mely az összes elérhető sort tartalmazza. Ezt nem lehet sem szerkeszteni, sem törölni, sem kivenni a jobb oldali listából, viszont alapértelmezésnek megadható. Az Alap gombbal adhatunk meg alapértelmezést. Ez azt jelenti, hogy a tárgylap aktivizálódásakor a szűkítendő lista automatikusan ennek megfelelő lesz. Ez olyankor előnyös, ha általában ugyanarra a listára van szükség - ilyenkor ugyanis mindig ez fog megjelenni. A gomb megnyomásával a jobboldali listában kiválasztott szűrést tehetjük alapértelmezéssé, ilyenkor ez megjelenik az Alapértelmezés felirat alatti keretben, és automatikusan törli a korábbit. A jobboldali négy gomb az éppen aktuális szűrésre vonatkozik, ami a Szűrés feliratú mezőben jelenik meg. Ennek tartalma változtatható a billentyűzetről, illetve a listák egy elemének kiválasztásával is. Megjegyzés: ehhez az aktuális névhez még nem feltétlenül vannak feltételek hozzárendelve.
S SDA Stúdió Kft.
4. oldal
NEPTUN_FDL_META A Szűrés szerkesztése gomb megnyomásakor egy új ablak - Szűrések szerkesztése jelenik meg, amiben megadhatóak a listát szűkítő feltételek. Ha onnan az OK gombbal térünk vissza, akkor egy kérdés jelenik meg, hogy a program elmentse-e a szerkesztett szűrést. Ha itt nemmel válaszolunk, akkor a szűrés neve alatt megjelenik a Nincs elmentve felirat. Ha a már létező szűrés SQL nyelven lett módosítva (ezt csak rendszeradminisztrátor teheti meg), akkor az SQL szerkesztő ablakban jelenik meg a szűrés. A Mentés gomb megnyomásakor - ha kint van a Nincs elmentve felirat - az aktuális néven a legutoljára létrehozott ill. szerkesztett szűrés kerül tárolásra. A Másolat gomb megnyomásakor az aktuális szűrésről - ha az létezik már, azaz benne van a baloldali listában - másolat készíthető új néven egy külön ablakban saját részre, illetve kari és rendszeradminisztrátorok készíthetnek másolatot más egyének részére is. Lehetőség van az elkészített szűréseket másoknak átadni fájlon keresztül is, erre szolgálnak az Export fájlba/Import fájlból funkciók. A Törlés gomb megnyomásakor - újbóli megerősítés után - az aktuális szűrés törlődik a baloldali listából. A bal oldali listában több elem is kijelölhető*, és így egyszerre törölhető. /* Több elem együttes kijelölése a Windowsban szokásos módon történik: az elemre való kattintás alatt lenyomva kell tartani vagy a Shift vagy a Ctrl gombot. Az előbbi esetén intervallum, az utóbbinál különálló listaelemek jelölhetők ki./ Új szűrés létrehozásához adjunk meg egy új - a baloldali listában még nem létező nevet, majd nyomjuk meg a Szűrés szerkesztése gombot. Már meglévő szűrés módosításához válasszuk ki azt valamelyik listából, és nyomjuk meg a Szűrés szerkesztése gombot. Ha egy olyan szűrést akarunk létrehozni, amelyik csak kis mértékben különbözik egy már meglévőtől, vagy egy létezőt akarunk tovább finomítani, de úgy, hogy az eredeti is megmaradjon, akkor erre két lehetőség van. Vagy először másolatot készítünk a már meglévőről, és utána ezt az újat szerkesztjük, vagy pedig a meglévőt szerkesztjük, de visszatéréskor nem kell elmenteni, hanem megváltoztatjuk az aktuális nevet, és ezután nyomjuk meg a Mentés gombot. Az Export fájlba és az Import fájlból gombok a már megszerkesztett szűrések fájlba való kiírására és az onnan történő visszaolvasásra szolgálnak. Az Export fájlba gomb megnyomásakor a baloldali listában kijelölt szűrések kerülnek elmentésre. A fájl nevét és elérési útvonalát a megjelenő párbeszédablakban kell megadni. A létrehozott fájlok kiterjesztése .fdl lesz. Az Import fájlból gomb megnyomásakor szintén megjelenik egy párbeszédablak, itt kell megadni a beolvasni kívánt fájl nevét. Beolvasás után a fájlban lévő szűrések kijelölve megjelennek a baloldali listában; ha már létezett olyan nevű szűrés, akkor az ’ (Új 1)’ toldalékkal egészíti ki a szűrés nevét. Ha így is létező szűrésnevet kapnánk, akkor az Új utáni számot addig növeli, amíg szükséges. (Megj.: a program a szűréseket a fájlba XML formátumban írja ki, elvileg szerkeszthető tetszőleges szöveges editorban, de nem ajánlott.)
S SDA Stúdió Kft.
5. oldal
1.1.3. Szűrések szerkesztése ablak 1.1.3.1. A feltételek megadásának elve. Paletta fogalma. A feltételrendszer megadásához szükséges, hogy a valóságot, a felsőoktatási Intézménnyel kapcsolatos fogalmakat valamiképpen modellezzük. Az itt használt modell hierarchikusan épül fel, melynek az alapegysége a paletta. A paletta a hétköznapi életben valamiképpen összetartozó dolgoknak a gyűjteménye, például a festők palettája tipikusan a színeket tartalmazza, és a különböző palettái a különböző színek árnyalatait tartalmazhatja. Ehhez hasonlóan itt is egy paletta a valamiképpen összetartozó fogalmakat tartalmazza, nevezetesen egy létező dolog tulajdonságait. Ez a létező fogalom lehet például a ‘hallgató’, s ekkor a tulajdonságai lehetnek a ‘neve’, ‘címe’, ‘anyja neve’, ‘gyerekeinek száma’, stb.; lehet a ‘tárgy’, s ekkor a tulajdonságok, pl.: ‘neve’, ‘kódja’, ‘hány kredites’, stb.; lehet a ‘kurzus’ (tulajdonságok: ‘kód’, ‘nyelv’, ’típus’, stb.); vagy lehet egy elvontabb fogalom is, mint például az ‘index bejegyzés’ ennek leírására szolgálhatnak a ‘típus’ (pl.: vizsgajegy, félévközi jegy, szigorlat stb.), ‘eredmény’, ‘bejegyzés dátuma’ tulajdonságok. Egy paletta tehát a létező fogalmak úgymond statikus tulajdonságait tartalmazza, melyek közvetlenül a fogalomra vonatkoznak. Egy létező fogalmat azonban nem csak a tulajdonságai, hanem a környezetéhez való viszonya, vagyis a kapcsolatai is jellemzik. Pl.: egy hallgatót az indexében található bejegyzések és az általa látogatott kurzusok (felvett tárgyak) is jellemzik. Ez azt jelenti, hogy a ‘hallgató’ és a ‘kurzus’ paletta között kapcsolat van, és ez a kapcsolat kétirányú (hallgató, aki jár valamilyen kurzusra ill. kurzus, amire jár valamilyen hallgató). A tulajdonságok és kapcsolatok között azonban egy kicsit elmosódik a határ, hiszen pl. az ‘anyja neve’ tulajdonság helyett a valóságot jobban modellezné, ha lenne egy ‘anya’ paletta, aminek az egyik tulajdonsága a neve, és kapcsolatot létesítenénk a ‘hallgató’ és az ‘anya’ paletta között. Mivel azonban az ‘anya’ paletta semmilyen más tulajdonsága nem lényeges számunkra, ezért egyszerűsíti a modellt, ha ezt külön paletta helyett egyetlen tulajdonságként kezeljük. A palettáknak megfeleltethető egy lista, például a ‘hallgató’ palettának a rendszerbe bevitt összes hallgató. Ha azonban ennek a palettának valamely elemére megadunk egy feltételt (pl.: ‘neve’=Kovács), akkor ez a lista már csak a feltételnek eleget tevő hallgatókat fogja tartalmazni (a Kovács nevűeket). Szűkíteni lehet a kapcsolatok alapján is, pl. azok a hallgatók, akik járnak angol nyelvű kurzusra (van kapcsolatuk a ‘kurzus’ palettával, amelyiknél a ‘nyelv’ tulajdonság angol). Szemléletesen ez úgy képzelhető el, hogy a ‘kurzus’ paletta, ahol ‘nyelv’=angol, az angol nyelvű kurzusoknak a listája, és a hallgatók, akikre kíváncsiak vagyunk, azok, akik ebből a listából valamelyik kurzusra járnak. Tekintsünk egy példát. Azokra a 25 évnél idősebb budapesti hallgatókra vagyunk kíváncsiak, akik a Villamosmérnöki karra járnak és van angol középfokú nyelvvizsgájuk. Ezt a fent leírt modell alapján úgy fogalmazhatjuk meg, hogy annak a ‘hallgató’ palettának megfelelő listát szeretnénk megkapni, amelyik tulajdonságai között szerepelnek a ‘születési év’<1975 (feltéve, hogy 2000-et írunk) a ‘Lakhely városa’=Budapest feltételek, valamint rendelkezik kapcsolattal a ‘kar’ palettához, ahol ‘kód’=VI a ‘nyelvvizsga’ palettához, ahol ‘nyelv’= angol és ‘fok’=közép.
S SDA Stúdió Kft.
6. oldal
NEPTUN_FDL_META
Tehát a szűrések felépítését a fogalmak tulajdonságai és kapcsolatai, és a kapcsolatok hierarchiája határozza meg. Szemléletesen: Hallgató tulajdonságai: - születési év < 1972 - Lakhely városa = Budapest kapcsolatai: - Kar tulajdonságai: - kód = VI kapcsolatai : nincsenek - Nyelvvizsga tulajdonságai: - nyelv = angol - fok = közép kapcsolatai : nincsenek
S SDA Stúdió Kft.
7. oldal
1.1.3.2. Egy paletta tulajdonságainak megadása
1.2. ábra: Szűrések szerkesztése
A tulajdonságokhoz feltételt a tulajdonság neve alatti mezőben lehet megadni. A kis és nagybetűk között különbség van. Ezekben a mezőkben használhatóak úgynevezett jokerkarakterek is: ? (kérdőjel) - egy darab tetszőleges karaktert helyettesít * (csillag) - tetszőleges számú (nullát is beleértve), tetszőleges karaktert helyettesít Például: ‘Sz*ó’ magában foglalja a Szabó és a Szántó, de a Szó nevet is, vagy a ‘k?r’ mintára illeszkedik a kár és a kér szó, de nem illeszkedik a kr és a kavar szó. Alapértelmezésben a * odakerül minden beírt szó végére, azaz az ábrában látható ‘Kovács’ ‘Kovács*’-ként értelmeződik. Ez elkerülhető, ha a szó elé egy egyenlőségjelet teszünk (‘=Kovács’). Ha nincs szükség a szó végén a csillagra, akkor érdemes kitenni az egyenlőségjelet, mert ekkor gyorsabb lesz a lista előállítása. Hasonlóképpen használhatóak a ‘<’, ‘<=’, ‘>’, ‘>=’ karakterek is, ami szöveges mezőnél az abc szerinti rendezés alapján történik (Figyelem! A magyar ékezetes karakterek az angol betűk után következnek!), a számoknál pedig numerikusan (Megj.: Nem minden számot tartalmazó mező értelmeződik számként, például az irányítószámok vagy a különböző kódok, hiszen itt a számérték nem hordoz extra információt.). A szöveges mezőkben használható az ‘ és ’ és a ‘ vagy ’ kifejezés (pl.: ‘Kovács vagy Szabó’), és a sor elején álló ‘nem ’ kifejezés, ami az egész sorra vonatkozik (pl.: ‘nem Kovács’ - a nem Kovács nevű emberek, Figyelem! ‘nem Kovács vagy Szabó’ - a nem Kovács és nem Szabó nevű emberek). A numerikus mezőkben használható az ‘ és ’ és a ‘ vagy ’ kifejezés is. Mindkét mezőtípusnál az ‘ és ’ értékelődik ki hamarabb, azaz a ‘>=10 és <=20 vagy >30 és <40’ kifejezés a 10-től 20-ig és a 31-től 39-ig terjedő számokat jelenti. Olyan feltételt is meg lehet adni, mely arra vonatkozik, hogy az adott mező ki van-e töltve, vagy sem. Ennek segítségével lehet kilistázni, például azokat a hallgatókat, akiknek még nincs megadva valamilyen adata. A megadás módja: ’!’ – a mező értéke üres ’nem !’ – a mező értéke nem üres Ha egy palettának hatnál több tulajdonsága van, akkor a Következő lap gombbal lehet a többire ugrani.
S SDA Stúdió Kft.
8. oldal
NEPTUN_FDL_META Az Ok→SQL gomb csak rendszer adminisztrátornak jelenik meg, ennek megnyomása után – mielőtt visszatérne a program a korábbi ablakba – megjelenik a megszerkesztett szűrés SQL nyelvre lefordítva, melyet tovább is lehet szerkeszteni. Bármely mezőben megnyomva az ALT-h billentyűket, illetve duplán rákattintva az egérrel a következő ablak jelenik meg (jelen esetben a Lakhely városa mezőhöz tartozó ablak látható):
1.3 ábra Adatbázis mező értékei
Az ablakban található lista tartalmazza az adott mezőhöz tartozó összes olyan értéket, amely előfordul egyáltalán (azaz van ennek megfelelő bejegyzés, pl. van olyan hallgató, aki az adott városban lakik). Tehát ha ezektől eltérő adatot adunk meg, akkor a szűrésnek biztosan üres halmaz lesz az eredménye. A lista alatt található mező gyorskeresőként használható; például ‘So’-t beírva megkeresi az első ‘So’-val kezdődő bejegyzést. Ha a listából kiválasztjuk a feltételként használni kívánt értéket (nem feltétlenül egyezik meg a gyorskereső mezőben lévő értékkel), akkor a Beszúr gomb megnyomásának hatására ez az érték a Szűrések szerkesztése ablak megfelelő mezőjébe, másolódik (a kurzor által mutatott helyre). Egy paletta kapcsolódásainak megadása
S SDA Stúdió Kft.
9. oldal
NEPTUN_FDL_META
1.4 ábra: Szűrések szerkesztése
Az itt látható listában jelennek meg a kapcsolódások, jelen esetben egy képzéshez tartozóak. A megfelelő paletta kiválasztása után az Ugrás a kapcsolódásra gomb megnyomásával léphetünk az adott palettára. Ugyanezt az eredményt érhetjük el, ha duplán klikkelünk a palettanéven. A Visszaugrás gomb hatására visszamehetünk az eggyel korábbi szintre. A *-gal megjelölt paletták „negált” kapcsolatot jelentenek, azaz például ha a Hallgatók palettából a Nyelvvizsga*-ra ugrunk, és ott megadjuk a középfokú C feltételt, akkor azokat a hallgatókat hozza le, akik nem rendelkeznek középfokú C típusú nyelvvizsgával. Paletták statisztikus jellemzői Lehetőség van olyan típusú feltétel megadására is, mely azokat a hallgatókat takarja, akik legalább két képzésre járnak. Ehhez a hallgatók palettánál létre kell hozni egy kapcsolódást a Képzés adatlap palettára, és a Képzés adatlap darabszáma feliratú mezőbe be kell írni a megfelelő feltételt. Erre a mezőre ugyanazok érvényesek, mint a paletták numerikus tulajdonságú mezőire. Ilyen feltétel bármelyik palettára megadható az első kivételével, hiszen ez a paletta egy listát jelenít meg, és nem egy számot. A szűrési feltétel fája:
S SDA Stúdió Kft.
10. oldal
NEPTUN_FDL_META
1.5 ábra: Szűrési feltétel fája
Ebben a fában szemléletesen jelenik meg az eddig megadott feltételrendszer a Feltétel megadásának elve című alfejezetben megadott hierarchiának megfelelően. A Szűrési feltételek megjelenítése feliratú doboz ‘kicsekkelése’ után a fa csak a palettákat, illetve azok kapcsolódásait fogja mutatni, de a palettákhoz megadott feltételeket nem. Az Ugrás a kiválasztott palettára gomb megnyomására a kiválasztott paletta tulajdonságai jelennek meg a megadott feltételekkel. Ugyanezt eredményezi a dupla klikkelés a palettanéven.
S SDA Stúdió Kft.
11. oldal
1.1.4. Paraméteres szűrések megadása Lehetőség van olyan általánosított szűréseket is létrehozni, melyekben bizonyos feltételeket csak a szűrés végrehajtásakor kell megadni. Ezek a feltételek létrehozáskor mint paraméterek szerepelnek. Ez főleg olyankor hasznos, ha bizonyos szűrések sok feltételben megegyeznek, és csak néhányban térnek el; ilyenkor elég, ha az eltérő feltételeket egy-egy paraméterrel jelöljük, és a különböző értékeiket csak a végrehajtáskor adjuk meg. A Szűrések szerkesztése ablakban, az egyes mezőkben a később megadandó feltételeket ’:paraméternév’ alakban kell megadni, ahol paraméternév összefüggő karaktersorozat. Egy-egy paraméter csak egyetlen adatot jelent, tehát később, értékének megadásakor nem lehet semmilyen relációt vagy logikai kifejezést sem megadni (=, >, <, és, vagy, stb.). Ellenben egy mezőben szerepelhet több paraméter is; pl.: ’>=:alsókorlát és <=:felsőkorlát’. Végrehajtáskor egy listában megjelenik az összes paraméter a megadott névvel, és mindegyik mellé meg kell adni egy értéket. Például:
1.6. ábra: Paraméterek
A példában – ha alsókorlát, felsőkorlát a név mezőben szerepel, Város pedig a lakhelyet jelenti – azon budapestiek kerülnek kilistázásra, akiknek a neve F, G, H, vagy I betűk valamelyikével kezdődik (és persze teljesítik az összes többi, létrehozáskor megadott feltételt).
S SDA Stúdió Kft.
12. oldal
1.1.5. SQL szerkesztő ablak
1.7 ábra. SQL szerkesztő
Ebben az ablakban a már megszerkesztett szűrés SQL nyelvre lefordítva jelenik meg. Ezt a kifejezést szerkeszteni, módosítani csak rendszer adminisztrátornak van joga, mert ehhez szükséges az SQL nyelv szintaxisának, illetve az adatbázis szerkezetének ismerete. Az SQL szintű leírásnál is megadhatóak paraméterek az alábbi formátumban: :típus:paraméternév ahol típus egy azonosító szám. Értékei és jelentésük: ! 1 - a megadott érték szöveg (idézőjelek közé kell tenni) ! 2 - szövegkezdet (*-ot tesz a végére, és idézőjelek közé teszi) ! 3 - szám (nem egészíti ki a program semmivel) ! 4 - dátum (megfelelő formátumra konvertálja) Ha általános listák/statisztikák készítése közben jutottunk el ebbe az ablakba, akkor a logikai feltétel helyett a teljes lekérdezést meg kell adni, azaz SELECT-tel kell kezdődnie. Ha a változtatásokat el akarjuk menteni, akkor az Ok gomb megnyomása után feltett megerősítő kérdésre is igenlően válaszoljunk. Ilyenkor a későbbiekben a szűrést már csak SQL szinten lehet majd szerkeszteni.
S SDA Stúdió Kft.
13. oldal
1.1.6. Másolat készítése ablak
1.9. ábra. Másolat készítése
Kari és rendszer adminisztrátorok választhatnak, hogy saját maguknak vagy pedig más személynek akarnak másolatot készíteni a szűrésről; ezt az ablak alsó részén adhatják meg. (1.9.ábra) Az összes többi felhasználó csak saját részre készíthet másolatot, nekik nem is jelenik meg a választási lehetőség. Ha a másolat saját részre készül, akkor a szűrés új példányának nevét kell megadni az ablak közepén levő mezőben, ha viszont más személy, illetve személyek részére készül, akkor e személy, illetve személyek egyénkódját kell megadni vesszővel elválasztva; ilyenkor az Ok gomb megnyomására minden megadott felhasználónál megjelenik a szűrés az eredeti néven.
S SDA Stúdió Kft.
14. oldal
1.2. Általános listák/statisztikák készítése 1.2.1. Használata Tetszőleges tartalmú tetszőlegesen szűkített listát elő tudunk állítani a Listák szűrése fejezetben leírt módszer segítségével. Kezdetben csak ki kell választani, hogy mi legyen a lista tartalma (hallgatók, tárgyak, stb.), majd pedig megadni a szűrőfeltételeket. Ezen kívül lehetőség van megadni azt is, hogy mely tulajdonságokat kívánjuk a listában megjeleníteni (név, cím, átlag, stb.). Továbbá bizonyos mezők értékeit párhuzamos oszlopokba is lehet „fejteni”. Az ily módon létrehozott feltételrendszert el lehet menteni, és később újra lehet hivatkozni rá, épp úgy, mint a kötött listák szűrésénél. A statisztika készítése ezzel teljesen megegyező módon történik, hiszen csak annyi a különbség, hogy például nem minden egyes hallgató neve és féléves átlaga jelenik meg, hanem csak az, hogy hány hallgató van a listában, és például még az, hogy mennyi volt a legmagasabb és a legalacsonyabb féléves átlag. A párhuzamos oszlopokat tartalmazó listák az olyan eredményhalmazok jobb áttekinthetőségét szolgálják, ahol egy adott tulajdonság különböző értékei visszatérően szerepelnek egy másik tulajdonságcsoport különböző értékkombinációival. A tulajdonságcsoport persze jelenthet egyetlen tulajdonságot is. Például ha egy olyan listát készítünk, amelyik azt tartalmazza, hogy melyik szakon melyik városból hány hallgató tanul, akkor egy ilyen jellegű listát kapunk eredményül: Szak Város Lét szám Angol tanár Ajka 3 Angol tanár Budapest 84 Angol tanár Debrecen 15 Angol tanár Kispiripócs 1 Angol tanár Vác 11 Német tanár Budapest 75 Német tanár Debrecen 22 Német tanár Esztergom 13 Német tanár Vác 2 Olasz tanár Ajka 4 Olasz tanár Budapest 43 Olasz tanár Debrecen 31 Olasz tanár Esztergom 6 Olasz tanár Vác 6 Itt a Város tulajdonság értékei ismétlődően szerepelnek a Szak tulajdonság egyes értékeivel. Ha azt akarjuk, hogy egy-egy szakhoz csak egy-egy sor legyen a táblázatban, ahhoz a Város tulajdonság különböző értékeit (Ajka, Budapest …) a fejlécben kell szerepeltetni. Ekkor a Létszám oszlopot párhuzamos oszlopokba fejtjük a város különböző értékeinek megfelelően, és így egy sokkal áttekinthetőbb listát kapunk:
Szak Angol
A jka 3
S SDA Stúdió Kft.
Bud apest 84
Deb recen 15
Eszt ergom
15. oldal
Kispi ripócs 1
V ác 1
NEPTUN_FDL_META tanár Német tanár Olasz tanár
1 75
22
13
43
31
6
1 1
4
6
Több tulajdonságot is ki lehet emelni a fejlécbe, például tovább lehet bontani a fenti táblázat párhuzamos oszlopait a Neme tulajdonság Férfi, Nő értékeinek megfelelően. Ilyenkor arra kell vigyázni, hogy a párhuzamos oszlopok számát a fejlécbe kiemelt tulajdonságok különböző értékeinek szorzata fogja meghatározni. Tehát 50 város és 2 nem esetén 100 oszlop fog keletkezni.
S SDA Stúdió Kft.
16. oldal
1.2.2. Kezelése
1.10. ábra. Általános lista kezelése
A kiindulópont a NEPTUN_TÖRZS modulban a Karbantartás lapon a Lista/Statisztika pont kiválasztásával érhető el. Itt megjelenik egy lista, mely kezdetben egyetlen elemet sem tartalmaz. Ez alatt két legördülő lista is található: a ‘Típus’ nevűben lehet kiválasztani, hogy mi legyen a lista tartalma, azaz például hallgatókról, tárgyakról vagy képzésekről tartalmazzon információkat. Ezután a jobboldaliból lehet egy, már korábban létrehozott feltételrendszerre hivatkozó nevet kiválasztani, mely hatására megjelenik a kívánt lista. A listát teljes képernyőn is megjeleníthetjük, ehhez az oldal jobb felső sarkában lévő gombot kell megnyomni. Ekkor egy maximális méretű új ablak nyílik meg. Az előző ablakba vissza lehet menni a nélkül is, hogy ezt az újat bezárnánk, így lehetőség nyílik arra, hogy a program más részeinek használata közben ez a háttérben látható és elérhető maradjon. (Megj.: ennek a listának a tartalma mindig meg fog egyezni a listák/statisztikák oldalon láthatóéval.) A lista tartalmát a Nyomtat gomb megnyomásával lehet kinyomtatni, ha van printer a géphez kapcsolva. Arra viszont figyelni kell, hogy csak azokat az oszlopokat fogja kinyomtatni (balról kezdve), amelyek még ráférnek egy A4-es oldalra.
S SDA Stúdió Kft.
17. oldal
NEPTUN_FDL_META Új feltételrendszer létrehozása vagy régi módosítása esetén a Szerkesztés gombot kell megnyomni. Ekkor a Listák/statisztikák kezelése feliratú ablak jelenik meg. 1.x. ábra. Párhuzamos oszlopokba fejtett lista Ha az eredménylista párhuzamos oszlopokat tartalmaz, akkor az, az ábrán látható
módon jelenik meg. Ilyenkor a Párhuzamos oszlopok doboz segítségével lehet változtatni, hogy a lista párhuzamos oszlopokba fejtve vagy anélkül jelenjen meg.
S SDA Stúdió Kft.
18. oldal
1.2.3. Listák/statisztikák kezelése ablak
1.11.ábra. Listák kezelése
Ez az ablak funkcióit tekintve megegyezik a Szűrések kezelése ablakkal, azzal a különbséggel, hogy nem lehet megadni alapértelmezést. A jobboldali lista tartalmának megválasztásával a tárgylapon a nagy lista alatt található legördülő listában megjelenő neveket lehet beállítani. A Szűrés szerkesztése gomb megnyomására itt azonban egy közbülső ablak jelenik meg: a Lista/statisztika előállítása, és csak azután lehet a tényleges feltételeket megadni.
S SDA Stúdió Kft.
19. oldal
1.2.4. Lista/statisztika előállítása Ezen a lapon dől el, hogy végül mit szeretnénk megjeleníteni: a szűrőfeltételeknek eleget tevő listát, vagy pedig ennek valamilyen statisztikus tulajdonságát. Listák generálása
1.12.ábra. Lista generálása
A Feltételek gomb megnyomására a Szűrések szerkesztése ablak válik láthatóvá, mely teljesen analóg a Listák szűkítése fejezetben látottal, azzal a különbséggel, hogy mindegyik mező mellett megjelenik egy csekkboksz, mely alapértelmezésben üres. Ezekkel lehet megjelölni azokat a tulajdonságokat, melyeket, illetve melyek bizonyos jellemzőit meg szeretnénk jeleníteni a végső listában. Az így megjelölt mezők jelennek meg a fent látható ablak baloldali listájában Palettanév.Tulajdonság formában. A Mező teljes útvonala tartalmazza, hogy milyen kapcsolódásokon keresztül jutottunk el a kiinduló palettától a baloldali lista éppen aktív eleméig (az aktív elem az, amelyik a listában be van keretezve - nem feltétlen azonos a kiválasztott elemmel). Tartalma csak informatív jellegű. A baloldali lista tartalmazza a megjelölt mezőket, de ezek még nem fognak automatikusan megjelenni a legenerált listában. Ehhez ugyanis át kell másolni az egyes mezőket a jobboldali listába: a bal oldali listában kijelölve meg kell nyomni a -> (jobbra nyíl) gombot. Fontos még, hogy ekkor a Függvények feliratú lehetőségek közül melyik van kiválasztva: ezt a tulajdonságát fogja a lista megjeleníteni. A Lista opció egyszerűen megjeleníti a mező lehetséges értékeit, míg például a Darabszám opció esetén azt mondja meg, hogy hány értéke van a mezőnek. Példa: ha a Hallgatók. Város neve mezőről listát szeretnénk, míg a Hallgatók. Név mezőről a darabszámot, akkor egy olyan lista fog generálódni, mely megadja, hogy az egyes városokban hány hallgató lakik. Ha listát akarunk generálni, akkor kézenfekvően legalább egy mezőről listát kell készíteni, míg az összes többi bármi lehet. A jobboldali listában lévő sorrend határozza meg a generált listában az oszlopok sorrendjét, tehát ennek megfelelő sorrendben kell ide átmásolni az egyes mezőket.
S SDA Stúdió Kft.
20. oldal
NEPTUN_FDL_META
Másolásnál egyszerre több elem is kijelölhető: SHIFT + egér bal gombja: két elem között az összest kiválasztja CTRL + egér bal gombja: mindig csak az aktuálissal (amelyikre az egér mutat) növeli a kiválasztott elemek halmazát.
1.13.ábra. Lista előállítása
Miután a jobboldali listába kerültek a lekérdezendő mezők a megfelelő sorrendben, megadhatjuk még, hogy az egyes mezőknek megfelelő oszlopok tetején milyen név jelenjen meg, milyen szélesek legyenek az egyes oszlopok, a lista mely mezők szerint legyen rendezve és hogy kell-e a listát párhuzamos oszlopokba fejteni. Ehhez a vízszintes görgetősáv segítségével arrébb lehet görgetni a két listát, hogy megjelenjen egy harmadik is. (Ekkor az eddigi jobboldali lista kerül baloldalra, és a harmadik lista lesz a jobb oldalon.) Ez tartalmazza azokat a mezőneveket, amelyek szerint rendezni kell az oszlopokat. Az első mező az elsődleges rendező, a második a másodlagos, és így tovább. Ezt azt jelenti, hogy az első mező szerint rendezi a sorokat, ha viszont több sorban megegyezik ennek az oszlopnak az értéke, akkor ezeket a második mező szerint rendezi, és így tovább. Ebbe a harmadik listába két gombbal is át lehet tenni a második listában kijelölt elemeket: a ‘Növ.’ feliratú azt jelenti, hogy az adott mező szerint növekvően kell rendezni, míg a ‘Csökk.’ esetén csökkenően (ilyenkor a harmadik listában a mező neve mellett zárójelben megjelenik a ‘csökk.’ felirat). A kettő között a mezőnéven való dupla klikkeléssel is lehet váltani. A harmadik lista alatt lehet megadni az egyes mezők oszlopnevét és hosszát. Itt mindig a második lista éppen kiválasztott elemére vonatkozó információk jelennek meg, ha azonban több van kiválasztva, csak akkor jelenik itt meg valami, ha minden egyes mezőre megegyezik az az érték. Ha ilyenkor beírunk valamit, akkor az összes kiválasztott mező azt
S SDA Stúdió Kft.
21. oldal
NEPTUN_FDL_META az értéket fogja felvenni. Ha nincs megadva semmi oszlopnévként, akkor a második listabeli mezőnév fog a generált lista fejlécében megjelenni. Ha az oszlop hosszának értéke 0, ez azt jelenti, hogy az adott oszlop a lehetséges maximális szélességen fog megjelenni. Jobb oldalon alul lehet megadni a párhuzamos oszlopokba való fejtéshez szükséges információkat. A Fejléc gombbal a második listában megjelölt mezőket tehetjük át a gomb melletti listába (maximum négyet), ezen mezők értékei kerülnek az eredménylistában a fejlécbe a korábban leírt módon. A „|| oszlop” feliratú gombbal azt az oszlopot lehet kijelölni, mely értékei a fejlécbe került mezőértékek által meghatározott párhuzamos oszlopokat fogják alkotni. A két listából mezőneveket törölni a mellettük jobbra lévő, szemetesbe mutató nyilacskát tartalmazó gombbal lehet. Megj.: az eredménylistában a párhuzamos oszlopok helyét a Fejléc listában első helyen lévő mező helye (a második középső- listában lévő helye) határozza meg. Az OK gomb megnyomása után lehetőség kínálkozik a megadott feltételek és paraméterek elmentésére. A rendszeradminisztrátoroknak megjelenik az Ok gomb mellett egy Ok→SQL feliratú is. Ez funkcióját tekintve teljesen megegyezik a Szűrések szerkesztése ablakon láthatóéval. Megj.: az oszlopok sorrendjét és hosszát a lista legenerálása után is meg lehet változtatni a tárgylapon, ezek a módosítások azonban nem kerülnek tárolásra, azaz a lista legközelebbi generálásakor már nem jelennek meg. Az oszlopok sorrendjének megváltoztatását az egyes oszlopok mozgatásával lehet elérni. Ehhez a megfelelő oszlop fejlécén le kell nyomni az egér bal gombját, addig az oszlopig kell húzni, amelyik elé ill. mögé be kívánjuk szúrni, és ekkor fel lehet engedni a gombot. A hossz változtatásához az oszlopok jobb szélén kell megnyomni az egér bal gombját, s addig nyomva tartani ill. jobbra-balra mozgatni, míg a megfelelő oszlopszélességet el nem érjük. Statisztika generálása
1.14 ábra. Statisztika generálása
S SDA Stúdió Kft.
22. oldal
NEPTUN_FDL_META Statisztika generálásakor ugyanúgy először a Feltételeket kell megadni és a megfelelő mezőket bejelölni, viszont amikor áttesszük a jobboldali listába az elemeket, akkor a ‘Lista’ kivételével valamelyik másik opciót kell választani. A választott opció az éppen kiválasztott elemekre vonatkozik. Karakter típusú mezőknél csak a Darabszám opciót lehet választani, szám típus esetén viszont bármelyiket. Ez utóbbiaknál akár több is lekérdezhető, amint az fent is látszik: a legkisebb, legnagyobb és az átlagos ösztöndíjátlagra is kíváncsiak vagyunk. A fenti példában bizonyos feltételeknek eleget tevő hallgatók darabszámát, kreditpont számuk, tanulmányi átlaguk és ösztöndíjátlaguk átlagát valamint a köztük előforduló legkisebb és legnagyobb ösztöndíjátlagot is lekérdezzük egyszerre. Az előző pontban leírtaknak megfelelően itt is meg lehet adni az oszlopok nevét, hosszát illetve a rendezés szempontjait. Fontos! Ha az első palettáról nem is akarunk statisztikát lekérdezni, egy tetszőlegeset akkor is meg kell adni! Megjegyzés: több darabszám típusú lekérdezést nem érdemes megadni, mert mindegyik azt számolja össze, hogy összesen hány sor felel meg a feltételeknek. Ok gombbal való visszatérés után itt is lehetőség van a szerkesztett feltételrendszer elmentésére.
S SDA Stúdió Kft.
23. oldal
1.3. Paletták A következő két oldalon találhatók a paletták a mezőikkel (tulajdonságaikkal) és a kapcsolódásaikkal. Megj.: nem mindegyik kapcsolódás kétirányú, a nyilak iránya azt mutatja, hogy melyik palettáról melyikre van kapcsolódás.
S SDA Stúdió Kft.
24. oldal
NEPTUN_FDL_META
S SDA Stúdió Kft.
25. oldal
NEPTUN_FDL_META
S SDA Stúdió Kft.
26. oldal
S SDA Stúdió Kft.
27. oldal
2. Évközi feladatok és követelmények megadása 2.1. Rendeltetés A szerkesztő alapvetően két funkció betöltésére alkalmas: Évközi feladatokat lehet kiírni, megadva különböző jellemzőiket (feladat típusa, értékelés skálája, pótlási lehetőségek száma és beszámításuk módja, stb.). Ennek segítségével lehetővé válik a hallgatók eredményeinek regisztrálása, azaz az itt megadott feladatokhoz a félév folyamán később meg lehet adni az egyes hallgatók által elért eredményt, illetve a feladat teljesítésének tényét. Követelményrendszer állítható össze a megadott feladatokból (pl.: három kis zh átlaga legalább kettes, és a nagy zh legalább negyven pontos lett), aminek segítségével a félév végén automatikusan lehet aláírást generálni a hallgatóknak, ha a feladateredményeik regisztrálva lettek: a program képes ugyanis az egyes hallgatókra kiértékelni egy-egy ilyen követelményrendszert, megadva, hogy teljesítette-e vagy sem, és az előbbi esetben ‘beírni’ az aláírást. Ezen kívül a felület alkalmas tájékoztatásra is, mivel a hallgatók itt meg tudják nézni az adott tárgy adott kurzusán kiírt feladatokat, és a félév teljesítéséhez szükséges követelményeket, illetve az ezekhez esetleg kapcsolódó járulékos információkat, mint például a feladat beadásának határidejét, vagy a zárthelyi dolgozatok helyét és időpontját.
S SDA Stúdió Kft.
28. oldal
2.2. Az információs ablak Ez a szerkesztő központi ablaka: itt jelenik meg az összes információ a feladatokkal és a követelményekkel kapcsolatban; innen lehet kezdeményezni újabbak létrehozását, illetve már meglévők módosítását, törlését. Az ábrán egy tantárgyhoz kapcsolódó lehetséges évközi feladatokra, és a belőlük alkotott követelményekre látható példa.
2.1 ábra. Évközi követelmények
A felső részben találhatók a tárgyhoz kapcsolódó feladatok és ezek jellemzői: a feladat megnevezése és típusa, az értékelés skálája, a pótlási lehetőségek száma illetve a pótlások beszámításának módja, illetve a feladathoz esetleg kapcsolódó terem és időpont. Az alsó részben a feladatokból összeállított követelmények láthatóak sorszám alapján elkülönítve egymástól, és logikai műveletekkel (ÉS, VAGY) összekapcsolva. Az ÉS-sel összekapcsolt követelményeket egyidejűleg, míg a VAGY-gyal elválasztott követelménycsoportokat alternatív módon kell teljesíteni, figyelembe véve, hogy az ÉS az erősebb precedenciájú művelet. Ez azt jelenti, hogy egymást helyettesítő követelményhalmazokat lehet megadni, mely halmazok teljesítéséhez azonban minden egyes benne lévő követelmény teljesítése szükséges. Az ábrán látható példán ez azt jelenti, hogy egy hallgatónak a féléves követelmények teljesítéséhez vagy az első három követelményt együtt, vagy pedig a negyedik követelményt kell teljesítenie (persze eleget tehet mind a négy követelménynek is, de ez nem jellemző a hallgatók szorgalmára). Mindkét részben van három gomb: új feladat ill. követelmény létrehozása Ennek megnyomásakor megjelenik egy-egy ablak, melyben kényelmesen megadható
S SDA Stúdió Kft.
29. oldal
NEPTUN_FDL_META minden szükséges információ egy feladat kiírásához, illetve összeállítható egy követelmény. meglévő feladat ill. követelmény szerkesztése Itt ugyanazok az ablakok fognak megjelenni, mint az új létrehozásakor, de az egyes mezők ki lesznek töltve a kiválasztott feladatnak, illetve követelménynek megfelelően. Feladatok esetében a kiválasztott elem a listában kéken megjelenő sor lesz (az ábrán a beszámoló nevű), míg követelmények esetében egy külön kis ablakban kell kiválasztani a megfelelő sorszámot (emiatt volt szükséges, hogy az egyes követelményeket megszámozzuk). meglévő feladat ill. követelmény törlése Az előző esethez hasonló módon kiválasztott elemet a szándék megerősítése után lehet törölni. (Feladatot csak abban az esetben, ha nem szerepel egyetlen követelményben sem, különben a törléshez először a követelményekből kell kivenni, vagy az ezt tartalmazó követelményeket is törölni kell.) A Mentés gombbal lehet a létrehozott, illetve módosított feladatokat és követelményeket eltárolni, ilyenkor eltűnik a bal alsó sarokból a Változott felirat. Ha mentés nélkül próbáljuk bezárni az ablakot, a program megerősítést kér ezt a szándékunkat illetően.
S SDA Stúdió Kft.
30. oldal
2.3. A feladatok megadása, szerkesztése Ebben az ablakban lehet megadni egy évközi feladatot minden járulékos információjával együtt. Az ábrán erre látható egy példa:
2.2. ábra. Feladatok jellemzői
A felső csoportban lévő mezőket kell kötelező jelleggel kitölteni: Feladat leírása Ez tulajdonképpen a feladat neve, később ezzel lehet rá hivatkozni, ez fog a követelmények szövegében is megjelenni, és a hallgatók is ezt fogják látni. Ezért érdemes nem túl hosszú, de beszédes neveket megadni, ami utal a feladat lényegére. Feladat típusa Ez a mező csak informatív jellegű, nem képezi alapját semmilyen funkciónak vagy ellenőrzésnek, mégis érdemes egy csoportba gyűjteni a hasonló feladatokat (pl.:kis zh, nagy zh, beszámoló, stb.), mert egyrészt segít a tárgyhoz kapcsolódó feladatkategóriákat vizuálisan is elkülöníteni, másrészt pedig később hasznos lehet listák generálásakor is: könnyedén meg lehet vele fogalmazni olyan jellegű szűrést, mint például: azok a hallgatók, akiknek nem sikerült valamelyik kis zhja. Értékelés skálája Itt tetszőleges pozitív egész szám megadható. Ez azt a maximális értéket adja meg, amit az adott feladatra adni lehet. Ez jelenthet százalékot, érdemjegyet, pontszámot vagy egyszerűen csak bináris (kétértékű) jelzését annak, hogy a hallgató teljesítette-e a feladatot (beadta a házit, megtartotta a kiselőadást, elvégezte a mérést, stb.). Ennek megfelelően a legördülő listából ki lehet választani a 2, 5 és 100 értékek valamelyikét, de ettől eltérő szám is megadható. 2-es skálát a bináris értékelés esetén kell megadni, ilyenkor 2-est kapnak, akik teljesítették, és 1-est, akik nem. Követelményben pedig azt kell megadni, hogy a feladat eredménye ≥2 legyen (ahol kivételesen a > jelnek nincs jelentősége, de más esetben szükséges). Az ablak alsó részén további információk adhatók meg a feladattal kapcsolatosan: Pótlási lehetőségek száma Azt adja meg, hogy a hallgatónak hányszor van lehetősége újrapróbálkozni. Ennek persze csak olyankor van jelentősége, ha valamilyen számonkérésről van szó, de például házi
S SDA Stúdió Kft.
31. oldal
NEPTUN_FDL_META feladatoknál, beadandó esszéknél az értéke tipikusan 0 lesz. Éppen ezért új feladat létrehozásakor az alapértelmezésként 0 jelenik meg. Maximális értéke 10. Pótlás beszámításának módja Ez a választási lehetőség csak akkor aktív, ha van lehetőség pótolni a feladatot, azaz a pótlási lehetőségek száma nem nulla. Azt lehet ezzel beállítani, hogy abban az esetben, ha egy hallgatónak több bejegyzése is van egy adott feladathoz (akár sikertelenség miatti ismétléssel, akár elégedetlenség miatti javítással szerezte), akkor ezek közül melyik eredmény számítson a követelmények kiértékelésekor: Utolsó A legutoljára beírt bejegyzés értékét használja. Javítás esetén ez azt jelenti, hogy lehet rontani is. Legjobb Sikertelenség miatti újraírásnál épp úgy, mint az előzőnél, a sikeres eredmény fog számítani (tipikusan a legutolsó a legjobb). Javításnál viszont a megszerzett eredmény csak akkor fog számítani, ha az jobb az előzőnél. Átlag Előfordulhat olyan igény is, hogy pl. az ütemterv szerint teljesítők preferálva legyenek, azaz a pót zh-n megszerzett eredmény gyengébbnek számítson a követelmények ellenőrzésekor, ilyenkor az összes megszerzett eredmény átlaga szolgáltatja a végső jegyet, illetve pontszámot. Például ha valaki egy 1-es zh után 5-öst ír, akkor az csak 3-asnak fog számítani. Ha viszont csak 2-est ír, és valamelyik követelményben erre a feladatra legalább 2-es megszerzése van előírva, akkor ezt nem teljesíti, hiszen csak 1,5-ös eredményt ért el. Teljesítés dátuma/határideje Ezt a mezőt nem kötelező kitölteni, tartalma csak informatív jelleggel bír, mégis érdemes kitölteni a hallgatók tájékoztatása és emlékeztető jellege miatt. Tetszőleges, tíz karakter hosszú szöveg, dátum beírható. Kapcsolódó terem Ezt sem kötelező megadni, sőt sok esetben nincs is értelme, ha viszont van, akkor az előzőhöz hasonlóan ezt is érdemes megadni. Ez a Választ gomb megnyomásával tehető meg, ekkor az alábbi ablak fog megjelenni, melyben a megfelelő sort ki kell választani:
2.3. ábra Terem kiválasztás
Megj.: ez a rész nincs összekötve a teremkezelő programmal, tehát az itteni megadás előtt a termet a hivatalos teremkiosztó csoportnál le kell foglaltatni!
S SDA Stúdió Kft.
32. oldal
NEPTUN_FDL_META
S SDA Stúdió Kft.
33. oldal
2.4. Tippek a feladatok megadásához Sokféleképpen megfogalmazható a rendszer számára ugyanaz a feladat- és követelményrendszer, hogy mikor melyiket érdemes használni, az gyakorlatilag azon múlik, hogy mennyire részletesen kell az eredményeket adminisztrálni. Ehhez nyújtanak segítséget az alábbi ötletek, eligazítások: A legkézenfekvőbb megoldás, ha minden valós feladathoz a rendszerben is kapcsolódik egy feladat a megfelelő értékelési skálával. Így a legátláthatóbb a követelményrendszer is. Ha azonos típusú feladatoknak vagy ezek egy részhalmazának csak a megléte számít (azaz az előző esetben bináris az értékelési skála, és a követelmény: a feladatok (közül a legjobb k db) eredménye nagyobb vagy egyenlő, mint 2), akkor ez megadható egyetlen feladatként is, pl. ‘kiszh-k’, ’mérések’, ’laborok’ néven, melynek értékelési skálája megegyezik a feladatok számával, a követelmény pedig: a feladat eredménye nagyobb vagy egyenlő, mint k . A követelmények szerkesztése és így az automatikus aláírás generálás szempontjából is lényegtelen, hogy a sikertelen próbálkozások adminisztrálva vannak-e vagy sem (kivéve, ha az összes eredmény átlagát kell venni), ezért az is megtehető, hogy a pótlások számát 0nak adva, mindenkinek csak a sikeres eredménye kerül adminisztrálásra, vagy pedig az újabb, javított eredménnyel felülírásra kerül a régi.
S SDA Stúdió Kft.
34. oldal
2.5. A követelmények megadása A korábban megadott feladatok felhasználásával összetett követelményrendszer fogalmazható meg az aláírás feltételeként. Ez az összetett követelményrendszer elemi követelmények logikai ÉS illetve VAGY kapcsolatából áll elő. Ebben az ablakban az egyes elemi követelményeket lehet megszerkeszteni, illetve módosítani. Az ábrán egy ilyenre láthatunk példát:
2.4.ábra. Követelmények szerkesztése
A szerkesztés menete a következő: Ki kell választani a feladatok közül, hogy melyeknek az eredményére vonatkozik a feltétel. Ez a Feladatok listában az egyes feladatokon jobb egérgombbal való kattintással vagy pedig a Space megnyomásával tehető meg. Újabb kattintás illetve leütés a kiválasztott feladaton kiveszi ezt a kiválasztottak közül. Ha nem szükséges a kiválasztott feladatok közül az összest teljesíteni, csak k darabot, akkor becsekkelve a Legjobb opciót, a mellette lévő mező értékét k-ra kell állítani. Ha mindegyikre szükség van, úgy ezt ki kell csekkelni. k értéke maximálisan a kijelölt feladatok száma mínusz egy lehet. Ha annyira csökkentjük a kijelöltek számát, hogy ez ne teljesüljön, az opció bejelölése automatikusan törlődik. Következő lépésben azt kell megadni (ha egynél több feladat van kiválasztva, és ezek közül nem a legjobb 1-et vesszük), hogy az egyes feladatok eredményeiből hogyan származtassunk egyetlen értéket, amire aztán az alsó korlát vonatkozni fog. Ez történhet összegzéssel, átlagolással és súlyozott átlag számításával is. A súlyozott átlag választása esetén meg kell adni az egyes feladatokhoz a súlyokat is a jobb felső sarokban megjelenő táblázatban, melyet az alábbi ábra mutat:
S SDA Stúdió Kft.
35. oldal
NEPTUN_FDL_META
2.5.ábra. Követelmények szerkesztése
A táblázatban csak a kijelölt feladatok láthatóak, ezekhez a Súlyok oszlopba lehet 1-től 100-ig egész számokat megadni. Ha súlyozott átlagot számítunk, akkor nem lehet használni a Legjobb opciót; ha be volt jelölve, ez automatikusan törlődik. Az előzőek szerint származtatott, illetve az egyetlen feladat eredményéből adódó érték alsó korláthoz való viszonyát kell megadni: annál nagyobb kell, hogy legyen, vagy pedig lehet egyenlő is. A legtöbb esetben így is, úgy is megadható a követelmény (pl.: 5-ös skálán értékelt egyetlen feladat eredménye >=2 illetve >1 ugyanazt jelenti), de vannak esetek, amikor szükség lehet rá. Az alsó korlát megadása: egész vagy lebegőpontos szám lehet. A program nem ellenőrzi, hogy ez hogyan viszonyul az egyes feladatok értékelési skálájához, így megadható irreális követelmény is, tehát erre a felhasználónak kell figyelnie. A 3. pontbeli összegzés és átlagolás általában felcserélhető; ízlés dolga, hogy ki melyiket használja. Az összegzés hátránya, hogy könnyebb elrontani a követelményt (rossz számolás, újabb feladat bejelölése után az összeg növelésének elmaradása). Viszont jobban használható, ha különböző értékelési skálával rendelkező feladatokból áll össze a követelmény. Az átlagolás pedig azonos skála esetén előnyösebb. A program a felhasználó munkáját megkönnyíti azzal, hogy a pillanatnyilag megadott adatok alapján folyamatosan kiírja a követelmény szövegét az ablak alsó részében található keretben. Ezzel a módszerrel gyakorlatilag a követelmény leírására szolgáló mondatot építi fel a felhasználó, ami azután az előző szinteken lévő ablakokban is meg fog jelenni. Az Ok gomb megnyomása előtt össze kell állnia a teljes mondatnak, azaz minden szükséges mezőt ki kell tölteni. A követelmény megadása után (Ok gomb megnyomása) a program rákérdez arra a logikai műveletre, amellyel az előző követelményekhez fog kapcsolódni. Új követelmény létrehozása esetén felajánlja a választás lehetőségét, míg korábban létrehozott
S SDA Stúdió Kft.
36. oldal
NEPTUN_FDL_META szerkesztésénél arra kérdez rá, hogy megváltoztassa-e a régit. Ebből következik, hogy ha csak valamely két követelményt összekapcsoló logikai műveletet akarunk megváltoztatni, akkor ehhez a második követelményt kell szerkesztésre kiválasztani, majd rögtön megnyomva az Ok gombot, a Megváltoztat opciót kell választani.
S SDA Stúdió Kft.
37. oldal
3. A METANYELV 3.1 A metanyelv rendeltetése A NEPTUN információs rendszer széleskörű felhasználtsága miatt szükség volt arra, hogy az intézmények között eltérő, illetve az intézményeken belül is különböző tanulmányi szabályokat dinamikusan kezelje a rendszer, ezeket helyben lehessen megadni, szükség esetén módosítani, kiegészíteni, lecserélni újabb szabályokra. Az ilyen szabályrendszerek formális leírására fejlesztettük ki a metanyelvet, mely alkalmas a fenti igények kielégítésére. A metanyelv segítségével különböző kifejezéseket lehet megfogalmazni, melyek alapvetően két kategóriába sorolhatók: logikai kifejezések, melyek segítségével követelmények, feltételek fogalmazhatók meg, aritmetikai kifejezések, melyek hallgatók rangsorolásának alapjául szolgálhatnak (azaz rangsorfüggvények). Mindkét esetben ugyanaz az eszközkészlet használható: adatbázis-függvények segítségével lehet a hallgatók által elért eredményekre hivatkozni (tárgy- és nyelvvizsgaeredmény, féléves átlagok, megszerzett kreditpontszám, stb.), ezeket összeadogatni, összehasonlítani, stb. A részletes lehetőségekről később lesz szó. Logikai kifejezéssel leírható feltételek: tárgyak illetve kurzusaiknak az előkövetelményei Ennek segítségével tudja a rendszer tárgyfelvételkor automatikusan ellenőrizni, hogy az adott hallgató felveheti-e. Tipikusan itt más tárgyak teljesítése illetve nyelvvizsgának a megléte szokott lenni a követelmény. Ezeket tipikusan egy tanszéki adminisztrátor viszi be a rendszerbe a tárgy illetve kurzus kiírásakor. Mint ez érződik, egy adott tárgyra megadott feltétel érvényes a belőle kiírt összes kurzusra is, míg a kurzusoknál az eltérő követelményeket kell megadni (például idegen nyelvű kurzusnál nyelvvizsga léte az adott nyelvből). Jelentkezéskor mindkét feltételnek teljesülnie kell. mérföldkövek A tanulmányok során a következő félévre, szintre való lépés, beiratkozás feltételei. (Például csak akkor lehet elkezdeni az 5. szemesztert, ha a hallgató megszerzett 80 kreditet, van legalább egy alapfokú nyelvvizsgája, és megvan egy szigorlata is.) Ilyen feltételek kerülnek ellenőrzésre félévzáráskor is. szakirányok előkövetelményei Meg lehet adni, hogy az egyes meghirdetett szakirányokra milyen feltételek mellett jelentkezhetnek a hallgatók. Az utolsó kettőt tipikusan kari adminisztrátor adja meg. Ezek már jóval bonyolultabb kifejezések lehetnek, mint az előkövetelmények, ezért némi programozói gondolkodást, beállítottságot is igényel a megfogalmazásuk. Az aritmetikai kifejezéssel tetszőleges hallgatóhoz generálható egy szám, az ún. rangsorindex, az általa elért tanulmányi eredményekből. Ezt a számot egy hallgatócsoport minden tagjához legenerálva, majd ez alapján sorba rendezve őket, tudunk a hallgatók között rangsort felállítani. Ezt alapvetően két helyen használja a rendszer: szakirány választás alkalmával (ha korlátos az egyes szakirányokra felvehető hallgatók száma, és minden hallgató több lehetőséget is megjelölt) az előre megszerkesztett rangsorfüggvény segítségével lehet automatikusan elkészíteni a beosztást, általános rangsor is készíthető hallgatók tetszőlegesen megadott csoportjára.
S SDA Stúdió Kft.
38. oldal
NEPTUN_FDL_META Ahhoz, hogy a kifejezések segítségével mindez megfogalmazható és leírható legyen, a metanyelvnek képesnek kell lennie: hivatkozni minden, a kiértékelés pillanatában már meglévő tanulmányi adatra (pl.: tárgyak eredményei; egy adott félévben megszerzett átlag vagy kreditpont, nyelvvizsga ), ezeket összehasonlítani konkrét numerikus értékekkel (egész vagy valós) (pl.: egy féléves átlag nagyobb, mint 2.5; legalább 18 kreditpontot gyűjtött egy adott félévben), illetve ellenőrizni, hogy pl. az adott tárgyat teljesítette-e (megvan-e a vizsga vagy gyakjegy), nemcsak tárgyak, de tárgycsoportok eredményeit vizsgálni (pl.: öt tárgy közül legalább kettőt elvégzett), tehát tárgyakból ill. azok eredményeiből halmazt létrehozni, halmaz legjobb néhány elemét venni, és ezek valamilyen tulajdonságát megvizsgálni (pl.: átlag, összeg, számosság), súlyozva vizsgálni az eredményeket (pl.: a fizika kétszer akkora súllyal számít bele az átlagba, mint a kémia), tehát szorzást, összeadást értelmezni, eldönteni, hogy az adott hallgató éppen melyik képzésre vagy szakirányra jár, mert lehetnek tárgyak, melyeket csak adott képzésen vagy szakirányon lehet felvenni, illetve az is előfordulhat, hogy egy tárgynak különböző előkövetelményei vannak a különböző képzésekre járó hallgatók számára (pl. másik kódú matematikát tanultak), és az eddigiek segítségével előállított elemi logikai feltételeket összefűzni, azaz ismerni a logikai műveleteket ( konjunkció, diszjunkció, negáció ).
S SDA Stúdió Kft.
39. oldal
3.2. Szintaktika Az előbbiek alapján tehát a kifejezésben szerepelhetnek • adatbázis-lekérdező függvények, • halmazműveletek, • nyelvi szimbólumok, • numerikus konstansok, és ezekből építkezve, de különböző szabályok szerint építhetjük fel a két különböző kifejezést: a logikai kifejezést egészében, és külön-külön minden tagját is úgy kell felépíteni, hogy az eredménye egy logikai érték legyen: IGAZ vagy HAMIS az aritmetikai kifejezésnek pedig mindig egy SZÁMot kell eredményül adnia
S SDA Stúdió Kft.
40. oldal
3.2.1. Adatbázis-lekérdező függvények Az alábbiakban felsoroljuk a használható függvényeket, és leírjuk azok szintaktikáját. Egy-egy függvénnyel többfajta információ lekérdezése megvalósítható, ezeket finomítani, plusz feltételeket megadni a paraméterek segítségével lehet. Ahhoz tehát, hogy minél árnyaltabb hivatkozásokat, feltételeket meg lehessen adni, több paraméterre van szükség, amelyeket azonban nem minden esetben kell használni. Ilyenkor egy általában mindenes karakterrel ( '_' ) lehet jelezni, hogy az adott mezőt nem kell bevenni a lekérdezésbe, nem szigorítjuk vele tovább a feltételt. Az el nem hagyható paraméterek azt mondják meg, hogy tulajdonképpen mit is kérjünk le az adatbázisból, míg az elhagyhatóak további megszorításokat jelentenek. Minden paraméternél feltüntetjük, hogy melyik kategóriába tartozik. te (kód, típus, félév) → adott hallgató tárgyeredménye; ha nincs még eredménye, 0-t ad vissza kód : a tantárgy kódja (kitöltése kötelező). típus : milyen típusú tárgyeredményt követelünk meg (kitöltése kötelező). Értékei: jegy : valamilyen típusú érdemjegyet szerzett a tárgyból, azaz vagy vizsga, vagy félévközi, vagy gyakjegy, vagy szigorlat vagy pedig záróvizsga bejegyzése van az adott tárgyból. A függvény ezt az értéket fogja visszaadni. aláírás : azt adja meg, hogy a hallgató megszerezte-e már az aláírást az adott tárgyból. A függvény visszatérési értéke 1, ha megvan az aláírás, és 0, ha nincs. felvétel : azt adja meg, hogy a hallgató felvette-e egyáltalán az adott tárgyat. Ennek segítségével lehet például megadni egy féléven belül felvehető tárgyaknak előkövetelményül a másikat. A függvény visszatérési értéke 1, ha felvette, és 0, ha nem. A következő értékek pontosíthatják, hogy milyen típusú jegyet kell az adott tárgyból megszerezni: vizsga félévközi gyakjegy szigorlat záróvizsga félév : a jegy megszerzésének naptári féléve - kilenckarakteres string (elhagyható). Formátuma: tanév/félév száma (pl.: 1997/98/2) te (kód, típus, félév, kezdőindex, hossz) → kiegészített te() függvény kezdőindex, hossz: azt adja meg, hogy a kódon belül melyik részstringre kell csak az egyezést vizsgálni. Például te(xxx12345678,jegy,_,5,3) azok között a kódok között keres, ahol az 5., 6. és 7. helyen a ’234’ karakterek állnak. Ennek igazából ott van jelentősége, ahol egy adott tárgyat több kód is jelölhet. tcs (kód, típus, félév) → tárgyeredmény-kredit párosokból álló halmaz Paraméterezése ugyanaz, mint a te(…) függvényé, de egy tárgycsoport tizenegy karakteres kódját kell megadni. A típus és félév megkötés a csoportba tartozó minden tárgyra vonatkozik. A tárgycsoportba tartozó tárgyakból egy hallgató által elért eredmények, és ezen tárgyak kredit pontjai alkotta párosokból képződik a
S SDA Stúdió Kft.
41. oldal
NEPTUN_FDL_META visszatérési halmaz. Ezen halmazokban csak azon tárgyak eredményei szerepelnek, melyeket a hallgató elvégzett illetve amihez létezik valamilyen indexbejegyzése (felvette, aláírást szerzett belőle). Ilyen halmaz képezhető a te(…) függvények eredményeiből is, ha kapcsos zárójelek között soroljuk fel vesszővel elválasztva. (Pl.: {te(kód1,jegy,_),te(kód2,jegy,_)} ) (Megj.: tárgycsoportot a tárgy füzeten belül lehet létrehozni tetszőleges tárgyakból.) félév (típus, szám1 [,szám2,... ]) → lezárt félév eredményei A hallgató egy vagy több féléves összesített adatait lehet lekérdezni a típustól függően. (Mindkét paraméter kitöltése kötelező.) típus : ◊ kredit - az egy vagy több félévben megszerzett kredit pontok összege ◊ minkredit - egy félév esetén ugyanaz, mint kredit; több félév esetén az egyes félévekben külön-külön megszerzett kredit pontok közül a legkisebb ( ennek segítségével lehet megfogalmazni olyan jellegű feltételeket, mint: minden félévben legalább 18 kreditpontot megszerzett ( a legkisebb is nagyobb volt, mint 18 ) ) ◊ összkredit - az elsőtől az adott félévig összegyűjtött összes kredit pontok száma (ennél csak egyetlen félévet kell megadni) ◊ tanátlag - tanulmányi átlag: a megszerzett jegyek számtani közepe (esetleg súlyozott ); több félév esetén ua., mint minkredit (több félév esetén minden átlag ugyanígy értelmeződik, azaz a megadott félévekben megszerzett legkisebb átlagot adja vissza eredményül a függvény) ◊ ösztátlag - ösztöndíjátlag: egyetemenként az az átlag, ami alapján az ösztöndíjakat kiosztják ◊ kumátlag - kumulált átlag: az első félévtől az adott félévig elvégzett tárgyak eredményeinek átlaga ◊ státusz - egy számmal tér vissza, mely megadja, hogy az adott félévek közül hány volt aktív ◊ iv - az egy vagy több félévben ismételt vizsgák száma ◊ összes iv - az elsőtől az adott félévig az összes ismétlővizsga száma (ennél csak egyetlen félévet kell megadni) szám : a kérdéses félévek sorszáma (pozitív egész számok) egymástól vesszővel elválasztva; legalább egyet meg kell adni. nyelvvizsga (nyelv, fok, típus, kieg.) → a megszerzett nyelvvizsgák száma nyelv : értelemszerű - tetszőleges string ( elhagyható ) fok :
nyelvvizsga foka - alap, közép vagy felső ( elhagyható )
típus :
nyelvvizsga típusa - A, B vagy C ( elhagyható )
kiegészítés : pl. szakmaival bővített stb. - tetszőleges string ( elhagyható )
S SDA Stúdió Kft.
42. oldal
NEPTUN_FDL_META Ennél bármelyik paraméter elhagyható, de egyszerre a négy nem, azaz legalább az egyiket meg kell adni. képzés (kód) → jár-e a hallgató az adott képzésre A visszatérési érték 1, ha jár az adott kódú képzésre, és 0, ha nem. szakirány (kód, félév) → jár-e a hallgató az adott szakirányra A visszatérési érték 1, ha jár, és 0, ha nem. kód :
szakirány kódja
félév : szakirány meghirdetésének/elindulásának féléve, kilenckarakteres string. Formátuma: tanév/félév száma (pl.: 1997/98/2)
S SDA Stúdió Kft.
43. oldal
3.2.2. Halmazműveletek • halmazgenerátor : { } Ugyanolyan halmazt hoz létre a te(…) függvények eredményeiből, mint a tcs(…) függvény eredményhalmaza. A kapcsos zárójelek között vesszővel elválasztva lehet felsorolni tetszőleges számú te(…) fv.-t. Például ha BMEVIMM1111 és BMEVIMM2222 kódú tárgyakból áll a BMEVIMMCSOP kódú csoport, akkor a tcs(BMEVIMMCSOP,felvétel,1982/83/1) függvényhívás és a {te(BMEVIMM1111,felvétel,1982/83/1), te(BMEVIMM2222,felvétel,1982/83/1)} halmazgenerálás ugyanazt az eredményt szolgáltatja. • halmazszűrők : legjobb n , legrosszabb n A fenti módokon generált halmazokat lehet szűkíteni legfeljebb n eleműre (n egy pozitív egész szám); ha n-nél kevesebb elem volt eredetileg a halmazban, akkor nem csinál vele semmit. • halmazredukciós függvények (a halmazból egyetlen értéket képeznek): ◊
min : a halmazt alkotó tárgyeredmények közül a legkisebbet adja vissza eredményül
◊
átlag : a halmazt alkotó tárgyeredmények számtani közepét adja vissza eredményül
◊
súlyozott átlag : a halmazt alkotó tárgyeredményeknek a hozzájuk tartozó kredit pontokkal vett súlyozott átlagát adja vissza eredményül
◊
összeg : a halmazt alkotó tárgyeredmények összegét adja vissza eredményül
◊
súlyozott összeg : a halmazt alkotó párosok tárgyeredmény*kredit pont szorzatának összegét adja vissza eredményül
◊
kredit összeg : a halmazt alkotó párosokból a kreditek összegét adja vissza eredményül
◊
# (számosság) : a halmaz elemszámát (a párosok számát) adja eredményül. (tcs esetén például ennek segítségével lehet megállapítani, hogy hányat vett már fel a hallgató az adott tárgyak közül.)
S SDA Stúdió Kft.
44. oldal
3.2.3. Szimbólumok • logikai műveletek : ÉS, VAGY, NEM, zárójelezés: ( ) (Nagybetűvel írandók.) A kiértékelés folyamán csak a szükséges részek kerülnek ellenőrzésre, azaz ha egy ÉS kapcsolat első tagja hamis, vagy egy VAGY kapcsolat első tagja igaz, akkor a második tag már nem kerül kiértékelésre. • feltételes elágazás (csak rangsor esetén): HA ... AKKOR ... EGYÉBKÉNT ... ill. HA ... AKKOR ... EGYÉBKÉNTHA ... AKKOR ... EGYÉBKÉNT ... (Nagybetűvel írandók.) A HA kulcsszó után lehet beírni a logikai feltételt, amelynek teljesülése esetén az AKKOR utáni rész értékelődik ki. Ha a feltétel hamis, akkor két eset lehetséges: ha az EGYÉBKÉNT kulcsszó szerepel, akkor az utána következő kifejezés értékelődik ki, ez a kifejezés határozza meg a rangsorfüggvény értékét. ha az EGYÉBKÉNTHA kulcsszó szerepel, akkor újabb feltételt lehet beírni. Az EGYÉBKÉNTHA szintaktikája megegyezik a HA kulcsszó szintaktikájával, azaz AKKOR és EGYÉBKÉNT ága lehet, de újabb EGYÉBKÉNTHA is szerepelhet az EGYÉBKÉNT helyett. Az EGYÉBKÉNTHA alkalmazásával tetszőleges számú logikai feltételt írhatunk le. • matematikai műveletek : + , * - csak akkor van rájuk szükség, ha súlyozni akarunk valamit ( leginkább tárgyeredményt ), ezek viszont megoldhatóak az összeadás és a szorzás segítségével • matematikai relációk : >, >=, <, <=, (=) - egyenlőségre logikai kifejezéseknél nincs szükség, mert csak alsó korlátokat szoktak megadni, pl.: legalább 2,5 volt az átlag; egy tárgyat elvégzett, azaz eredménye legalább kettes volt; stb. aritmetikai kifejezéseknél természetesen lehet használni, hiszen ott esetszétbontáskor van rá szükség
S SDA Stúdió Kft.
45. oldal
3.2.4. Numerikus konstansok Pozitív egész vagy valós számok, melyek a 0-9 számjegyekből álló egészrészből és valósaknál a ponttal vagy vesszővel elválasztott tizedes jegyekből állnak.
S SDA Stúdió Kft.
46. oldal
3.3. A metanyelv nyelvtana A pontos szintaktikai eligazítást a következő két oldalon található nyelvtan adja meg. Az első a logikai értéket eredményül adó kifejezések nyelvtana, míg a második az aritmetikai értéket eredményül adó kifejezések szintaxisát írja le. <előköv., mérföldkő kifejezés> =
= VAGY | ÉS | () | NEM () | <elemi logikai kifejezés> | NEM <elemi logikai kifejezés> | <elemi logikai kifejezés> = <aritmetikai kifejezés> <aritmetikai kifejezés> = < | <= | > | >= <aritmetikai kifejezés> = <súlyozott összeg> | <elemi aritm. kifejezés> <súlyozott összeg> = <súlyozott összeg> + <elemi tag> | <elemi tag> <elemi tag> = <elemi tag> * <elemi aritm. kifejezés> | <elemi aritm. kifejezés> <elemi aritm. kifejezés> = | <szám> = félév(…) | te(…) | nyelvvizsga(…) | képzés(…) | szakirány(…) | (<szűkített halmaz>) = átlag | súlyozott átlag | összeg | súlyozott összeg | kreditösszeg | min | # <szűkített halmaz> = legjobb <egész szám>() | legjobb <egész szám>() | = {te(…),…,te(…)} | tcs(…) <szám> = egész vagy lebegőpontos szám <egész szám> = pozitív egész szám = <aritmetikai kifejezés> <aritmetikai kifejezés> = <aritmetikai kifejezés> + <aritmetikai kifejezés> | <aritmetikai kifejezés> * <aritmetikai kifejezés> | (<aritmetikai kifejezés>) | [HA AKKOR <aritmetikai kifejezés>
S SDA Stúdió Kft.
47. oldal
NEPTUN_FDL_META <ellenkező eset>] | <elemi aritm. kifejezés> <ellenkező eset> = EGYÉBKÉNTHA AKKOR <aritmetikai kifejezés> <ellenkező eset> | EGYÉBKÉNT <aritmetikai kifejezés> <elemi aritm. kifejezés> = | <szám> = félév(…) | te(…) | nyelvvizsga(…) | képzés(…) | szakirány(…) | (<szűkített halmaz>) = átlag | súlyozott átlag | összeg | súlyozott összeg | kreditösszeg | min | # <szűkített halmaz> = legjobb <egész szám>() | legjobb <egész szám>() | = {te(…),…,te(…)} | tcs(…) = VAGY | ÉS | () | NEM () | <elemi logikai kifejezés> | NEM <elemi logikai kifejezés> | <elemi logikai kifejezés> = (<aritmetikai kifejezés> <aritmetikai kifejezés>) = < | <= | > | >= | = <szám> = egész vagy lebegőpontos szám <egész szám> = pozitív egész szám
S SDA Stúdió Kft.
48. oldal
3.4. A metanyelv szerkesztő használata Mind a logikai, mind az aritmetikai kifejezések megfogalmazását támogatandó, elkészítettünk egy olyan grafikus felületet, mely segítségével egyszerűen összekapcsolhatóak az egyes nyelvi elemek, könnyedén megadhatóak az adatbázislekérdező függvények paraméterei, és a beépített szintaxisellenőrző segítségével a kifejezésben könnyedén meg lehet találni és javítani az esetleges hibákat. A kétfajta kifejezés szerkesztésére gyakorlatilag ugyanaz a felület használható néhány gomb eltéréssel, és azzal, hogy az ellenőrzést mindig a megfelelő nyelvtan szerint végzi el. A metanyelvet a rendszerben bárhol is használjuk (ld. 1. fejezet), mindig ugyanaz a szerkesztő fog megjelenni, így az egyik helyen megszerzett tapasztalatok másutt is használhatóak. Először a logikai kifejezések szerkesztője kerül bemutatásra, itt lesz részletesen leírva az egyes funkciók használata, az aritmetikai kifejezések szerkesztőjénél pedig csak az ettől való eltérésekre térünk ki.
S SDA Stúdió Kft.
49. oldal
3.4.1. A logikai kifejezések szerkesztése A rendszer különböző pontjain az előkövetelmények, mérföldkövek szerkesztésekor az alábbi ablak jön elő:
3.1 ábra. Metanyelv szerkesztő
Az ábrán látható szerkesztő egy maximált hosszúságú (600 karakter) logikai kifejezés beírását és szintaktikai ellenőrzését teszi lehetővé. A hosszúságra van még egy korlát: a program egy olyan kifejezést generál a beírtból, amelyet aztán hatékonyan tud kiértékelni később egy megadott hallgatóra vagy hallgatócsoportra (prefix, kódolt formátum), és ez sem lehet hosszabb 600 karakternél, de általában ez szokott lenni a rövidebb. A képernyőn látható funkcionális egységek: Az azonosító található a legfelső mezőben, ami itt már nem szerkeszthető. Mérföldköveknél ezt egy szinttel feljebb lehet megadni, tárgy előkövetelményeknél itt a tárgy neve található, míg rangsor előkövetelményeknél ez a mező meg sem jelenik. A kezdés féléve mező található az azonosítótól jobbra, de csak mérföldkövek esetén. (Az ábrán tárgy előkövetelmény látható, ezért nincs rajta.) Ebben adható meg, hogy melyik félévtől kell a hallgatóknak a megszerkesztett mérföldkőnek eleget tenniük. A Metanyelv leírás mezőbe kell beírni a logikai kifejezést, ez történhet karakterenként a billentyűzetről, illetve a jobb oldali gombok segítségével is. * (csillag) - Az előző mezőtől balra található abban az esetben, ha nincs elmentve a kifejezés; azt jelzi ugyanis, hogy történt-e változtatás a legutolsó mentés illetve a belépés óta. A Megjegyzés alatt lehet tetszőleges szöveges információt megadni, amely formálisan adja meg a kifejezés értelmét. Ez jelenik meg felsőbb szinteken leírásként, és a hallgatók is ez alapján nyerhetnek információt a tárgyakra illetve szakirányokra való jelentkezés feltételeiről, vagyis az előkövetelményekről.
S SDA Stúdió Kft.
50. oldal
NEPTUN_FDL_META A jobb oldalon lévő gombok a kifejezés megszerkesztését könnyítik meg, ugyanis a rajtuk látható nyelvi elem automatikusan beíródik a Metanyelv leírás mezőbe. Ezek használata nélkül, billentyűzetről is be lehet gépelni a szükséges kifejezést, viszont segítségükkel könnyedén elkerülhetőek a félregépelések, és gyorsítják is a szerkesztést. A logikai műveletek (ÉS, VAGY, NEM) és a relációk (<, <=, >, >=) egy az egyben másolódnak be, a reduktorfüggvények (min, átlag, súlyozott átlag, összeg, súlyozott összeg, #, kredit összeg) egy nyitó és egy esetleges csukó zárójellel együtt (ld. Opciók beállítása), a szűrőfüggvények (legjobb, legrosszabb) megint csak egy az egyben, a kattintás után egy számot kell beírni, majd zárójelben valamilyen halmazt, az adatbázisfüggvényeknél pedig feljön egy külön ablak, amiben kényelmesen meg lehet adni a szükséges paramétereket, és ezután a paraméterezett függvény fog beíródni. Az alul egy sorban található gombok: Teszt - Ennek hatására a program ellenőrzi a beírt kifejezés szintaktikáját, és kiírja, hogy helyes, vagy pedig azt, hogy mi volt benne a hiba és a hibahelyre pozícionál. Mentés - Ellenőrzi a kifejezés szintaktikáját, és ha helyes volt, el is menti. Opciók - Megnyomásakor megjelenik egy ablak, amiben a szerkesztéssel kapcsolatos beállításokat lehet változtatni. Bezár - Kilépés a metanyelvi szerkesztőből; ha nincs elmentve, figyelmeztet.
S SDA Stúdió Kft.
51. oldal
3.4.2. Az aritmetikai kifejezések szerkesztése Rangsorfüggvény szerkesztésekor az alábbi ablak jelenik meg:
3.2.ábra Metanyelvi rangsorfüggvény szerkesztő
A logikai kifejezések szerkesztőjétől két dologban tér el: • Jobb oldalon felül látható két plusz gomb (Ha ... akkor ... és az Egyébként ha ... feliratokkal), melyek hatására a [HA AKKOR EGYÉBKÉNT] illetve az EGYÉBKÉNTHA AKKOR nyelvi elemek szúródnak be a Metanyelv leírás mezõbe tagonkénti soremeléssel kiegészítve. A kurzor a ha illetve egyébkéntha szó után jelenik meg, ahová tagonként zárójelezve a feltételt kell beírni. • A Teszt illetve a Mentés gomb megnyomásakor az aritmetikai kifejezések nyelvtana szerint végzi az ellenõrzést, azaz egy számot reprezentáló kifejezést vár, és nem egy logikai értéket eredményül adót.
S SDA Stúdió Kft.
52. oldal
3.4.3. Függvényparaméterezést támogató ablakok Tárgyeredmény: te(...)
3.3ábra. Tárgyeredmény lekérdezése
A Típus mező értékét a legördülő listából lehet kiválasztani, ha az opcióknál be van állítva, automatikusan a jegy paraméter jelenik meg. A Félév mezőbe a tárgy teljesítésének megkövetelt naptári félévét kell beírni éééé/éé/f formában (pl.: 1997/98/2), vagy pedig aláhúzás jellel (_) jelezni, hogy nincs rá megkötés. Ez utóbbi az alapértelmezés is. A Kezdőpozíció és a Hossz mezőkben azt kell megadni, hogy a tárgykód mely részét kell figyelembe venni. A nulla-nulla értékpáros azt jelenti, hogy nincs szűkítés a tárgykódra, egyébként mindkettőnek egyszerre kell nullától különböző értéket megadni. Tárgykódhoz a tárgy azonosítóját kell beírni. Ha ezt nem tudjuk fejből, a Bővebb lista gomb megnyomására feljön egy ablak, melyben fel vannak sorolva a tárgyak és a hozzájuk tartozó kódok:
S SDA Stúdió Kft.
53. oldal
NEPTUN_FDL_META
3.4.ábra. Tárgylista
A Gyorskeresés mezőbe a tárgy nevéből az első néhány karakter begépelésével könnyen eljuthatunk a keresett tárgyhoz. Szűrési feltétel megadásával a listában megjelenő tárgyak halmazát tudjuk szűkíteni. Tárgycsoport-eredmény: tcs(...)
3.5. ábra Tárgycsoporteredmény lekérdezése
S SDA Stúdió Kft.
54. oldal
NEPTUN_FDL_META A 3.5.ábra. Tárgycsoporteredmény lekérdezése hasonló a tárgyeredmény ablakhoz azzal a különbséggel, hogy a tárgycsoport kódját kell beírni., és ha a típusnak jegy van megadva, akkor mellé egy plusz feltétel is beírható, melynek a csoportban lévő minden tárgyra teljesülnie kell. Féléves adatok: félév(...)
3.6. ábra Félév lekérdezése
A Típus mezőben lehet megadni, hogy a félév milyen tulajdonságára vagyunk kíváncsiak. Legördülő listában jelennek meg a lehetőségek, ezek aztán a kifejezésbe való beíráskor automatikusan konvertálódnak a szükséges rövidebb alakokra. A Félév sorszámánál pozitív egész számokat kell beírni vesszővel elválasztva, melyek megmutatják, hogy hányadik félévekre vonatkozik a lekérdezés. Nyelvvizsga-eredmények: nyelvvizsga(...)
S SDA Stúdió Kft.
55. oldal
NEPTUN_FDL_META
3.7. ábra Nyelvvizsga lekérdezése
A 3.7.ábra a nyelvvizsga-lekérdezés ablakát mutatja, melyben a példa szerint olyan függvényt adunk meg, mely az angol középfokú C típusú nyelvvizsgák számát adja meg. Ez természetesen legfeljebb egy lehet, tehát az Ok gomb megnyomása után a >=1 feltételt kell beírni. Ha elhagyjuk a nyelvre tett feltételt, akkor az adott hallgató középfokú C típusú vizsgáinak számára hivatkozik, ezért ettől eltérő feltételnek is lehet értelme. Legalább egy paraméterre a _(mindegy) -től különböző értéket kell megadni.
S SDA Stúdió Kft.
56. oldal
3.4.4. Opciók beállítása
3.8.ábra: opciók beállítása
Itt lehet a szerkesztéssel kapcsolatos opciókat beállítani: Automatikus szövegformázás Becsekkelése esetén a Metanyelvi leírás mezőben lévő kifejezést a rendszer teszteléskor és mentéskor automatikusan formázza, azaz kiveszi belőle a felesleges szóközöket és soremeléseket; ellenkező esetben nem töröl semmit a szövegből. Alapértelmezett paraméterek Az adatbázisfüggvények külön ablakban való megadásakor a nem kötelező paraméterek értéke automatikusan mindegy legyen, vagy pedig kézzel kelljen állítani mindegyiket. Zárójelezés A Metanyelvi leírás mezőbe való beszúráskor a függvények után csak egy nyitó zárójelet tegyen, vagy pedig a bezárót is beírja (és utána a zárójelek közé pozícionálja a kurzort).
S SDA Stúdió Kft.
57. oldal
3.5. Példák a metanyelvi kifejezésekre Ebben a fejezetben bemutatunk néhány valós, egyetemeken használt mérföldkő követelményt a kreditrendszerű képzésre és a hagyományos képzésre is. Az első félévben minimum 25 kreditet kell teljesíteni félév(kredit,1)>=25 Az első négy félév anyagát maximum nyolc félév alatt teljesíteni kell (el kell érni 120 kreditet) és a tárgyak súlyozott átlagának minimum 2.5-nek kell lennie. Ezenkívül teljesíteni kell egy építéshelyi szakmai gyakorlatot. Létre kell hozni egy TCS* tárgycsoportot, amely az első négy szemeszterben teljesítendő tárgyakból áll (a tárgyak száma n). A gyakorlat tantárgykódja T* . A mérföldkő kezdés félévét 8-ra kell állítani. A követelmény metanyelvi leírása: /* egy tízkarakteres azonosító kód/ #(tcs(TCS,jegy,_))>=n ÉS min(tcs(TCS,jegy,_))>=2 átlag(tcs(TCS,jegy,_))>=2.5 ÉS te(T,aláírás,_)>=2
ÉS
súlyozott
Diploma megszerzése: minimum 300 kredit (270 a tárgyakból (TCS tárgycsoport, n db tárgy) + 30 kredit a diplomaterv (T) ); középfokú, C típusú nyelvvizsga. #(tcs(TCS,jegy,_))>=n ÉS min(tcs(TCS,jegy,_))>=2 ÉS te(T,jegy,_)>=2 ÉS nyelvvizsga(_,közép,C,_)>=1 A harmadik évfolyam beiratkozási feltétele: első két félévben a 4 választható tárgy közül hármat minimum teljesíteni kell (TCS tárgycsoport) proszemináriumot (T) teljesíteni kell
#(tcs(TCS, _,_))>=3 ÉS min(legjobb 3(tcs(TCS,_,_)))>=2 ÉS te(T,_,_)>=2 Az angol nyelvű kurzus felvételének feltétele: angol, középfokú, C típusú szakmai nyelvvizsga TCS tárgycsoport öt tárgyának teljesítése (vizsga megszerzése) T1 tárgyból gyakorlati jegy megszerzése T2 tárgyból megvan az aláírás T3, T4, T5 tárgyak közül legalább egy teljesítése minimum 3-as jeggyel nyelvvizsga(angol,közép,C,szakmai)>=1 ÉS #(tcs(TCS,vizsga,_))>=5 ÉS min(tcs(TCS,vizsga,_)) >=2 ÉS te(T1,
S SDA Stúdió Kft.
58. oldal
NEPTUN_FDL_META gyakjegy,_)>=2 ÉS te(T2,aláírás,_)>=1 ÉS min( legjobb 1({te(T3,jegy,_), te(T4,jegy,_) , te(T5,jegy,_)}))>=3
S SDA Stúdió Kft.
59. oldal
NEPTUN_TANSZÉK
4. Összefoglaló Az FDL segítséget nyújt a listák lekérdezésénél, melyet kivétel nélkül mindegyik NEPTUN modulban használunk. A NEPTUN_STATISZTIKA modulban, valamint a NEPTUN_TÖRZS Karbantartás füzetében lévő Listák /Statisztika fül alatt a statisztikák készítésére, táblázatok létrehozására az FDL-nél használatos lekérdezésekből indulunk ki, azonban a kiértékeléshez a megszokott statisztikai módszereket használjuk, A Metanyelv a NEPTUN_TÖRZS egy hatékony eszköze, általánosan különböző ellenőrzéseknél használjuk. A hallgatók tárgyfelvételekor az előkövetelmények teljesítéséről a metanyelv segítségével adjuk meg a kiértékelést. A mérföldkövek beállítása a hallgatói előrehaladás kiértékelésére szolgálnak. A mérföldkövek megfogalmazása a Metanyelv segítségével történik. A hallgatói szakirány választás feltételeinek megadásához, a választási kritériumok megfogalmazásához szintén a Metanyelvet hívjuk segítségül. Többször szükséges a hallgatók rangsorolása. Ezért a rangsorfüggvények elkészítéséhez a Metanyelv egy hatékony eszköz, a kiértékeléseket segíti elő. $ SQL szerkesztő ablak
S SDA Stúdió Kft.
60. oldal