FELHASZNÁLÓI DOKUMENTÁCIÓ
Tartalomjegyzék A program .................................................................................................................................. 2 Funkciókról röviden ................................................................................................................... 2 Adattárolás ................................................................................................................................. 2 Tagok .......................................................................................................................................... 2 Tagok tárolt adatai .................................................................................................................. 3 Könyvek ..................................................................................................................................... 3 Könyvek tárolt adatai ............................................................................................................. 3 Kölcsönzések .............................................................................................................................. 3 Kölcsönzések tárolt adatai ...................................................................................................... 3 Menürendszer ............................................................................................................................. 3 [BOOKS] ................................................................................................................................ 4 [MEMBERS] .......................................................................................................................... 5 [RENTALS] ........................................................................................................................... 6
A program A Library, egy olyan konzolos felülető, C++ nyelven fejlesztett, angol nyelvő alkalmazás, amely lehetıvé teszi egy könyvtár mindennapos tevékenységeinek számítógépen történı kezelését, valamint a végbement változások egy fájlos adatbázisban való rögzítését.
Funkciókról röviden A szoftver funkcióit tekintve három fı szegmensre tagolódik. Elıször is lehetıségünk van a könyvtár tagjainak kezelésére, úgymint új tag felvétele, törlése, tagok keresése, listázása, stb. Emellett biztosítja a könyvtár tulajdonában lévı könyvek nyilvántartását, és kezelését. Továbbá lehetıséget nyújt kölcsönzések felvételére és az ezzel kapcsolatos adminisztratív teendık elkönyvelésére.
Adattárolás A program az általa használt adatokat fájlokban tárolja. Ezek, az információk jellege szerint három részre oszlanak: 1. Members.txt Tagok adatait tartalmazza. 2. Books.txt Könyvek adatait tartalmazza. 3. Rentals.txt Kölcsönzések adatait tartalmazza. Ezekben a fájlokban az adatok mindig meghatározott sorrendben tárolódnak, így a program indításakor a kiolvasás során, vagy bármely listázás funkciót választva ezt a sorrendet fogjuk látni. A könyvek esetében ez ABC szerinti növekvı rendezést jelent elsıdlegesen az író, másodlagosan pedig a cím alapján. Tagoknál elsıként a besorolásuk (tanár, diák, más egyetem polgára, egyéb) szerinti sorrend érvényesül, majd ezen belül név szerint növekvıen rendezett a lista. A kölcsönzéseknél nem történik különösebb rendezés. Ezeket az adatokat kronológiai, azaz idırendi sorrendben tárolja a program.
Tagok Ebben az alkalmazásban a könyvtári tagokat négy kategóriába soroljuk, az alapján, hogy, milyen jogviszonyban állnak az egyetemmel: 1. Tanuló a. Egy hónapra kölcsönözhet könyvet b. A könyvkölcsönzést díjtalanul igénybe veheti c. Késedelem esetén díjfizetési kötelezettsége van 2. Oktató a. Egy évre kölcsönözhet könyvet b. A könyvkölcsönzést díjtalanul igénybe veheti c. Késedelem esetén nem történik negatív következmény 3. Más egyetem polgára a. Egy hónapra kölcsönözhet könyvet b. A könyvkölcsönzési alapdíj felét fizeti c. Késedelem esetén díjfizetési kötelezettsége van 4. Egyéb a. Egy hónapra kölcsönözhet könyvet b. A könyvkölcsönzési alapdíj teljes összegét fizeti c. Késedelem esetén díjfizetési kötelezettsége van
Tagok tárolt adatai Minden tag esetében ugyan azokat az adatokat tárolja a program, amelyekrıl a tag, felvételekor nyilatkozik. Ezek a következık: 1) Type (Jogviszonya az egyetemmel) a) Student (Tanuló) b) Teacher (Oktató) c) SOOU (Más egyetem polgára) d) Other (Egyéb) 2) Name (Név) 3) Address (Lakcím) 4) Id (Személyigazolvány szám) 5) Balance (Egyenleg)
Könyvek A könyveknél kilenc adatot tárol a szoftver, amelybıl egyet önmaga állít elı. Ez a Könyvazonosító, amely a rekordoknál egyedi azonosítóként szolgál. Ez az író nevének elsı három, a könyv címének elsı öt, valamint a megírási dátum elsı négy karakterének konkatenációja.
Könyvek tárolt adatai 1) 2) 3) 4) 5) 6) 7) 8) 9)
Author (Író) Title (Cím) Date of writing (Megírás dátuma) Name of publisher (Kiadó) Date of publishing (Kiadás dátuma) ISBN Book Id (Könyvazonosító) Number of Books (Könyvek száma) Is Rent (Kölcsönözhetı-e)
Kölcsönzések Kölcsönzések esetében két lehetséges eset létezik. Egyrészrıl, amikor a tag könyvet kölcsönöz (out), másrészrıl, amikor egy könyvet visszahoz (in). Mindkét esetben két adatot kell megadni, ami: a könyvazonosító, valamint a tagazonosító. A további adatokat a szoftver automatikusan tölti ki.
Kölcsönzések tárolt adatai 1) 2) 3) 4)
Book Id (Könyvazonosító) Member Id (Tagazonosító) Date of Rent (Kölcsönzés dátuma) Back (Visszahozás dátuma)
Menürendszer A program indításakor egy menürendszer segítségével tudjuk elérni az egyes funkciókat. A különbözı menüpontokat egy-egy szám azonosít, amelyet begépelve majd entert nyomva kiválthatjuk a választott eseményt. Ezeket a lehetıségeket három kategóriába sorolhatjuk:
1) BOOKS (Könyvek kezelése) 2) MEMBERS (Tagok kezelése) 3) RENTALS (Kölcsönzések kezelése)
A felhasználónak 13 opció használatára van lehetısége (0 –tól, 12 -ig). Abban az esetben, ha nem létezı opciót kívánna választani a program hibát dob, majd újra bekéri az adatot.
[BOOKS] Könyvek esetében lehetıségünk van: 1) Új könyv hozzáadása (Add new Book) Ezt a funkciót választva a program bekéri a könyv adatait, majd ellenırizi, hogy nem szerepel-e már az adatbázisban. Ha az ellenırzés nem talál egyezést tárolja a könyv paramétereit, ellenkezı esetben hibát dob és visszatér a menühöz. 2) Könyv törlése (Delete Book) Ebben az esetben meg kell adnunk a könyv azonosítóját, ami után a program megkeresi, majd törli azt. Ha nem talál az azonosítónak megfelelı könyvet jelzi ezt a felhasználó felé. 3) Könyvek kilistázása (List of Books) Ezt az opciót választva az adatbázisban szereplı összes könyvet kilistázza a program paramétereikkel együtt. 4) Könyv(ek) keresése (Search Books) Ebben az esetben újabb menüpontok közül választva kereshetünk a könyvek között a különbözı attribútumaik alapján.
a) Szerzı alapján (By Author) A megadott szerzı mőveit jeleníti meg. b) Cím alapján (By Title) A megadott címő könyveket jeleníti meg. c) Azonosító alapján (By Id) Tekintve, hogy duplikáció nem fordulhat elı, így vagy az azonosítónak megfelelı könyv adatait jeleníti meg, vagy ha nincs találat, akkor semmit. d) Kintlévıséget (Outstanding) Ennél az almenüpontnál a többivel ellentétben nem kell megadnunk további adatot. Ha ezt az opciót választjuk, azok a könyvek jelennek meg (paramétereikkel együtt), amelyek jelenleg valamely tagnál vannak.
[MEMBERS] 5) Új tag hozzáadása (Add new Member) Ezt a funkciót választva a program bekéri a tag adatait, majd ellenırizi, hogy nem szerepel-e már az adatbázisban. Ha az ellenırzés nem talál egyezést tárolja a tag paramétereit, ellenkezı esetben hibát dob és visszatér a menühöz. Az elsı bekért adatnál (Type) négy lehetséges adatot fogad el az alkalmazás: Teacher (Oktató), Student (Diák), SOOU (Más egyetem tagja), Other (Egyéb). 6) Tag törlése (Delete Member) A tag azonosítójának megadása után a program megkeresi, majd törli azt. Ha nem talál az azonosítónak megfelelı tagot jelzi ezt a felhasználó felé. 7) Tagok listázása (List of Members) Az adatbázisban szereplı összes tag listázása. 8) Tag keresése (Search Member) Ebben az esetben újabb menüpontok közül választva kereshetünk a tagok között a különbözı attribútumaik alapján.
a) Név alapján (By Name) b) Azonosító alapján (By Id) c) Diákok (Students) Diákok kilistázása. d) Tanárok (Teachers) Tanárok kilistázása. e) Más egyetem tagjai (Members of other University) Más egyetem tagjainak kilistázása. f) Egyéb (Other) Egyéb tagok kilistázása. g) Késedelemmel rendelkezı tagok (Delay of the members) Késedelemmel rendelkezı tagok kilistázása. 9) Befizetés (Payment) Ezt az opciót választva, az alkalmazás bekéri a tag azonosítóját, majd az befizetett összeget. Találat esetén az összeget jóváírja a tag „számlájára”, ellenkezı esetben jelzi az adminisztrátor felé, hogy a megadott azonosítóval nem található tag az adatbázisban.
[RENTALS] 10) Kölcsönzés (Loan) Itt legelıször meg kell adnunk a tag, valamint a könyv azonosítóját. Ezt követıen a program elsıként megvizsgálja, hogy a könyv szerepel-e az adatbázisban, ha igen akkor azt, hogy kölcsönözhetı-e, valamint azt, hogy van-e belıle „raktáron”. Ezek után a taggal kapcsolatos vizsgálatok következnek: létezik-e az adatbázisban, és ha létezik, akkor nincse tartozása a könyvtár felé. Abban az esetben, ha minden megfelel, a program tárolja a kölcsönzést az adott dátummal, továbbá a könyv raktáron lévı darabszámát csökkenti, és levonja a tagtól a kölcsönzési díjat. 11) Visszahozás (Back) Ezt a lehetıséget választva szintén meg kell adnunk a könyv, valamint a tag azonosítóját. Ha létezik a megadott kölcsönzés, és a visszahozás dátuma az adott idıpontban 0, akkor az alkalmazás lekönyveli a visszahozást: a könyv raktáron lévı darabszámát növeli, ha késedelmes a visszahozás, ezt levonja a tag egyenlegébıl, és végül az akkor aktuális dátummal lezárja a kölcsönzést. 12) Keresés (Search)
Ezt az opciót választva, egy tag azonosítójának megadása után a program kilistázza a hozzá tartozó kölcsönzéseket, valamint, ha nem talál a megadott azonosítóval rendelkezı tagot jelzi ezt az adminisztrátor felé. 0) Kilépés (Quit) Kilépés az alkalmazásból. Ezt az opciót választva, a program, - a kilépést megelızıen menti az összes változást, amely a program futása során keletkezett az adatokban.
Program hibái • •
A programban az adatok megjelenítése során az ékezetes karaktereket helyettesítı jelekkel tölti ki. Adatok módosításának hiánya: Ennek az opciónak a megvalósítása fájlos adattárolás, és konzolos megjelenítés esetén nem adna plusz kényelmi szolgáltatást. o A konzolos kezelés miatt egy tag adatainak módosítása helyett egyszerőbb a tagot törölni, majd az új tag felvétele opciót használva felvenni a listába. o A fájlos adattárolás miatt, egy mysql-es adatbázissal ellentétben itt a különbözı típusú adatok között nincs a háttérben semmilyen féle kapcsolat megvalósítva, így egy tag törlésének nincs semmilyen féle negatív vonzata. ( Példa: Törlök egy tagot az adatbázisból. Akár évek múltán is vissza tudom keresni a kölcsönzéseit a volt tag egyedi azonosítójának megadásával.)
Fejlesztési lehetőségek •
A fájlos adattárolás helyett, adatbázison alapuló tárolásra váltva nagymértékben megnövelhetnénk a program hatékonyságát.