Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Elektronikus napló − 1 − Magyary Gyula
Tartalomjegyzék
TARTALOMJEGYZÉK.......................................................................................................... 1
KÖSZÖNETNYILVÁNÍTÁS .................................................................................................. 2
BEVEZETÉS............................................................................................................................. 3
A RENDSZER CÉLJA............................................................................................................. 3
A RENDSZERREL SZEMBEN TÁMASZTOTT KÖVETELMÉNYEK........................... 3
FUNKCIONÁLIS KÖVETELMÉNYEK .......................................................................................... 3
NEM FUNKCIONÁLIS KÖVETELMÉNYEK .................................................................................. 4
A RENDSZER ARCHITEKTÚRÁJA .................................................................................... 4
A FEJLESZTÉS HARDVER ÉS SZOFTVER KÖRNYEZETE ......................................... 4
HARDVER ............................................................................................................................... 4
SZOFTVER............................................................................................................................... 5
A RENDSZER AKTORAI ÉS JOGOSULTSÁGAIK........................................................... 5
NAPLÓADMINISZTRÁTOR........................................................................................................ 7
TANÁR.................................................................................................................................... 7
SZÜLŐ .................................................................................................................................... 8
OBJEKTUM OSZTÁLYOK ................................................................................................... 8
BEJEGYZÉS OSZTÁLY .............................................................................................................. 9
MULASZTÁS OSZTÁLY .......................................................................................................... 10
OSZTÁLYZAT OSZTÁLY......................................................................................................... 10
ÓRA OSZTÁLY....................................................................................................................... 11
TANTÁRGY OSZTÁLY ............................................................................................................ 12
OSZTÁLY OBJEKTUMOSZTÁLY .............................................................................................. 12
SZEMÉLY OSZTÁLY............................................................................................................... 13
FELHASZNÁLÓ OSZTÁLY....................................................................................................... 14
DIÁK OSZTÁLY ..................................................................................................................... 14
SZÜLŐ OSZTÁLY ................................................................................................................... 15
TANÁR OSZTÁLY .................................................................................................................. 16
ADMINISZTRÁTOR OSZTÁLY ................................................................................................. 17
ADATBÁZISTERV ................................................................................................................ 18
ADATTÁBLÁK ÉS KAPCSOLATAIK ......................................................................................... 18
FELHASZNÁLÓK ÉS JOGOSULTSÁGOK ................................................................................... 21
ADATLEKÉRÉS ÉS MANIPULÁLÁS.......................................................................................... 22
HIVATKOZÁSI INTEGRITÁS KEZELÉSE ................................................................................... 23
Elektronikus napló − 2 − Magyary Gyula
A RENDSZER FUNKCIÓI, KÉPERNYŐ TERVEK ......................................................... 23
BEJELENTKEZÉS ................................................................................................................... 24
FELADATVÁLASZTÁS............................................................................................................ 24
FELHASZNÁLÓ ADATAINAK MEGVÁLTOZTATÁSA ................................................................. 25
SZÜLŐK TEVÉKENYSÉGEI ..................................................................................................... 25
TANÁROK TEVÉKENYSÉGEI .................................................................................................. 28
ADMINISZTRÁTOR TEVÉKENYSÉGEI...................................................................................... 32
TELEPÍTÉS ............................................................................................................................ 34
SZERVER OLDALON .............................................................................................................. 34
KLIENS OLDALON ................................................................................................................. 37
TESZTELÉS ........................................................................................................................... 38
A TESZTELÉS MENETE........................................................................................................... 38
AZ ADATBÁZIS TESZTELÉSE.................................................................................................. 38
KEZELŐFELÜLET TESZTELÉSE............................................................................................... 39
TOVÁBBI FEJLESZTÉSI LEHETŐSÉGEK ..................................................................... 54
FELHASZNÁLT IRODALOM............................................................................................. 54
MELLÉKELT FÁJLOK........................................................................................................ 55
Köszönetnyilvánítás
Köszönettel tartozom:
Mindenek előtt, Balázs Józsefnek konzulensi munkájáért.
Azoknak az intézményeknek (Kassák Lajos Gimnázium, Pentaschool
Oktatási Központ), akik anyagilag támogatták a programozói szakképesítés
megszerzését.
A tanfolyam következő oktatóinak, színvonalas munkájukért: Balázs
József, Bányász Gábor, Kolman Nándor, Lakosi András. Az ő oktatói
munkájuk nélkül lényegesen nehezebb lett volna a feladatom.
Végül, de nem utolsó sorban környezetemnek, akik türelemmel fogadták,
hogy hosszú órákat töltök a tanfolyamon, tanulással, illetve a szakdolgozat
elkészítésével.
Elektronikus napló − 3 − Magyary Gyula
Bevezetés
Egykori munkahelyemen (gimnázium) vetődött fel a feladat, jó volna
helyettesíteni a papír alapú naplókat elektronikus változattal. A program
megírásának kezdete után az iskolának beszerzett az önkormányzat egy
hasonló célú szoftvert. Innentől kezdve a program megírása kizárólag tanulási
célokat szolgált. Jelen dolgozat egy elektronikus napló néhány funkcióját
szándékozik dokumentálni a tervezéstől a tesztelésig.
A szakdolgozat célja, az elektronikus napló tesztváltozatának elkészítése
által, a MS Visual Studio C# illetve a MS SQL Server megismerése és
használatának elsajátítása volt. A fejlesztett szoftver kliens-szerver
architektúrát alkalmaz. A szerveroldalon egy Windows Server 2003 operációs
rendszer felett futó MS SQL Server 2005 található. Ehhez kapcsolódik
(kapcsolódhatnak) a Visual Studio 2005 C#-ban fejlesztett desktop
alkalmazás.
A kezdeti nehézségek után nyilvánvalóvá váltak e technológia előnyei. A
kényelmes, sokoldalú fejlesztői környezet gyors fejlesztést tesz lehetővé. A
telepítés után rögtön rendelkezésre álló komponensekkel könnyen feldobható
egy ablak megjelenésének színvonala.
A tervezéskor az objektum orientált szemléletet és az UML előírásait
igyekeztem szem előtt tartani.
A rendszer célja
A rendszer fejlesztésének célja egy átlagos iskola (16 – 20 aktív osztály)
által használható elektronikus haladási, mulasztási és osztályzási napló
elkészítése.
A rendszerrel szemben támasztott követelmények
Funkcionális követelmények
Tegye lehetővé a napló tartalmának megtekintését az iskolán belüli
hálózaton keresztül. Biztosítson többféle keresési szempontot.
Elektronikus napló − 4 − Magyary Gyula
Tegye lehetővé a napló tartalmának karbantartását az adminisztrátor,
valamint a tanárok számára. Ezen belül: új bejegyzések felvitelét, elavult
bejegyzések törlését, elrontott bejegyzések módosítását a megfelelő
felhasználó számára.
Nem funkcionális követelmények
Biztosítsa, hogy az adatok ne kerülhessenek illetéktelen felhasználó
kezébe. Mindenki csak azokat az adatokat láthassa, vagy módosíthassa, ami a
feladatköréhez kötődik.
Ne tároljon adatvédelmi szempontból nem megengedett adatot.
A kezelőfelület használata ne igényeljen informatikai előismereteket.
A rendszer architektúrája
A rendszer három rétegű architektúra szerint épül fel:
• Felhasználói interfész: A Visual Studio C#-ben fejlesztett
kliensprogram valósítja meg a munkaállomáson.
• Üzleti logika: A Visual Studio C#-ben fejlesztett kliensprogram
valósítja meg a munkaállomáson.
• Adatbázis-kezelő rendszer: A Windows Server 2003-on található
MS SQL 2005 Server biztosítja. Az üzleti logika a MS SQL
Serverhez adott kliensszoftveren keresztül éri el a szervert. Ez a
megoldás gyorsabb működést biztosít, mintha odbc drivert
használtam volna. Az MS SQL Server tartalmazza a szabványos
(ansi ’92) SQL utasításait, ezen felül sok egyéb, nem szabványos,
ámde nagyon hasznos kiegészítést.
A fejlesztés hardver és szoftver környezete
Hardver
• Processzor: Pentium IV – 3 GHz
• RAM: 2 GB
• Merevlemez: 10 GB
Elektronikus napló − 5 − Magyary Gyula
Szoftver
• Operációs rendszer: Windows 2003 Enterprise Server
• Fejlesztő eszköz: Visual Studio 2005 C#
• Adatbázis-kezelő: MS SQL Server 2005
• Case eszköz: MS Visio 2003
A rendszer aktorai és jogosultságaik
Elektronikus napló − 6 − Magyary Gyula
Tantárgykezelés
Új tantárgy felvitele
Tantárgy módosítása
Tantárgy törlése
**
*
*
*
*
Tanárkezelés
Új tanár felvitele
Tanár adatainak módosítása
Tanár törlése
**
*
*
*
*
Osztálykezelés
Új osztály felvétele
Osztály adatainak módosítása
Osztály törlése
* *
*
*
*
*
Tanulókezelés
Új tanuló felvétele
Tanuló adatainak módosítása
Tanuló törlése
*
*
*
**
*
Hiányzási napló
Tantárgylista
*
*
Tanárlista
*
*
Osztálylista
*
*
Tanulólista
*
*
Hiányzáslista
Új hiányzás felvétele
Hiányzás módosítása
Hiányzás törlése
*
*
* *
*
*
*
*
Osztályzati napló
Osztályzatok listája
Új osztályzat felvétele
Osztályzat módosítása
Osztályzat törlése
*
*
**
*
*
*
*
Elektronikus napló − 7 − Magyary Gyula
Naplóadminisztrátor
Az adatbázis teljes tartalmához hozzáférő, kiemelt felhasználó. Feladata
elsősorban a tanár szerepkörű felhasználói fiókok kezelése (létrehozása,
törlése, módosítása), a tantárgyak és osztályok kezelése.
Tanár
A tanárszerepkör rendelkezik a legsokrétűbb feladattal. Feladata lehet a
tanulók és szülők adatainak kezelése (létrehozása, törlése, módosítása).
Minden tanár feladata az általa megtartott órák, az érdemjegyek és hiányzások
bejegyzése.
Mivel ez a szerepkör jár a legtöbb feladattal, több felhasználó fogja
megvalósítani. A hagyományos osztályfőnöki rendszerben osztható szét
legcélszerűbben a munka. Egy tanárhoz az osztályába járó tanulók és azok
szülei tartoznak a személyes adatok nyilvántartásával kapcsolatban. Mivel az
osztályfőnök hiányozhat, szerepét bármely más tanárnak át kell tudnia venni.
A tanár képes megváltoztatni a saját, valamint a szülő szerepkörű
felhasználók jelszavát.
Elektronikus napló − 8 − Magyary Gyula
Szülő
A szülőszerepkörű felhasználó lehetőséget kap a gyermeke (gyermekei)
adatainak megtekintéséhez, valamint képes a jelszavának a megváltoztatására.
Felmerül a kérdés, nem szükséges-e a tanulót, mint actort alkalmazni a
programban? Mivel a szülő felhasználó semmi olyan adatot nem kap ebben a
rendszerben, amit a gyermeke nem tudhat, és fordítva, a gyermek sem kapna
olyan adatot, amit a szülő nem tudhat, a két szerepkört nem kellett
szétválasztani. (Helyesebb lenne talán családnak nevezni ezt az actort, és
akkor nem merülne fel az a nem technikai jellegű probléma, hogy a gyerek a
szülő jelszavával jelentkezik be.) Egy értesítéseket vagy ellenjegyzéseket
(aláírás) tartalmazó rendszerben a két szerepkört szét kellene választani. Ilyen
igények azonban a felméréskor nem fogalmazódtak meg.
A tanuló és szülő szerepkor szétválasztása nem szükséges, de
megfontolandó. A szerepkörök szétválasztása megnövelné valamennyivel az
adatbázist valamint a programkódot. (Tanulónak is saját jelszava lenne, plusz
menüt kellene beiktatni, stb.) Ez a kisebbik probléma a jelenlegi háttértár-
kapacitások mellett. A nagyobbik probléma az lenne, hogy a tanárokra plusz
adminisztrációs terheket róna a jelszavak karbantartása. (Nyilván minden
gyerek naponta legalább kétszer felejtené el a jelszavát, hogy a tanárt
bosszantsa. ☺)
Objektum osztályok
Az előzőekben vázolt feladatokat a következő objektumrendszerrel
lehetne megvalósítani.
Elektronikus napló − 9 − Magyary Gyula
-újÓraLétrehoz() : bool-óraMódosít() : bool-óraTöröl() : bool-órákListáz() : object-újMulasztásLétrehoz() : bool-mulasztásMódosít() : bool-mulasztásTöröl() : bool-mulasztásokListáz() : object-újOsztályzatLétrehoz() : bool-osztályzatMódosít() : bool-osztályzatTöröl() : bool-osztályzatokListáz() : object
Tanár
-sajátGyermekJegyLista() : object-sajátGyermekHiányzásLista() : object
Szülő-tanarazonositó : long
Diák-tanárazonosító : long-szülőazonosító : long
-újOsztályLétrehoz() : bool-osztályMegváltoztat() : bool-osztályTöröl() : bool-osztályokListázás() : object-újTantárgyLétrehoz() : bool-tantárgyMegváltoztat() : bool-tantárgyTöröl() : bool-tantárgyakListázás() : object-újTanárfelhasználóLétrehoz() : bool-tanárfelhasználóMódosít() : bool-tanárfelhasználóTöröl() : bool-tanárfelhasználóListázás() : object
Adminisztrátor
Személy#azonosító : long#név : string#születési dátum : string#aktív : bool
Mulasztás-tanuloazonosító : long-hányadikÓra : byte-késés : bool-igazolt : bool
Osztályzat-jegy : byte-tanuloAzonosító : long-tantárgyAzonosító : long-leírás : string
Óra-óraSorszáma : int-tartalom : string-tantárgyAzonosító : long-helyettesítés : bool-osztályAzonosító : long
1
-kapja*
-gyermeke*
1
1
-kapja*
Osztály-azonosító : int-indulás : string-évfolyamszám : byte-kezdőszám : byte-betűjel : char
Tantárgy-azonosító : int-név : string
1
-bejegyzi
*
1
-bejegyzi
*
1
*
1
-megtartja
*
-résztvesz *
1
1
*
1
-kezeli*
1
-kezeli*
-osztályfőnöke
1
-kezeli
*1
-kezeli*
-sajátJelszótMegváltoztat() : bool-bejelentkezik() : bool
Felhasználó#felhasználónév : string#jelszó : string
Bejegyzés#azonosító : long#bejegyzésDátuma : string#bejegyző
1
*
Bejegyzés osztály
Szerepe
A Bejegyzés osztály a rendszer összes olyan adatának őse, amiért az
elektronikus naplót tulajdonképpen létrehoztuk.
Elektronikus napló − 10 − Magyary Gyula
Tagváltozók
Minden bejegyzésnek van azonosítója és dátuma, amikor a bejegyzés
készült. Ezenfelül minden bejegyzéshez tároljuk a bejegyzést végző tanár
azonosítóját.
Mulasztás osztály
Származás
A Mulasztás osztály a Bejegyzés osztály utódja. (A mulasztás a napló
egy bejegyzése.)
Tagváltozók
Minden mulasztás egy-egy diákhoz köthető, aki késett vagy hiányzott
(tanulóazonosító tagváltozó). A késés logikai tagváltozó segítségével
különböztetjük meg a hiányzást a késéstől. Az igazolt logikai tagváltozót a
hiányzás igazolt vagy igazolatlan jellegének tárolására használjuk. A
naplókban a mulasztásoknak nem csak a dátuma, hanem az órája (pl. 4.
tanítási óra a napon) is szerepel. Ezt tároljuk a hányadikÓra tagváltozóban.
Osztályzat osztály
Származás
Az Osztályzat osztály is a Bejegyzés osztályból származik.
Tagváltozók
Minden egyes osztályzatot (jegy) egy-egy tanuló kap (tanulóAzonosító),
egy adott tantárgyból (tantárgyAzonosító). A hagyományos naplókban ugyan
nem szokás, de praktikus bejegyezni, mire kapta a tanuló az érdemjegyet
(leírás). Esetünkben a napló a szülő tájékoztatását is szolgálja, kiegészítve
vagy helyettesítve az ellenőrzőt. Ezért célszerű leírás tagváltozó használata.
Elektronikus napló − 11 − Magyary Gyula
Óra osztály
Származás
A tanítási órák nyilvántartására szolgál az Óra osztály, ami szintén
Bejegyzés osztály utóda.
Tagváltozók
Minden óra valamilyen tantárgy keretében (tantárgyAzonosító), és
valamelyik osztályban (osztályAzonosító) zajlik.
Az óra témáját a tartalom tagváltozóban tároljuk.
Elszámolási és egyéb okokból célszerű a helyettesítéseket
megkülönböztetni a nem helyettesített óráktól (helyettesítés logikai
tagváltozó). A naplókban szokás nyilvántartani, hogy az adott tanév hányadik
órája a tantárgynak. (Pl.: matematikából a tizedes törtek értelmezése az anyag
a 86. órán.) Gondolhatnánk, hogy ennek meghatározását a tanév kezdés és az
aktuális nap dátumának, valamint az előző órák sorszámának alapján majd a
program meghatározza. Ez azonban nem ilyen egyszerű. A helyettesítéseket
esetenként beleszámolják, esetenként nem az órák sorszámozásába.
Legegyszerűbb esetben: A szakszerű helyettesítésnél tovább számozzák, a
nem szakszerűnél nem. Nem egyértelmű azonban, mikor szakszerű a
helyettesítés. Mivel az év végén kötelezően meg kell lennie bizonyos
óraszámnak, „szeretnek” bizonyos órákat szakszerűnek venni. Más esetekben
viszont a szakszerű helyettesítésért többet kell fizetni, ezért a vezető
szempontjából célszerű szakszerűtlennek venni. Hosszas töprengés után végül
a program által kiszámított óraszám mellett döntöttem. (Leginkább azért, hogy
a programban ez megoldandó feladat legyen.)
Az óraSorszáma tagváltozóban azt tároljuk, hogy a nap hányadik
órájában volt megtartva a foglalkozás.
Elektronikus napló − 12 − Magyary Gyula
Tantárgy osztály
Szerepe, tagváltozók
A Tantárgy osztály a tantárgyak nevét és azonosítóját tartalmazza.
Kapcsolatok
• Egy-a-többhöz kapcsolatban áll az Óra osztállyal, mert egy tantárgyat több
órában tanítanak.
• Egy-a-többhöz kapcsolatban áll az Osztályzat osztállyal, mert egy
tantárgyból több jegy is fog születni.
Osztály objektumosztály
Szerepe
Az Osztály objektumosztály tartalmazza a tanulócsoportok jellemző
adatait.
Tagváltozók
Az Indulás tagváltozó a csoport indulásának dátumát, az évfolyamszám a
képzés évfolyamainak számát tartalmazza. (Például hatosztályos gimnázium
esetén az értéke 6, 2 éves szakképzésnél 2.) A párhuzamosan induló csoportok
megkülönböztetésére szolgál a betűjel tagváltozó.
Amikor az osztályokat megjelenítjük, nem a kezdődátumot szeretnénk
látni, hanem valami ilyesmit: 11.C. A betűjel előtti szám csak akkor
határozható meg az aktuális dátumból és a kezdési dátumból, ha van arra
vonatkozó adatunk, honnan kell kezdeni a számozást. Ezt az adatot azonban
nem „égethetjük be” a programba, mert egy iskolában többféle képzés is
lehetséges. Ugyanaz az intézmény indíthat szakképzést 13. évfolyamtól és 9.
évfolyamtól gimnáziumi osztályt. További bonyodalmat okoz, hogy néhány
intézményben ragaszkodnak ahhoz, hogy a bekerülő osztályok számozása 1-
gyel kezdődjön. Mindezen problémák megoldására felveszünk
tanulócsoportonként egy kezdőszám tagváltozót, amit az osztály
Elektronikus napló − 13 − Magyary Gyula
létrehozásakor az adminisztrátor tölt ki. Ez fogja tartalmazni, hogy az induló
tanulócsoportnak milyen szám fog szerepelni a betűjele előtt.
Felmerülhet a kérdés, miért van szükség az évfolyamszám tagváltozóra,
noha az sehol nem jelenik meg a tanárok és a szülők számára. Az
évfolyamszám tagváltozó (és némi számítás) segítségével tudjuk elkülöníteni a
még aktív osztályokat a már nem aktívaktól. Erre két okból is szükségünk van:
• Egyrészt a nem aktív osztályokkal csak ritkán van feladat, ezért
alapértelmezés szerint nem fogjuk megjeleníteni a listákban. Ezzel
áttekinthetőbbé tesszük az adatokat.
• Másrészt: Hogyan jelöljük a már végzett osztályokat a listákban? Nem
hívhatjuk őket 12.B-nek, hiszen összekevernénk az utolsó aktív B
osztállyal, valamint az összes megelőzően végzett B osztállyal. Ha minden
évben tovább folytatnánk a nem aktív osztályok számozását, elég vicces
eredményt kapnánk (pl.: 34.B osztály). Célszerű az aktív osztályokat a
hagyományos módon jelölni, a nem aktívakat pedig az induló évszám
alapján. (Lehetne végző évszám is, ez már csak „összeadás” kérdése.)
Tehát az osztályok megjelenítésekor esetszétválasztást kell majd
alkalmaznunk, hogy az osztály aktív vagy sem.
Kapcsolatok
Egy-a-többhöz kapcsolatban áll az Óra osztállyal, mert egy osztály több
órán is részt vesz.
Személy osztály
Szerepe
A Személy osztály a rendszer összes személy jellegű osztályának őse.
Tagváltozók
Neve, születési dátuma, és a rendszer által használt azonosítója minden
személynek lesz.
Elektronikus napló − 14 − Magyary Gyula
Az aktív logikai tagváltozó segítségével fogja tudni megkülönböztetni a
program a rendszert használó és már nem használó személyeket. Erre azért
van szükség, mert ha a végzett tanulókhoz, valaha ott dolgozott tanárokhoz
tartozó adatokat is megjelenítenénk mindig, a listák áttekinthetetlenné
válnának. Ráadásul a végzett tanulók adataira csak ritkán van szükség, így
megjelenítésükkel feleslegesen nehezítenénk a tanárok dolgát.
Felhasználó osztály
Származás, szerep
A Személy osztály egyik utódja a Felhasználó osztály. Idetartozik
mindenki, aki a rendszert használja.
Tagváltozók
Minden felhasználónak neve és jelszava van (tagváltozók).
Tagfüggvények
Minden felhasználónak tudnia kell érvényes felhasználónév birtokában
bejelentkezni (bejelentkezik tagfüggvény) és a jelszavát módosítani
(sajatJelszoMegvaltoztat tagfüggvény).
Diák osztály
Származás
A Személy osztály másik utódja a Diák osztály.
Kapcsolatok
• Egy-a-többhöz kapcsolatban áll a Jegy osztállyal, mert egy diák több
jegyet kap.
• Egy-a-többhöz kapcsolatban áll a Mulasztás osztállyal, mert egy diáknak
több mulasztása is lehet.
Elektronikus napló − 15 − Magyary Gyula
Tagváltozók
A diákot kezelő tanár, valamint a diák szülőjének azonosítóját
tartalmazza tagváltozóként ez az osztály.
Tagfüggvények
Mivel a diák nem aktora a rendszernek, nem szükséges tagfüggvény
hozzá.
Szülő osztály
Származás
A Szülő osztály a Felhasználó osztályból származik.
Kapcsolatok
Egy-a-többhöz kapcsolatban áll a Diák osztállyal, mert egy szülőnek
több gyermeke is járhat az intézménybe.
Tagváltozók
Egy szülő felhasználói fióknak a kezelője (létrehozója, karbantartója)
egy tanár. A kezelő tanár azonosítóját felvesszük a szülő adatai közé. Ez azzal
az előnnyel fog járni, hogy a képernyőn a tanár számára megjelenő listákban
csak a hozzá tartozó szülők adatai fognak megjelenni alapbeállításban. Ezzel
áttekinthetőbbé válnak az adatok. (Mivel más tanár munkáját is át kell tudni
venni, ezért a többi szülő is megjeleníthető, ha szükséges.)
Tagfüggvények
A szülőnek meg kell tudni jeleníteni a saját gyermekeinek jegyeit
(sajatGyermekJegyLista tagfüggvény) és mulasztásait
(sajatGyermekHianyzasLista tagfüggvény). A Szülő és a Diák osztály között
egy-a-többhöz kapcsolat áll fenn, mivel egy szülőnek több gyermeke is járhat
az iskolába.
Elektronikus napló − 16 − Magyary Gyula
Tanár osztály
Származás
A Tanár osztály is a Felhasználó osztályból származik.
Kapcsolatok
• Egy-a-többhöz kapcsolatban áll a Szülő osztállyal, mert egy tanár több
szülő felhasználói fiókját is kezeli.
• Egy-a-többhöz kapcsolatban áll a Diák osztállyal, mert egy tanár több diák
alapadatait kezeli.
• Egy-a-többhöz kapcsolatban áll a Jegy osztállyal, mert egy tanár több
jegyet is adhat.
• Egy-a-többhöz kapcsolatban áll a Mulasztás osztállyal, mert egy tanár több
hiányzást illetve késést is bejegyezhet.
• Egy-a-többhöz kapcsolatban áll az Órák osztállyal, mert egy tanár több
órát is bejegyezhet.
Tagfüggvények
A tanár feladata a különböző bejegyzések kezelése (újÓraLétrehoz,
óraMódosít, óraTöröl, órákListáz, újMulasztásLétrehoz, mulasztásMódosít,
mulasztásTöröl, mulasztásokListáz, újOsztályzatLétrehoz, osztályzatMódosít,
osztályzatTöröl, osztályzatokListáz). A már bejegyzett adatok lekérdezésére
szolgálnak a Listáz végű tagfüggvények. Új adatok bejegyzésére szolgálnak a
Létrehoz tagfüggvények. A Módosít végű tagfüggvényekkel lehet a már felvitt
adatokat módosítani. (Például hiányzást igazolni.)
A rekordokban változást okozó tagfüggvények visszatérési értéke igaz
vagy hamis, függően attól, sikerült-e a műveletet végrehajtani.
Szokatlan lehet a Töröl tagfüggvények használata. Nem szokás az
adatbázis elavult adatait sem törölni, mert ki tudja, mikor lehet rájuk szükség
mégis. A felhasználó által végrehajtott véletlen törlés pedig kárt tehet az
adatbázisban. A tároláshoz szükséges hardver ára sem annyira magas, ami a
törlést indokolná. Ennek ellenére megvalósítottam ezt a lehetőséget is, mert:
Elektronikus napló − 17 − Magyary Gyula
• A tévesen bejegyzett adatokat törölni kell tudni. Ezt a terhet nem akartam
az adminisztrátorra és főleg nem a rendszergazdára hárítani.
• Sok adat esetén esetleg mégis lelassulhat a rendszer, megtelhetnek a
merevlemezek, és egy iskolának nincs mindig azonnal pénze bővítésre.
• Ki akartam próbálni a törlést is, ha már egyszer teszt célú programról van
szó.
Adminisztrátor osztály
Származás
Az Adminisztrátor egy speciális jogokkal rendelkező Felhasználó, tehát
annak leszármazottja.
Kapcsolatok
• Egy-a-többhöz kapcsolatban áll az Osztály objektumosztállyal, mert az
adminisztrátor több osztályt is kezel.
• Egy-a-többhöz kapcsolatban áll a Tantárgy objektumosztállyal, mert az
adminisztrátor több tantárgyat is kezel.
• Egy-a-többhöz kapcsolatban áll a Tanár objektumosztállyal, mert az
adminisztrátor több tanárt is kezel.
Tagfüggvények
Ő kezeli a tanárokat, osztályokat és tantárgyakat a megfelelő
tagfüggvények segítségével (újOsztályLétrehoz, osztályMegváltoztat,
osztályTöröl, osztályokListázás, újTantárgyLétrehoz, tantárgyMegváltoztat,
tantárgyTöröl, tantárgyakListázás, újTanárfelhasználóLétrehoz,
tanárfelhasználóMódosít, tanárfelhasználóTöröl, tanárfelhasználóListázás).
Elektronikus napló − 18 − Magyary Gyula
Adatbázisterv
Adattáblák és kapcsolataik
Az előző fejezetben áttekintett objektum osztályok meghatározzák az
adatbázis szerkezetét. Nagyjából: Egy objektum osztály kölcsönösen
megfeleltethető egy adattáblának.
Mindezek ellenére előfordulnak nagyobb eltérések az objektum
osztályok és az adattáblák között. Ennek oka elsősorban abban keresendő,
hogy a jelenleg használatos, SQL alapú adatbázisrendszerek nem objektum
orientáltak. Egy tábla nem örökölhet mezőket egy másik táblától. Így a
fejlesztő kénytelen az ősosztályokban található tagváltozókat a leszármazott
osztályokba áthelyezni az adatbázisban. (Például: Neve nem a Személynek
lesz, hanem a Diáknak, Tanárnak.)
szulok
PK,I1 szuloid
nevszuletesidatumfelhasznalonevjelszo
FK1,I3,I2 tanaridaktiv
jegyek
PK Azon
jegyFK1,I2,I1 tanaridFK3,I5,I4 tanuloid
bejegyzesFK2,I3,I6 targyid
leiras
tanarok
PK,I1 tanarid
nevszuletesidatumfelhasznalonevjelszoaktiv
mulasztasok
PK azon
FK2,I4,I3 tanuloidFK1,I2,I1 tanarid
datumorakesesigazolt
tantargyak
PK,I1 targyid
tantargynev
tanulok
PK,I7 tanuloid
nevszuletesidatum
FK2,I3,I4 szuloidFK1,I2,I1 osztalyidFK3,I6,I5 tanarid
aktiv
orak
PK azon
datumora
FK3,I5 targyidtartalom
FK2,I4,I3 tanaridhelyettesites
FK1,I2,I1 osztalyid
osztalyok
PK,I1 osztalyid
osztalyindulasbetujelkezdoszamevfolyamszam
Elektronikus napló − 19 − Magyary Gyula
A kapcsolatok elemzését az objektum osztályok ismertetésénél
olvashatjuk.
Az adattáblák nem objektum orientált megvalósításán kívül még egy
eltérést láthatunk: Az adatbázis nem tartalmaz az Adminisztrátor
objektumosztálynak megfelelő táblát. Ennek oka, hogy normális működés
esetén, egy nagyobb iskolában is, egyetlen felhasználó bőven el tudja látni az
adminisztrátor feladatkörét. Mivel az adminisztrátor egy kitűntetett
felhasználó nem is szerencsés, ha több van belőle, mert megoszlik a
felelősség. Az adminisztrátor felhasználóneve és jelszava az SQL szerver
beépített felhasználótáblájába (Security/Logins) lesz bejegyezve, és nem az
adatbázisba.
Az adattáblák leírása
Tantargyak Mezőnév Típus Hossz megjegyzés targyid integer Kulcs
tantargynev nvarchar 50
Osztalyok Mezőnév Típus Hossz megjegyzés osztalyid integer Kulcs
osztalyindulas datetime betujel nvarchar 2
kezdoszam tinyint evfolyamszam tinyint
Szulok Mezőnév Típus Hossz megjegyzés szuloid integer Kulcs nev nvarchar 100
szuletesidatum datetime felhasznalonev nvarchar 40
jelszo nvarchar 40 tanarid integer aktiv bit
Elektronikus napló − 20 − Magyary Gyula
Tanarok Mezőnév Típus Hossz megjegyzés tanarid integer Kulcs nev nvarchar 100
szuletesidatum datetime felhasznalonev nvarchar 40
jelszo nvarchar 40 aktiv bit
Tanulok Mezőnév Típus Hossz megjegyzés tanuloid integer Kulcs nev nvarchar 100
szuletesidatum datetime felhasznalonev nvarchar 40
jelszo nvarchar 40 szuloid integer tanarid integer aktiv bit
Orak Mezőnév Típus Hossz megjegyzés azon integer Kulcs datum datetime ora tinyint
tartalom nvarchar 200 tanarid integer
helyettesites bit osztalyid integer
Mulasztasok Mezőnév Típus Hossz megjegyzés azon integer Kulcs tanuloid integer tanarid integer datum datetime ora tinyint keses bit igazolt bit
Elektronikus napló − 21 − Magyary Gyula
Jegyek Mezőnév Típus Hossz megjegyzés azon integer Kulcs jegy tinyint
tanuloid integer tanarid integer targyid integer bejegyzes bit leiras nvarchar 100
Felhasználók és jogosultságok
A felhasználók tárolásánál és jogosultságaik kiosztásánál a jelenleg
szokásos megoldást választottam:
Az adatbázis-kezelő hitelesítő rendszerébe csak a szerepköröknek
megfelelő felhasználókat hoztam létre (1 db szülő, 1 db tanár, 1 db
adminisztrátor). A szerepkörökhöz rendeltem hozzá (közvetve a tárolt
eljárásokon át) a táblaelérési jogokat.
A szerepkörökön belüli hozzáféréseket a program tartalmazza az
adattáblák közötti kapcsolatok segítségével. Például: Egy bejelentkező
szülőnek csak azoknak a diákoknak az adatait kérem le a lekérdezés során,
akikkel kapcsolatban van (akik az ő gyermekei).
Ennek a megoldásnak a hátránya, hogy a felhasználói felületet
megkerülve, az adatbázis szerkezetének (tárolt eljárásainak) alapos
ismeretében bármely szülői felhasználói fiókkal bármely tanuló adata
lekérdezhető (de nem módosítható).
A lehetséges alternatíva az lenne, hogy minden felhasználót bejegyzünk
az adatbázis-kezelő hitelesítő rendszerébe. Ennek a módszernek több hátránya
is van:
• Az SQL szerveren a felhasználói fiókok az egész szerverre vonatkoznak
(és nem egy adatbázisra). Egy felhasználói fiókot létrehozásához legalább
securityadmin szerepkör birtokában lehet csak létrehozni. Ebből az
következik, hogy minden tanárnak securityadmin-nak kellene lennie az
Elektronikus napló − 22 − Magyary Gyula
egész szerveren ahhoz, hogy létre tudja hozni a szülők felhasználói fiókjait.
Ez sem probléma addig, amíg a tanár az elektronikus napló keretei között
marad. Ha azonban kiismeri a szerver felépítését, egy „ravasz” program
segítségével nagyobb károkat is okozhat akár a szerveren található más
adatbázisokban is.
• Az adatbázis szerver az adatlekéréshez létrehozott kapcsolatokat
(connections) nem építi le azonnal, miután a felhasználó lezárja a
kapcsolatot. Így ha ugyanazt a kapcsolatot rövid időn belül ismét kérik, a
felhasználónak nem kell várakoznia a kapcsolat felépítésére. Ez az eset
csak akkor állhat fent, ha ugyanarról a kapcsolatról van szó, tehát (többek
között) a felhasználónév megegyezik. Ha minden tanár (vagy szülő) eltérő
felhasználó névvel jelentkezik be, az egyben más kapcsolatot is
eredményez, így a gyorsítás e lehetőségétől elesünk.
Adatlekérés és manipulálás
Az adatlekérést és manipulálást kétféleképpen lehetne megvalósítani:
• A C# kódba ágyazott select, insert, delete, update parancsokkal.
• Tárolt eljárások segítségével.
Utóbbi megoldást választottam a következő okok miatt:
• Biztonságosabb: Nem kell a felhasználónak közvetlenül elérhetővé tenni az
adattáblát. Hiába ismeri a szabvány SQL parancsokat és az adattáblák
nevét, nem éri el a tartalmukat.
• Egyszerűbb a jogok kiosztása. Kizárólag a tárolt eljárásra kell végrehajtási
jogot adni a megfelelő szerepkörű felhasználónak. A jog nem a táblához,
hanem feladathoz köthető. Természetesen így is fennáll annak a
lehetősége, hogy egy megszerzett jelszó birtokában, az elektronikus naplót
megkerülve, egy betörő (például szülő szerepkörrel) megnézze a tárolt
eljárás paraméterlistáját és lekérdezze a nem neki szánt adatokat is (például
más szülő gyermekeinek jegyeit).
• Csökken a hálózati adatforgalom, mert nem kell elküldeni a teljes SQL
parancsok kódját a kliensekről.
Elektronikus napló − 23 − Magyary Gyula
• Gyorsabb a végrehajtása. A tárolt eljárás futtatásához a szerver nem készít
minden egyes alkalommal lekérdezési tervet.
• Több feladatot lehet áthárítani a kliensről a szerverre. Ezzel egyrészt a
kliens tehermentesíthető, másrészt a program modulárisabb lesz, ami a
fejlesztésnél előny. (Áttekinthetőbb a kód, és a tárolt eljárás belseje
módosítható a program módosítása nélkül.)
Hivatkozási integritás kezelése
Az egymáshoz kapcsolódó adattáblák gyakran csak együtt módosíthatók.
Ha erre nem ügyelünk, az adatbázis össze nem függővé, tehát
használhatatlanná válik.
A hivatkozási integritás megsértésének figyelésére van az Ms Sql Server
–nek beépített lehetősége, idegenkulcs megszorítás formájában.
A hivatkozási integritás megőrzésére kétféle módszer közül is
választhatunk:
• Az adatbázis-kezelő lehetőségeket biztosít a táblákból történő együttes
törlésre, módosításra, kaszkádolt törlés illetve kaszkádolt módosítás
formájában.
• A program kódjában (esetünkben a tárolt eljárásokban) gondoskodunk a
hivatkozási integritás megőrzéséről.
Az idegenkulcs megszorítások figyelése illetve a kaszkádolt törlés és
módosítás az adatbázis-kezelő szervertől plusz erőforrásokat igényel. Ha a
velük kapcsolatos kivételek, hibaüzenetek kezelése a kliens oldalon történne,
az adatforgalom is megnőne.
Mindezek figyelembevételével úgy döntöttem, hogy a tárolt eljárásokban
valósítom meg a hivatkozási integritás megőrzését.
A rendszer funkciói, képernyő tervek
A program desktop alkalmazás, tehát egy ablakban találhatók az elérhető
funkciók.
Elektronikus napló − 24 − Magyary Gyula
Mivel a szerepkörök jelszavait nem akarjuk minden adott szerepkörű
felhasználónak megadni, a program tartalmazza őket. Éles rendszerben,
különösen Internetről történő csatlakozás esetén több kliensprogramot kellene
írni. A szülő kliensprogramja nem tartalmazná a tanároknak szóló funkciókat,
így nem lenne benne a tanár szerepkör jelszava sem, amihez hozzájuthatna a
program esetleges visszafejtésével. A programmal szemben azonban csak
helyi felhasználás volt a követelmény, így az egyetlen kliensprogramos
megoldás megfelelő.
Bejelentkezés
A program indítása után a Be- és kijelentkezés menüből választhatjuk ki,
milyen szerepkörű felhasználóként jelentkezünk be. Megjelenik egy ablak,
ahol megadhatjuk a felhasználó nevét és jelszavát.
A szűrés és státusz keretben található piros felirat jelzi, milyen nevű
felhasználóként vagyunk bejelentkezve.
Feladatválasztás
Innentől az elérhető funkciók a szerepkörtől függenek. A funkciókat a
Feladatok menüből választhatjuk ki. Csak az aktív szerepkörhöz tartozó
funkciók érhetők el.
Elektronikus napló − 25 − Magyary Gyula
Az ablak tartalma minden esetben a szerepkörnek és az igénybevett
funkciónak megfelelően módosul.
Felhasználó adatainak megváltoztatása
Ebben a rendszerben minden felhasználónak jogában áll megváltoztatnia
a nevét, a születési dátumát (hátha rosszul írták be), valamint a jelszavát.
Egyedül a felhasználónév nem módosítható. Az adatok közül bármelyek
módosíthatóak akár egyszerre is.
Minden módosításhoz kötelező a jelszót két példányban megadni.
A módosítás sikerességéről üzenetet kapunk.
Szülők tevékenységei
Jegyek megtekintése
A Feladatok/Jegyek kezelése menüt választva juthat a szülő az itt látható
ablakba.
Elektronikus napló − 26 − Magyary Gyula
A jegyek az ablak középső részén lesznek felsorolva a legfontosabb
adataikkal (jegy, téma, tárgy, tanuló neve).
Ha a középső keretben kiválaszt egy jegyet, annak részletei az alsó
keretben megjelennek. Így kiderül, mikor kapta a tanuló a jegyet és melyik
tanártól. (Ezek az információk már nem fértek volna el a középső keretben.)
Ha sok a jegy, a Szűrés és státusz keretben állíthat be rá szűrési
feltételeket:
• Tanuló neve: Csak a kiválasztott nevű tanuló jegyei jelennek meg. A lista
tartalmaz egy mind lehetőséget is. Ennek segítségével jelenítheti meg
összes gyermekének adatait egyszerre.
• Tantárgy neve: Csak a kiválasztott tantárgy jegyei jelennek meg. Itt is
működik a mind lehetőség, értelemszerűen.
• Ettől – Eddig dátummezők segítségével kényelmesen beállíthatja, milyen
időszakból vár adatot. Alapértelmezés az aktuális tanév kezdete és vége.
A Bezárás gomb segítségével léphetünk ki a funkcióból. Ettől még a
bejelentkezés megmarad, választhatunk más feladatot.
Elektronikus napló − 27 − Magyary Gyula
Mulasztások megtekintése
A Feladatok/Jegyek kezelése menüt választva juthat a szülő az itt látható
ablakba.
Az ablak használata teljesen megegyezik a Jegyeknél leírtakkal.
A szülők lehetséges funkcióit foglalja össze az alábbi
tevékenységdiagram.
Elektronikus napló − 28 − Magyary Gyula
AlkalmazásSzülő
Azonosító megadása Hibaüzenet kiírása/ Sikertelen azonosítás
Funkciók elérhetővé tétele
/ Sikeres azonosítás
Funkció választása
/ Kilépés
Alapértelmezett jegylista
Ablak bezárása
/ jegyek
Alapértelmezett hiányzáslista
/ hiányzás
Hiányzás áttekintése
/ Nincs szűrés
Szűrt hiányzás megjelenítése/ Szűrés
Jegyek áttekintése
/ Szűrés
Szűrt jegyek megjelenítése
/ Nincs szűrés
Jelszóváltoztató ablak megjelenítése/ Jelszómódosítás
Jelszó megadása
Jelszó ellenőrzése
/ Nem elfogadható
/ Elfogadható
Szűrés beállítása
Szűrés beállítása
Tanárok tevékenységei
Jegyek kezelése
Az ablak elérése és használatának nagy része megegyezik a szülőknél
látottakkal.
Elektronikus napló − 29 − Magyary Gyula
Kényelmi okokból, az ablakba történő belépéskor a tanár által utoljára
bevitt érdemjegy adataira állítja be a program a szűrés Tanuló, Tantárgy és
Osztály legördülő listáit.
A Csak aktívak jelölőnégyzet bekapcsolásával az Osztály listában csak
az aktív tanulók fognak megjelenni.
Az Aktuális adat keretben a középső listából kiválasztott jegy adatait
változtathatjuk meg. Ehhez az Aktuális adat keretben át kell írni, illetve a
listákból, dátummezőből ki kell választani a módosítandó adatokat. Az
adatbázis tényleges megváltoztatása csak a Módosítás gombra történő kattintás
(és a megerősítés elfogadása) után történik meg.
A Törlés gombot választva, megerősítés után, a kiválasztott jegy
törlődik.
Az Új jegy gombra kattintva jegyezhetünk be új érdemjegyet egy
segédablakban.
Kényelmi okokból a listák adatait a program előkészíti. Kitölti a tanár
nevét a bejelentkezett tanár nevével, a dátumot az aktuális dátummal, a tanuló
Elektronikus napló − 30 − Magyary Gyula
nevét és a tantárgyat az utoljára bevitt érdemjegyhez tartozó tanuló nevével és
tantárgyával.
A Rögzítés gombra kattintva vihetjük be az adatbázisba az érdemjegyet,
ha a Leírás mező kitöltött és a Jegy mező egész számot tartalmaz. Mivel
általában a tanárok egyszerre több jegyet visznek be, a Rögzítés gombbal nem
lépünk vissza a főablakba, hogy ne kelljen minden egyes jegy beviteléhez
ismét az Új jegy gombra kattintani.
A főablakba visszatérni a Kilépés gombbal lehet.
Mulasztások kezelése
Az ablak elérése és használatának nagy része megegyezik a szülőknél
látottakkal. Az eltérések az adatbevitellel, törléssel, módosítással
kapcsolatosak. Ezek a részek teljesen hasonlóan működnek a jegyek
kezelésénél látottakhoz.
Diákok kezelése
A Feladatok/Diákok kezelése menüpontot választva juthat a tanár abba
az ablakba, ahol a diákok adatait kezelheti.
Elektronikus napló − 31 − Magyary Gyula
Az ablak szerkezete, beleértve a Új tanuló gomb „mögötti” segédablakot,
az előzőekhez hasonló.
A Felügyelet listában a tanuló felügyeletét ellátó tanár, tipikus esetben az
osztályfőnök neve látható alapértelmezettként.
Az aktív jelölőnégyzettel a tanuló státuszát állíthatjuk be. Aktívra
állítjuk, ha a tanuló az iskola beiratkozott tagja.
A Szülő listában csak azok közül választhatunk, akiket előzőleg rögzített
már valaki a szülő táblában.
Szülők kezelése
A Feladatok/Szülők kezelése menüpontot választva juthat a tanár abba az
ablakba, ahol a szülők adatait kezelheti.
Az ablak lehetőségei szinte teljesen megegyeznek a diákok ablakéval.
Elektronikus napló − 32 − Magyary Gyula
Adminisztrátor tevékenységei
Osztályok kezelése
A Feladatok/Osztályok kezelése menüpontot választva juthat az
adminisztrátor abba az ablakba, ahol az osztályok adatait kezelheti.
Az ablak használta megegyezik az előzőekben ismertetettekkel.
A nem aktív osztályokat a középső listában a betűjele előtt olvasható –
jelek jelzik.
Elektronikus napló − 33 − Magyary Gyula
Tantárgyak kezelése
A Feladatok/Tantárgyak kezelése menüpont választva juthat az
adminisztrátor a tantárgykezelő ablakba.
Elektronikus napló − 34 − Magyary Gyula
Tanárok kezelése
A Feladatok/Tanárok kezelése menüpont választva juthat az
adminisztrátor a tantárgykezelő ablakba.
Telepítés
Szerver oldalon
Előfeltételek
A szerver számítógépre szükséges, hogy telepítve legyen az Ms Sql
Server 2005 program. Ezt a programot Windows 2003 Serverre lehet
telepíteni.
A fent említett Microsoft termékek telepítéséről sok szakirodalom áll
rendelkezésre, így a telepítés részletes leírásától eltekintek.
A további lépések elvégzéséhez rendelkezni kell az Ms Sql Serveren
rendszergazdai jogokkal.
Elektronikus napló − 35 − Magyary Gyula
A telepítő script tartalma
Az elektronikus napló adatbázisának telepítését script segítségével
végezzük, melynek neve: telepito.sql.
A script a következő feladatokat látja el:
• Létrehozza az adatbázist.
• Létrehozza az adattáblákat.
• Létrehozza a szerepköröket a hozzájuk tartozó jelszavakkal.
• Létrehozza a tárolt eljárásokat.
• Beállítja a szerepkörök jogait a megfelelő tárolt eljárásokra.
A telepítés menete
• Indítsuk el az SQL Server Manager programot – Start/Minden
program/Microsoft SQL Server 2005/SQL Server Managment Studio.
• A középen megjelelő Connect to Server ablakban adjuk meg a
rendszergazda jogú felhasználó nevét (Login) és jelszavát (Password),
majd kattintsunk a Connect gombra.
• Válasszuk a File/Open/File… menüt.
• Tallózzuk ki a telepito.sql fájlt, és válasszuk az Open gombot.
• Ismét megjelenik a Connect to Server ablak. Járjunk el a már megismert
módon.
• Futtassuk a scriptet az F5 billentyű megnyomásával.
• A telepítés sikeres, ha középen alul a Messages ablakban csak a
Command(s) completed successfully üzenetet látjuk.
Elektronikus napló − 36 − Magyary Gyula
Telepítés visszavonása
A telepítés visszavonásához törölni kell az adatbázist és a szerepköröket.
Ehhez használhatjuk például az Object Explorert az SQL Server Management
Studio-ban.
• Az adatbázis törléséhez: Válasszuk a fából a Databases/naplo elemet, majd
nyomjuk meg a Del billentyűt. A megerősítő ablakban válasszuk az OK
gombot.
• A szerepkörök törléséhez: Válasszuk a fából a Security/Logins/naploadmin
elemet, majd nyomjuk meg a Del billentyűt. A megerősítő ablakban
válasszuk az OK gombot.
• Ismételjük meg az előző lépét a szulo és a tanar elemeken is.
Bejelentkezés engedélyezése tartományon kívülről
Az MS SQL 2005 Server kétféle módon hitelesítheti a felhasználókat:
• Az SQL szerver hitelesít.
• A Windows 2003 tartományvezérlő hitelesít. Ehhez a felhasználói fióknak
a tartományban léteznie kell.
Elektronikus napló − 37 − Magyary Gyula
Az MS SQL 2005 Server-en telepítése után az első lehetőség tiltva van.
Mind a fejlesztés, mind az élesben történő üzembe helyezés egyszerűbb
azonban, ha az SQL szerver hitelesít. (Nem kell egyeztetni a Windows 2003
Server rendszergazdájával.) Ezért az SQL szerveres hitelesítést választottam,
amihez a tiltást fel kell oldani. Ehhez a következő lépéseket tegyük meg az
SQL Server Managment Studio –ban:
• Válasszuk az Object Explorer ablakban az SQL szerver nevéről (legfelső
sor) nyíló helyi menü Properties menüpontját.
• Válasszuk a bal oldali felső listából a Security lehetőséget.
• Felül, jobb oldalon SQL Server and Windows Authentication mode opciót.
• OK.
Kliens oldalon
Telepítés
A Visual Studio lehetőséget biztosít a programok telepítő változatának
elkészítésére. Éltem ezzel a lehetőséggel, így a telepítéshez mindössze a
setup.exe fájl elindítására van szükség.
Szerver címének beállítása
A kliensprogram tartalmazza a csatlakozáshoz szükséges ún. connection
string-et, ami a csatlakozás paramétereit tartalmazza. A csatlakozás egyik
paramétere a szerver címe, amihez a programnak csatlakoznia kell.
Alapértelmezésben ez localhost-ra van állítva, mert a fejlesztéskor és
előreláthatóan a szakdolgozat bemutatásakor is a szervergépet használjuk
kliensnek is.
Ha ezen változtatni akarunk, a kódban át kell írni a localhost szót
(egyetlen helyen, a főablak kódjának 26. sorában) a szerver gép nevére vagy
IP címére.
Természetesen ekkor újra el kell készíteni a telepítő csomagot. Ez a
megoldás elég körülményesnek látszik. Elképzelhető lenne egy olyan
megoldás, hogy egy egyszerű szövegfájlba beírnám ezt az adatot, és onnan a
Elektronikus napló − 38 − Magyary Gyula
program, indulásakor beolvasná. Ezzel azonban a fejlesztő kiengedné a
kezéből annak a lehetőségét, hogy kontrollálja, ki és mire használja a
programját.
Tesztelés
A tesztelés menete
Mivel a program elég nagy, a tesztelését célszerű blokkokra bontva
végezni.
Két nagy blokkra lehet bontani a tesztelést a fejlesztői környezetek
mentén:
• Az adatbázis-kezelőben fejlesztett kódok tesztelése.
• A Visual Studio-ban fejlesztett kódok tesztelése.
Az adatbázis tesztelése
Az adatbázis tesztelését az SQL Server Managment Studio program
segítségével végeztem. Ez a program az MS SQL Server 2005 telepítése után
automatikusan rendelkezésre áll.
A tesztelés célja azt ellenőrizni, hogy a telepit.sql fájlban található kód
megfelelő-e.
Szintaktikai ellenőrzés
Az SQL Server Managment Studio képes volt lefuttatni a scriptet, tehát
az szintaktikailag helyes.
Adattáblák
Az adattáblák ellenőrzéséhez összehasonlítottam az adatbázistervnél
szereplő táblákat az SQL menedzserben grafikusan megjeleníthető
adattáblákkal.
• Tábla és mezőnevek rendben.
• Adattípusok rendben.
• Kulcsok rendben.
Elektronikus napló − 39 − Magyary Gyula
Hibát nem találtam, az adattábla készítő scriptrészletet jónak fogadom
el.
Tárolt eljárások, jogosultságok
A tárolt eljárások ellenőrzéséhez először felvittem INSERT SQL parancs
segítségével pár adatot (tesztadatok.sql). Az adatokat igyekeztem úgy
megválasztani, hogy lefedjék a lehetséges eseteket.
A tárolt eljárások parancsait az SQL Server Manager parancssorában
adtam ki. A lekérdezést végző eljárásokat a Messages ablakban visszaadott
értékei alapján ellenőriztem. A változtató, törlő, és új adat megadását végző
eljárások ellenőrzése az adattáblák grafikus megjelenítése utáni
szemrevételezéssel történt.
A tárolt eljárásokkal együtt a hozzájuk tartozó jogok is könnyen
ellenőrizhetők (más jogokra pedig nincs szükség!), ha az eljárást annak a
szerepkörnek a nevében futtatjuk, aki a programban is használni fogja.
Az eljárásokat szerepkörönként ellenőriztem.
Ha az eljárás elágazást tartalmazott, törekedtem az elágazás minden ágát
lefedni.
Minden tárolt eljárást egyszeri lefedéssel hibátlannak találtam.
Kezelőfelület tesztelése
A fejlesztés közben használt adatbázist teljes egészében letöröltem, majd
a tesztadatok nélkül visszatöltöttem.
Innen kezdve csak a program felületéről módosítottam adatokat.
Abban a sorrendben haladtam, ahogy a programot is valószínűsíthetően
használni fogják.
Elektronikus napló − 40 − Magyary Gyula
Adminisztrátor feladatai induláskor
Bejelentkezés
Be- és kijelentkezés/Adminisztrátorként menüt választottam. Megjelent a
bejelentkező ablak. Felhasználónév: naploadmin, jelszó: naplókirály.
Bejelentkezve: adminisztrátor szöveg megjelent.
Tanárkezelő ablak tesztje
A Feladatok/Tanárok kezelése lehetőséget választottam. Teljesen üres
ablakot kaptam, alul az Új tanár és Bezárás gombok aktívak, Csak aktívak
jelölőnégyzet bekapcsolva.
Új tanár gombot választottam. Új tanár bevitele ablak megjelent.
Név: Sehonnai Bitang Ember, Születési dátum: 1975. december 9.,
Felhasználónév: sehonnai, Jelszó: bitangka, Aktív: bekapcsolva. Rögzítés.
Név: Lompos Ármin, Születési dátum: 1968. november 10.,
Felhasználónév: lompos, Jelszó: arminka, Aktív: bekapcsolva. Rögzítés.
Kilépés. Visszajutottam a tanárokat mutató ablakba. A felvitt 2 tanár
ABC sorrendben megjelent.
Új tanár gombot választottam. Az előző úton még négy tanárt vittem fel:
Név Születési dátum Felhasználó név jelszó Aktív
Törlendő Róza 2006. dec. 25. torlen aznincs Nem
Mák Virág 1966. dec. 25. makv gubocska Igen
Szomorú Szonja 1959. dec. 25. szomszon csufi Igen
Báj Vigyor 1982. április 21. bajv mosoly Nem
Kilépés. Visszajutottam a tanárokat mutató ablakba. A 4 aktív tanár ABC
sorrendben megjelent.
A Szűrés és státusz keretben kikapcsoltam a Csak aktívak
jelölőnégyzetet. Megjelent mind a 6 tanár.
Kijelöltem a középső listában Törlendő Rózát. Minden adatát
módosítottam az Aktuális adat keretben. Név: Sikér Hedvig, Születési dátum:
1999. dec. 25., Felhasználónév: sikerh, jelszó: sikeresvok, Aktív: igen.
Elektronikus napló − 41 − Magyary Gyula
Módosítás. Figyelmeztető ablak megjelent. Igen. A középső listán a
megváltozott adatú rekord megjelent.
Kijelöltem a középső listában Sikér Hedviget. Törlés. Figyelmeztető
ablak megjelent. Igen. Az ablakból eltűnt Sikér Hedvig rekordja.
Csak aktívak jelölőnégyzetet bekapcsoltam. Csak az aktív tanárok
láthatók.
Bezárás. Tanárkezelő felület eltűnt.
Osztálykezelő ablak tesztje
A Feladatok/Osztályok kezelése lehetőséget választottam. Teljesen üres
ablakot kaptam, alul az Új osztály és Bezárás gombok aktívak, Csak aktívak
jelölőnégyzet bekapcsolva.
Új osztály gombot választottam. Új osztály bevitele ablak megjelent.
Osztály indulása: 2006. augusztus 31., betűjel: A, Képzési évek: 8, Első
évfolyam: 5. Rögzítés.
Osztály indulása: 2006. augusztus 31., betűjel: B, Képzési évek: 8, Első
évfolyam: 5. Rögzítés.
Kilépés. Visszajutottam az osztályokat mutató ablakba. A felvitt 2
osztály, mint 5.A és 5.B megjelent.
Új osztály gombot választottam. Az előző úton még négy osztályt vittem
fel:
Indulás Betűjel Képzési évek Első évfolyam
2005. aug. 31. A 8 5
2005. aug. 31. B 8 5
1993. aug. 31. A 8 5
1993. aug. 31. B 8 5
Kilépés. Visszajutottam a tantárgyakat mutató ablakba. Csak a 4 aktív
osztály látszik.
A Szűrés és státusz keretben kikapcsoltam a Csak aktívak
jelölőnégyzetet. Megjelent mind a 6 osztály.
Elektronikus napló − 42 − Magyary Gyula
Kijelöltem a középső listában az 1993-as indulású B osztályt. Az
Aktuális adat keretben átírtam az adatait: Betűjel: C, évfolyam: 1994. aug. 31.,
Képzési évek: 4, Első évf.: 9. Módosítás. Figyelmeztető ablak megjelent. Igen.
A középső listán a megváltozott adatú rekord megjelent.
Kijelöltem a középső listában az 1994-es indulású osztályt. Törlés.
Figyelmeztető ablak megjelent. Igen. A középső keretből eltűnt az 1994-es
osztály.
Bezárás. Osztály felület eltűnt.
Tantárgykezelő ablak tesztje
A Feladatok/Tantárgyak kezelése lehetőséget választottam. Teljesen üres
ablakot kaptam, alul az Új tantárgy és Bezárás gombok aktívak.
Új tantárgy gombot választottam. Új tantárgy bevitele ablak megjelent.
Tantárgy neve: matematika. Rögzítés.
Tantárgy neve: fizika. Rögzítés.
Kilépés. Visszajutottam a tantárgyakat mutató ablakba. A felvitt 2
tantárgy ABC sorrendben megjelent.
Új tantárgy gombot választottam. Az előző úton még négy tantárgyat
vittem fel: élővilág, földrajz, nyelvtan, történelem.
Kilépés. Visszajutottam a tantárgyakat mutató ablakba. A 6 tantárgy neve
ABC sorrendben megjelent.
Kijelöltem a középső listában az élővilágot. Az Aktuális adat keretben
átírtam a nevét: biológia –ra. Módosítás. Figyelmeztető ablak megjelent. Igen.
A középső listán a megváltozott adatú rekord megjelent.
Kijelöltem a középső listában a nyelvtant. Törlés. Figyelmeztető ablak
megjelent. Igen. A középső keretből eltűnt a nyelvtan.
Bezárás. Tantárgy felület eltűnt.
Elektronikus napló − 43 − Magyary Gyula
Tanár feladatai „tanévkezdéskor”
Bejelentkezés
Be- és kijelentkezés/Tanárként menüt választottam. Megjelent a
bejelentkező ablak. Felhasználónév: sehonnai, jelszó: bitangka. Bejelentkezve:
sehonnai szöveg megjelent.
Tanári adatainak megváltoztatása
A Feladatok/Felhasználói adatai menüt választottam. Megjelent a Tanár
adatainak módosítása ablak.
Átírtam az adatokat: Név – S.B.E., Születési dátum – 1975. december
20., Jelszó: ember, Jelszó ismét: bitang. Módosítás. Eltérő jelszóra utaló ablak
megjelent. OK.
Jelszó ismét: ember. Módosítás. Adatmódosítást nyugtázó ablak
megjelent. OK. Megváltoztató ablak eltűnt.
Ismét a Be- és kijelentkezés/Tanárként menüt választottam. Megjelent a
bejelentkező ablak. Felhasználónév: sehonnai, jelszó: ember. Bejelentkezve:
sehonnai szöveg megjelent.
Szülőkezelő ablak tesztje
A Feladatok/Szülők kezelése menüt választottam. Üres ablakot kaptam,
alul az Új szülő és Bezárás gombok aktívak, a Szűrő keret Tanár listájában a
bejelentkezett tanár (S.B.E.) a kiválasztott elem.
Új szülő gombot választottam. Új szülő bevitele ablak megjelent.
Név: Vanek Ödön, Születési dátum: 1965. december 26.,
Felhasználónév: vaneko, Jelszó: vaneko, Aktív: bekapcsolva. Rögzítés.
Név: Kő Pál, Születési dátum: 1976. december 10., Felhasználónév: kop,
Jelszó: kop, Aktív: bekapcsolva. Rögzítés.
Kilépés. Visszajutottam a szülőket mutató ablakba. A felvitt 2 szülő
ABC sorrendben megjelent.
Új szülő gombot választottam. Az előző úton még négy szülőt vittem fel:
Elektronikus napló − 44 − Magyary Gyula
Név Születési dátum Felhasználó név jelszó Aktív
Törölt Elek 2006. dec. 26. torolte torolte Nem
Nagy Éva 1966. dec. 12. nagye nagye Igen
Kis Béla 1959. dec. 26. kisb kisb Igen
Fa Géza 1982. április 22. fag fag Nem
Kilépés. Visszajutottam a szülőket mutató ablakba. A 4 aktív szülő ABC
sorrendben megjelent.
A Szűrés és státusz keretben kikapcsoltam a Csak aktívak
jelölőnégyzetet. Megjelent mind a 6 szülő.
Kijelöltem a középső listában Törölt Eleket. Módosítottam az adatait az
Aktuális adat keretben. Név: Törölt Brúnó, Születési dátum: 1999. december.
26., Felhasználónév: toroltb, jelszó: toroltb, Felügyelet: Báj Vigyor, Aktív:
igen.
Módosítás. Figyelmeztető ablak megjelent. Igen. A középső listáról a
megváltozott adatú rekord eltűnt. (Mert nem sehonnai felügyeli.)
A Szűrés és státusz keretben a Tanár listából a mind lehetőséget
választottam. Törölt Brúnó megjelent a középső listában
Kijelöltem a középső listában Törölt Brúnót. Törlés. Figyelmeztető ablak
megjelent. Igen. Az ablakból eltűnt Törölt Brúnó rekordja.
Csak aktívak jelölőnégyzetet bekapcsoltam. Csak az aktív szülők (4 db)
láthatók.
Bezárás. Tanárkezelő felület eltűnt.
Beléptem tanárként lompos felhasználónévvel és arminka jelszóval.
Majd az előzőekhez hasonló módon felvittem 3 szülőt a következő adatokkal:
Név Születési dátum Felhasználó név jelszó Aktív
Sóhaj Manó 1976. dec. 26. sohajm sohajm Igen
Kék Irén 1966. dec. 12. keki keki Igen
Vas István 1959. dec. 26. vasi vasi Igen
Beléptem tanárként makv felhasználónévvel és gubocska jelszóval. Majd
az előzőekhez hasonló módon felvittem 3 szülőt a következő adatokkal:
Elektronikus napló − 45 − Magyary Gyula
Név Születési dátum Felhasználó név jelszó Aktív
Víz Elek 1972. dec. 21. vize vize Igen
Vég Béla 1968. okt. 26. vegb vegb Igen
Lost Ede 1970. nov. 26. loste loste Igen
Tanulókezelő ablak tesztje
Beléptem tanárként sehonnai felhasználónévvel és ember jelszóval.
A Feladatok/Diákok kezelése menüt választottam. Üres ablakot kaptam,
alul az Új szülő és Bezárás gombok aktívak, a Szűrő keret Osztály listájában a
mind a kiválasztott elem, Csak aktívak jelölőnégyzet bekapcsolva.
Új tanuló gombot választottam. Új tanuló bevitele ablak megjelent.
Név: Kő Péter, Születési dátum: 1993. december 26., Szülő: Kő Pál,
Osztály: 5.A, Aktív: bekapcsolva. Rögzítés.
Név: Kő Éva, Születési dátum: 1993. december 26., Szülő: Kő Pál,
Osztály: 5.A, Aktív: bekapcsolva. Rögzítés.
Kilépés. Visszajutottam a tanulókat mutató ablakba. A felvitt 2 tanuló
ABC sorrendben megjelent.
Új tanuló gombot választottam. Az előző úton még négy tanulót vittem
fel:
Név Születési dátum Szülő Osztály Aktív
Törölt Mufurcz 1993. okt. 26. Vanek Ödön 5.A Nem
Patta Nóra 1992. dec. 31. Nagy Éva 5.A Igen
Kis Bubó 1993. dec. 15. Kis Béla 5.A Igen
Fa Béla 1993. április 12. Fa Géza 5.A Nem
Kilépés. Visszajutottam a szülőket mutató ablakba. A 4 aktív tanuló
ABC sorrendben megjelent.
A Szűrés és státusz keretben kikapcsoltam a Csak aktívak
jelölőnégyzetet. Megjelent mind a 6 tanuló.
Kijelöltem a középső listában Törölt Mufurczot. Módosítottam az adatait
az Aktuális adat keretben. Név: Törölt Hedvig, Születési dátum: 1999.
Elektronikus napló − 46 − Magyary Gyula
december. 26., Szülő: Fa Géza, Osztály: 6.B, Felügyelet: Báj Vigyor, Aktív:
igen.
Módosítás. Figyelmeztető ablak megjelent. Igen. A középső listáról a
megváltozott adatú rekord eltűnt. (Mert nem az 5.A –ba jár.)
A Szűrés és státusz keretben az Osztály listából a mind lehetőséget
választottam. Törölt Hedvig megjelent a középső listában
Kijelöltem a középső listában Törölt Hedviget. Törlés. Figyelmeztető
ablak megjelent. Igen. Az ablakból eltűnt Törölt Hedvig rekordja.
Csak aktívak jelölőnégyzetet bekapcsoltam. Csak az aktív tanulók (4 db)
láthatók.
Bezárás. Tanulókezelő felület eltűnt.
Beléptem tanárként lompos felhasználónévvel és arminka jelszóval.
Majd az előzőekhez hasonló módon felvittem 4 tanulót a következő adatokkal:
Név Születési dátum Szülő Osztály Aktív
Zöld Jolán 1993. okt. 26. Kék Irén 5.B Igen
Sóhaj Petra 1992. dec. 31. Sóhaj Manó 5.B Igen
Vas Ábel 1993. dec. 15. Vas István 5.B Igen
Vég Dóra 1993. április 12. Vég Béla 5.B Nem
Beléptem tanárként makv felhasználónévvel és gubocska jelszóval. Majd
az előzőekhez hasonló módon felvittem 4 tanulót a következő adatokkal:
Név Születési dátum Szülő Osztály Aktív
Lost Hilda 1992. okt. 25. Lost Ede 6.A Igen
Víz Igor 1991. dec. 13. Víz Elek 6.A Igen
Vas Irén 1992. dec. 30. Vas István 6.A Igen
Vanek Géza 1992. április 11. Vanek Ödön 6.A Igen
Beléptem tanárként szomszon felhasználónévvel és csufi jelszóval. Majd
az előzőekhez hasonló módon felvittem 4 tanulót a következő adatokkal:
Név Születési dátum Szülő Osztály Aktív
Zöld Ferenc 1992. okt. 25. Kék Irén 6.B Igen
Sóhaj Béla 1991. dec. 30. Sóhaj Manó 6.B Igen
Elektronikus napló − 47 − Magyary Gyula
Vég Irén 1992. dec. 13. Vég Béla 6.B Nem
Kő Gizella 1992. április 11. Kő Pál 6.B Igen
Tanár feladatai tanév közben
Haladás kezelő ablak tesztje
Beléptem tanárként sehonnai felhasználónévvel és ember jelszóval.
A Feladatok/Órák kezelése menüt választottam. Üres ablakot kaptam,
alul az Új óra és Bezárás gombok aktívak, a Szűrő keret Tanár listájában a
bejelentkezett tanár neve (S.B.E) a kiválasztott elem, Osztály: 6.A, Tantárgy:
mind, Ettől: 2006. aug. 25, Eddig 2007. július 10.
Új óra gombot választottam. Új óra bevitele ablak megjelent.
Dátum: 2006. szeptember 1., Óra a napon: 1, Tantárgy: Biológia,
Osztály: 5.A, Tartalom: Poloskák. Rögzítés.
Dátum: 2006. szeptember 3., Óra a napon: 4, Tantárgy: Biológia,
Osztály: 5.A, Tartalom: Galócák. Rögzítés.
Kilépés. Visszajutottam az órákat mutató ablakba.
Az Osztály listából az 5.A –t választottam. A felvitt 2 óra óraszám
szerinti csökkenő sorrendben megjelent.
Új óra gombot választottam. Az előző úton még öt órát vittem fel:
Óra a
napon
Dátum Tantárgy Osztály Tartalom Helyettesítés
3 2006.09.01. történelem 5.A Kőbaltácska Nem
2 2006.09.04. történelem 5.A Ősember Nem
4 2006.09.03. földrajz 5.A A térkép Igen
1 2006.09.02. biológia 6.B Fenyők Nem
5 2006.09.04. biológia 6.B Tuják Nem
Kilépés. Visszajutottam az órákat mutató ablakba. Az Osztály listából
rendre az 5.A-t, a 6.B-t, majd a mind-et választottam. Mindhárom esetben a
Tantárgyak listából a történelmet, a biológiát, a földrajzot, a matematikát és a
mind-et választottam. Minden esetben csak a feltételeknek megfelelő órákat
láttam a középső keretben.
Elektronikus napló − 48 − Magyary Gyula
Az Ettől: mezőbe kiválasztottam a 2006.09.02, az Eddig mezőben a
2006.09.03 dátumot. Az Osztály és Tantárgy listák mind értéken álltak. Csak a
feltételnek megfelelő 3 db óra maradt a középső listán.
Kijelöltem a középső listában A térkép témájú órát. Módosítottam az
adatait az Aktuális adat keretben. Téma: A ló, dátum: 2006. szeptember 4.,
Óra a napon: 3, Osztály: 6.A, Tanár: Báj Vigyor, Tantárgy: Biológia,
Helyettesítés: nem.
Módosítás. Figyelmeztető ablak megjelent. Igen. A középső listáról a
megváltozott adatú rekord eltűnt. (Mert nem sehonnai jegyezte be.)
A Szűrés és státusz keretben a Tanár listából a mind lehetőséget
választottam, az Ettől mező értékét 2006. szept. 1.-re, az eddig mező értékét
2006.szept. 4.-re állítottam. A ló témájú óra megjelent a középső listában.
Kijelöltem a középső listában A ló témájú órát. Törlés. Figyelmeztető
ablak megjelent. Igen. Az ablakból eltűnt A ló rekordja.
Bezárás. Tanárkezelő felület eltűnt.
Beléptem tanárként lompos felhasználónévvel és arminka jelszóval.
Majd az előzőekhez hasonló módon felvittem a következő órákat:
Óra a
napon
Dátum Tantárgy Osztály Tartalom Helyettesítés
2 2006.09.01. matematika 5.A Összeadás Nem
1 2006.09.02. matematika 5.A Kivonás Nem
2 2006.09.03. matematika 5.A Gyakorlás Nem
5 2006.09.02. matematika 6.B Szorzás Nem
4 2006.09.04. matematika 6.B Osztás Nem
Mulasztás kezelő ablak tesztje
Beléptem tanárként sehonnai felhasználónévvel és ember jelszóval.
A Feladatok/Mulasztások kezelése menüt választottam. Üres ablakot
kaptam, alul az Új mulasztás és Bezárás gombok aktívak, a Szűrő keret Tanuló
listájában, és az Osztály listában mind olvasható, csak aktívak bekapcsolva,
Ettől: 2006. aug. 25, Eddig:. 2007. július 10.
Elektronikus napló − 49 − Magyary Gyula
Az Osztály listából az 5.A –t választottam
Új mulasztás gombot választottam. Új óra bevitele ablak megjelent.
Dátum aktuális, Tanuló listában csak az 5.A tanulói, Tanár lista aktív eleme az
aktuális tanár (S.B.E).
Tanuló: Kis Bubó, Dátum: 2006. szeptember 2., Óra a napon: 1, Igazolt:
igen. Rögzítés.
Tanuló: Kő Éva, Dátum: 2006. szeptember 1., Óra a napon: 1, Késés:
igen. Rögzítés.
Kilépés. Visszajutottam a mulasztásokat mutató ablakba. Csak Kis Bubó
mulasztása látszik.
A Tanuló listából a mind –et választottam. A felvitt 2 mulasztás dátum
szerinti csökkenő sorrendben megjelent.
Új mulasztás gombot választottam. Az előző úton még öt órát vittem fel:
Tanuló Dátum Óra a napon Igazolt Késés
Kő Péter 2006.09.01. 1 nem igen
Kő Péter 2006.09.02. 1 nem igen
Kis Bubó 2006.09.02. 2 igen nem
Kis Bubó 2006.09.02. 3 igen nem
Kis Bubó 2006.09.02. 4 igen nem
Kilépés. Visszajutottam a mulasztásokat mutató ablakba. A Tanuló
listából rendre Kis Bubót, Kő Pétert, Kő Évát, Patta Nórát, mind –et
választottam. Minden esetben csak a feltételnek megfelelő mulasztásokat
láttam a középső keretben.
Az Ettől: mezőbe kiválasztottam a 2006.09.01, az Eddig mezőben a
2006.09.02. dátumot. A Tanuló lista mind értéken állt. Csak a feltételnek
megfelelő mulasztások maradtak a középső listán.
Kijelöltem a középső listában Kő Péter 2006.09.01 1.órai késését.
Módosítottam az adatait az Aktuális adat keretben. Óra a napon: 5, dátum:
2006. szeptember 2., Tanuló: Kő Éva, Tanár: Báj Vigyor, Igazolt: Igen, Késés:
nem.
Elektronikus napló − 50 − Magyary Gyula
Módosítás. Figyelmeztető ablak megjelent. Igen. A középső listán a
módosított rekord látszik.
Kijelöltem a középső listában Kő Éva 2006.09.02. 5. órai hiányzását.
Törlés. Figyelmeztető ablak megjelent. Igen. Az ablakból eltűnt a törölt
rekord.
Bezárás. Mulasztáskezelő felület eltűnt.
Beléptem tanárként lompos felhasználónévvel és arminka jelszóval.
Kiválasztottam az Osztály listából a 6.B –t. Majd az előzőekhez hasonló
módon felvittem a következő mulasztásokat:
Tanuló Dátum Óra a napon Igazolt Késés
Kő Gizella 2006.09.01. 1 nem igen
Sóhaj Béla 2006.09.02. 1 igen nem
Sóhaj Béla 2006.09.02. 2 igen nem
Sóhaj Béla 2006.09.02. 3 igen nem
Sóhaj Béla 2006.09.02. 4 igen nem
Jegy kezelő ablak tesztje
Beléptem tanárként sehonnai felhasználónévvel és ember jelszóval.
A Feladatok/Jegyek kezelése menüt választottam. Üres ablakot kaptam,
alul az Új jegy és Bezárás gombok aktívak, a Szűrő keret Tanuló, Tantárgy és
Osztály listában mind olvasható, csak aktívak bekapcsolva, Ettől: 2006. aug.
25, Eddig 2007. július 10.
A Osztály listából az 5.A –t választottam.
Új jegy gombot választottam. Új jegy rögzítése ablak megjelent. Dátum
aktuális, Tanuló listában csak az 5.A tanulói, Tanár lista aktív eleme az
aktuális tanár (S.B.E), Tantárgy lista aktív eleme a történelem (S.B.E azt
tanítja).
Jegy: 5, Leírás: Gyík, Tanuló: Kis Bubó, Tantárgy: biológia, Dátum:
2006. szeptember 30. Rögzítés.
Jegy: 3, Leírás: Keszeg, Tanuló: Kis Bubó, Tantárgy: biológia, Dátum:
2006. október 15. Rögzítés.
Elektronikus napló − 51 − Magyary Gyula
Kilépés. Visszajutottam a mulasztásokat mutató ablakba. A felvitt jegyek
látszanak. A Tanuló lista Kis Bubóra, a tantárgy lista biológiára állt.
Új jegy gombot választottam. Az előző úton még az alábbi jegyeket
vittem fel:
Jegy Leírás Tanuló Tantárgy Dátum
3 Gyík Kő Péter biológia 2006. szeptember 30.
2 Keszeg Kő Péter biológia 2006. október 15.
4 Ősember Kő Péter történelem 2006. szeptember 25.
3 Fáraók Kő Péter történelem 2006. október 29.
3 Keszeg Kő Éva biológia 2006. október 15.
1 Fáraók Kő Éva történelem 2006. október 21.
Kilépés. Visszajutottam a mulasztásokat mutató ablakba. A Tanuló
listából rendre Kis Bubót, Kő Pétert, Kő Évát, Patta Nórát, mind –et
választottam. Minden esetben ezen belül a Tantárgy listában a történelem,
biológia, matematika, mind lehetőségeket választottam. Mindenhol csak a
feltételnek megfelelő jegyeket láttam a középső keretben.
Az Ettől: mezőbe kiválasztottam a 2006.09.01, az Eddig mezőben a
2006.09.30. dátumot. A Tanuló és Tantárgy lista mind értéken állt.
Osztálylista 5.A-n állt. Csak a feltételnek megfelelő jegyek maradtak a
középső listán.
Kijelöltem a középső listában Kő Péter 3-as Gyíkokra kapott jegyét.
Módosítottam az adatait az Aktuális adat keretben. Jegy: 5, Leírás: Törtek,
Tanuló: Kis Bubó, Tantárgy: matematika, Dátum: 2006. szeptember 25.,
Tanár: Báj Vigyor
Módosítás. Figyelmeztető ablak megjelent. Igen. A középső listán a
módosított rekord látszik.
Kijelöltem a középső listában Kis Bubó matematika jegyét. Törlés.
Figyelmeztető ablak megjelent. Igen. Az ablakból eltűnt a törölt rekord.
Bezárás. Jegykezelő felület eltűnt.
Elektronikus napló − 52 − Magyary Gyula
Beléptem tanárként lompos felhasználónévvel és arminka jelszóval.
Kiválasztottam az Osztály listából a 5.A –t. Majd az előzőekhez hasonló
módon felvittem a következő jegyeket:
Jegy Leírás Tanuló Tantárgy Dátum
4 Összeadás Kő Péter matematika 2006. szeptember 28.
1 Kivonás Kő Péter matematika 2006. október 31.
3 Összeadás Kis Bubó matematika 2006. szeptember 28..
4 Kivonás Kis Bubó matematika 2006. október 31.
5 Összeadás Kő Éva matematika 2006. szeptember 28.
5 Kivonás Kő Éva matematika 2006. október 31.
Szülő feladatai
Bejelentkezés
Be- és kijelentkezés/Szülőként menüt választottam. Megjelent a
bejelentkező ablak. Felhasználónév: kop, jelszó: kop. Bejelentkezve: kop
szöveg megjelent.
Szülő adatainak megváltoztatása
A Feladatok/Felhasználói adatai menüt választottam. Megjelent a Szülő
adatainak módosítása ablak.
Átírtam az adatokat: Név – K.P., Születési dátum – 1975. december 20.,
Jelszó: palika, Jelszó ismét: pal. Módosítás. Eltérő jelszóra utaló ablak
megjelent. OK.
Jelszó ismét: palika. Módosítás. Adatmódosítást nyugtázó ablak
megjelent. OK. Megváltoztató ablak eltűnt.
Ismét a Be- és kijelentkezés/Szülőként menüt választottam. Megjelent a
bejelentkező ablak. Felhasználónév: kop, jelszó: palika. Bejelentkezve: kop
szöveg megjelent.
Elektronikus napló − 53 − Magyary Gyula
Jegy kezelő ablak tesztje
A Feladatok/Jegyek kezelése menüt választottam. Kő Péter matematika
jegyei vannak a középső listában. Az Aktuális adat keret inaktív (a szülő nem
módosíthatja a jegyet), a középen kijelölt jegy részletes jellemzői megjelentek.
A Szűrő keret Tanuló listájában Kő Péter, Tantárgy listájában matematika
olvasható. A dátum mezők értéke: Ettől: 2006. aug. 25, Eddig 2007. július 10.
A Tantárgy listából rendre a biológia, történelem, földrajz, matematika,
mind lehetőségeket választottam. Mindig a feltételeknek megfelelő jegyeket
láttam a középső listában.
Az Ettől: mezőbe kiválasztottam a 2006.09.01, az Eddig mezőben a
2006.09.30. dátumot. A Tanuló és Tantárgy lista mind értéken állt. Csak a
feltételnek megfelelő jegyek maradtak a középső listán.
Bezárás. Jegykezelő felület eltűnt.
Mulasztás kezelő ablak tesztje
A Feladatok/Mulasztások kezelése menüt választottam. Kő Péter
mulasztásai vannak a középső listában. Az Aktuális adat keret inaktív (a szülő
nem módosíthatja a mulasztásokat), a középen kijelölt mulasztás részletes
jellemzői megjelentek. A Szűrő keret Tanuló listájában Kő Péter olvasható. A
dátum mezők értéke: Ettől: 2006. aug. 25, Eddig 2007. július 10.
A Tanuló listából rendre a Kő Péter, Kő Éva, Kő Gizella, mind
lehetőségeket választottam. Mindig a feltételeknek megfelelő mulasztásokat
láttam a középső listában. (mind esetében csak a Kő Pál gyerekeinek
mulasztásait)
Az Ettől: mezőbe kiválasztottam a 2006.09.01, az Eddig mezőben a
2006.09.30. dátumot. A Tanuló lista mind értéken állt. Csak a feltételnek
megfelelő jegyek maradtak a középső listán.
Bezárás. Mulasztáskezelő felület eltűnt.
Elektronikus napló − 54 − Magyary Gyula
További fejlesztési lehetőségek
Tisztában vagyok vele, hogy a program több szinten is
továbbfejleszthető. A szakdolgozat beadásának idejére eddig a szintig sikerült
kidolgozni. A főbb lehetőségek a következők lennének:
• Lehetne beépíteni több adatellenőrzést. Minden adatot valamilyen szinten
most is ellenőriz a program, de szabályos kifejezések (regular expressions)
és saját kivételek írásával ezt tovább lehetne fejleszteni.
• Az elektronikus napló kiegészíthető lenne az osztályok órarendjével,
részletesebb nyilvántartással a tanárok, tanulók, szülők adataival,
támogatások, tankönyvrendelések, különböző vizsgák (ECDL,
nyelvvizsga, előre hozott érettségik) tárolásával.
• Kiegészíthető lenne tanári vagy adminisztrátori üzenetekkel (értesítések,
szöveges fegyelmik).
• Különböző statisztikák készítésének támogatása. Például: félév, év végi
tanulmányi átlagok, hány tanár, tanuló jár az intézménybe, hány bukás
volt, melyik tanár hány tanulót tanít, stb. (Az önkormányzatok
kifogyhatatlanok az ötletekből!)
• A program az Interneten át jobban használható lenne, ha
xmlwebszolgáltatások segítségével érné el a kliensprogram a szervert. Az
xmlwebszolgáltatás a szabványos 80-as portot használja, így kevesebb
probléma adódna a tűzfalak konfigurálásával.
• Bővíteni lehetne a programot úgy, hogy webböngészővel is használható
legyen.
• Bővíteni lehetne a programot, hogy a szülő is tudjon visszajelezni az
iskolának. (Például: digitális aláírásával hitelesíti, hogy a mulasztásokat és
jegyeket tudomásul vette.)
Felhasznált irodalom
Brandley L. Jones: C# mesteri szinten 21 nap alatt. Kiskapu KFT, 2004.
Stephen Wynkoop: Microsoft SQL Server 7.0 kézikönyv. Kiskapu KFT. 2000.
Elektronikus napló − 55 − Magyary Gyula
Mellékelt fájlok
telepito.sql – az Sql Serveren az adatbázist létrehozó fájl.
tesztadatok.sql – a tárolt eljárások teszteléséhez használt adatokat tartalmazza
feluletteszt.mdb – a felhasználói felület tesztelésekor létrejött adatok
naplo.zip – a kódot tartalmazó könyvtár letömörítve.
telepito.zip – a kliens oldali telepítőprogram letömörítve.