Csoport neve: BRAVO_TEAM

Feladat sorszáma: 1.

Feladat címe: Terem foglalás + eszköz foglalás






Szoftver követelmény specifikáció




Gyakorlatvezető::

Tóth Adrián


Csoport tagok:


NYITRAI ISTVÁN

NEIRDW

NYITRAI1@IIT.UNI-MISKOLC.HU

SINKA LÁSZLÓ

CDDKKY

SINKA1@IIT.UNI-MISKOLC.HU

HRICZÓ KRISZTIÁN

I9O3MZ

HRICZO@IIT.UNI-MISKOLC.HU

SZARKA ISTVÁN

JCDUQ0

SZARKA2@IIT.UNI-MISKOLC.HU

SZABÓ TAMÁS

N8SE9V

SZABO42@IIT.UNI-MISKOLC.HU

SZOTÁK ANITA

NY7IDN

SZOTAK1@IIT.UNI-MISKOLC.HU


BEADÁS DÁTUMA

2007.03.30


Történet



Dátum

Verzió

Leírás

Szerző

2007.03.24. 0.1 Teljesítmény vázlat elkészítése Szoták Anita
2007.03.25. 0.2 Használhatóság vázlat elkészítése Hriczó Krisztián
2007.03.25. 0.2.1 Alkalmazott szabványok vázlat elkészítése Szoták Anita
2007.03.26. 0.3 A rendszer funkcióinak megfogalmazása Szabó Tamás
2007.03.26. 0.3.1 Használhatóság kiegészítése, On-line dokumentáció és Súgó rendszer vázlata Hriczó Krisztián
2007.03.27. 0.4 A rendszer funkcióinak kiegészítése Szabó Tamás
2007.03.27. 0.4.1 Támogatottság, Tervezési korlátozások, Felhasznált kész komponensek elkészítése Nyitrai István
2007.03.27 0.4.2 HTML oldal elkészítése, szabványhoz igazítás Nyitrai István
2007.03.28. 0.5 On-line dokumentáció és Súgó rendszer befejezése Hriczó Krisztián
2007.03.28. 0.5.1 Teljesítmény vázlat, Alkalmazott szabványok Szoták Anita
2007.03.28. 0.5.2 A rendszer funkcióinak kiegészítése Szabó Tamás
2007.03.28.0.5.3A Megbízhatóság megfogalmazásaSinka László
2007.03.29.0.6Az Interfészek megfogalmazásaSinka László
2007.03.30.0.7Az Áttekintés megfogalmazása, Szótár elkészítése, Sinka László
2007.03.30.1.0Végleges verzió elkészítéseNyitrai István



Tartalomjegyzék

1. Bevezetés

2. Áttekintés

3. A rendszer funkciói

    3.1 A hardverrel szemben támasztott követelmények

    3.2 Szoftverszintű követelmények

    3.3 Felhasználó számára támasztott követelmények

4. Használhatóság

5. Megbízhatóság

6. Teljesítmény

7. Támogatottság

8. Tervezési korlátozások

9. On-line dokumentáció és Súgó rendszer

10. Felhasznált kész komponensek

11. Interfészek

    11.1 Felhasználói interfészek

    11.2 Hardver interfészek

    11.3 Szoftver interfészek

    11.4 Kommunikációs interfészek

12. Alkalmazott szabványok

    12.1 Kötelezően alkalmazandó szabványok

    12.2 Választás alapján alkalmazott szabványok

13. Szótár



1. Bevezetés
   

    Korunk oktatásának legmeghatározóbb és talán legfontosabb rendszere a NEPTUN rendszer, mely egységes szolgáltatásokat nyújt a magyar felsőoktatási intézmények számára. A szolgáltatások hozzáférési és jogosultsági szinten eltérőek, és ezen szolgáltatások révén valósul meg a felsőoktatásban felmerülő számos probléma egységbe foglalása, és könnyebbé tétele. Célunk egy hasonló, azonban mégis más célokat szolgáló globális, felhasználóbarát rendszer tervezése és kivitelezése. Ezen rendszer a tantermek oktatásra illetve zárthelyi írására történő lefoglaláshoz valamint a rendelkezésre álló eszközök nyilvántartásához nyújt segítséget és könnyíti meg ebben mind az oktatók mind pedig a hallgatók feladatát. A kivitelezésben elengedhetetlen a kliens-kiszolgáló közötti zökkenőmentes kapcsolat, a helytelen adminisztráció elkerülése, valamint az erőforrások terheltségének elfogadható szinten tartása.



2. Áttekintés


    Az alkalmazás elsősorban olyan oktatási intézményeknek (középiskolák, egyetemek), vagy intézmény részeknek (tanszékek, tanszékcsoportok) számára készült, akik nyilván szeretnék tartani termeik, eszközeik foglaltságát. A szoftver alapvető hasznossága, hogy egy eddig nem igazán megoldott problémára nyújt megoldást.

    A rendszer további előnye hogy megkímél a sok ügyintézéstől és az ezzel járó papírmunkától, valamint a félreértésektől. Megkönnyíti az oktatók, oktatástechnikusok, ügyintézők munkáját.
 A rendszer figyel a foglalások esetleges ütközéseire. Így elkerülhető rengeteg probléma mely az emberek figyelmetlenségéből fakad. (pl.: elkeveredik a papír, amire a foglalást leírták és ezért ütközés lép fel)

    A termék fontos jellemzője hogy használata nem igényel kiemelkedő számítástechnikai ismereteket. A használónak elég számítógép-kezelői ismeretekkel rendelkeznie. Ezt az elvárást megcélzott felhasználói kör teljesíti.

    Ezen alkalmazás lehetőséget nyújt különbözőfajta listák készítésére is. Készíthetünk tantárgyak szerinti listát, azaz, hogy melyik tantárgy milyen eszközöket illetve milyen előadótermet használ, de tantermek szerint is készíthetünk listákat, amelyeket természetesen nyomtatott formában is megjeleníthetőek.

    Az alkalmazás elindítása után egy könnyen kezelhető, letisztult felület jeleneik meg a felhasználók számára. Fontos az egyszerű kezelhetőség. Szükség van egy jól szerkesztett súgóra, mely nagyban könnyíti a felhasználók munkáját, ha kérdésük merül fel a program használatát illetően. A felhasználó segítése fontos feladat.

    A szoftver platform független, tehát operációs rendszertől függetlenül alkalmazható. Ezt a tulajdonságot nem sok mai alkalmazás mondhatja el magáról, mind amellett, hogy napjainkban egyre jobban terjednek a platform független alkalmazások. Ezáltal biztosítva nagyfokú kompatibilitást a ma már meg lévő rendszerekkel. Ezt az ACT System esetében úgy biztosítjuk, hogy PHP nyelven implementáljuk. Emiatt egyetlen megkötés, hogy rendelkezésre kell állnia egy webszervernek, amely lehetővé teszi a szoftver futtatását. A klienseknek csupán Internet eléréssel és egy webböngészővel kell rendelkezni.

    Tehát a szoftver nagy előnyhöz juttatja a használóit a többi intézményhez képest.




3. A rendszer funkciói


Akceptorok

Adminisztrátor
Az a személy, aki a rendszert üzemelteti és felügyeli, valamint minden lehetséges jogosultsággal rendelkezik. Mivel a rendszer jelszó és felhasználói név alapján azonosít, így az minősül adminisztrátornak, akit a rendszer ezek alapján annak azonosít. A rendszer felügyeletén kívül ő biztosít felhasználók számára hozzáférési jogokat, és természetesen meg is vonhatja őket ezektől a jogoktól.
Oktató
Azon felhasználók egy csoportja, mely nagyobb privilégiummal rendelkezik, mint az összes többi tényleges felhasználói, de korlátozások rá is vonatkoznak. Ezen korlátozások az új objektumok létrehozásában, módosításában és törlésében nyilvánulnak meg, ugyanis ezek számára nem lehetségesek. Természetesen a rendszert őt is külön felhasználói név és jelszóval azonosítja. Számára a jogokat az adminisztrátor biztosítja.
Külső felhasználó
A felhasználók azon csoportja, melynek hozzáférési jogai jelentősen korlátozottak. A rendszert jelszó nélkül vehetik igénybe, természetesen az őket meg nem illető jogokat, és az ezzel járó korlátozásokat a rendszer biztosítja. Ennek ellenére tájékozódhatnak számukra hasznos információkról, melyeket a fent említett személyek vittek fel a rendszerbe. Továbbá lehetőség nyílik számukra a keresett információ nyomtatására is.



Use Case-ek

Új
Új objektum (tanterem, eszköz, tantárgy, oktató) létrehozására szolgál
Módosítás
Meglévő objektum módosítása
Törlés
Meglévő objektum törlése
Lefoglalás
Időpont, tanterem és eszköz lefoglalását teszi lehetővé
Lefoglalás módosítás
Már lefoglalt időpont, tanterem és eszköz módosítása
Lefoglalás törlés
Foglalás törlése
Nyomtatás
A kívánt űrlap, lista, táblázat nyomtatása
Listázás
A kívánt objektum kiíratása a képernyőre
Keresés
Az adatbázis elemei közötti keresés



Új:



Új tantárgy, eszköz, tanterem illetve oktató felvitelét, létrehozását teszi lehetővé, de csak abban az esetben aktív, ha a megfelelő hozzáférési joggal rendelkezünk.

Prekondíciók (előfeltételek): A funkció használatának a feltétele a rendszer futtatásakor adminisztrátorként azonosított belépés.

Postkondíciók (következmények): A funkció használata után egy új objektum (tantárgy, eszköz, tanterem illetve oktató) hozható létre a szerveren található adatbázisban, ahol az objektumok specifikációi megadhatók. Mindezt egy megjelenő űrlap segíti.

Szokásos működés (Main Flow): Normális esetben egy űrlap jelenik meg, melyben megadhatóak értelemszerűen a kívánt adatok, specifikációk. A működés normális esetben azzal ér véget, hogy az objektum sikeresen elmentődik az adatbázisban, és egy visszajelzést is kapunk erről, valamint visszakérdez a rendszer a további tevékenységről.

Alternatív esetek (Alternate Flows): Abban az esetben, ha a felhasználó helytelen értéket adott meg valamelyik adathoz, illetve ha már létező objektumot kíván létrehozni, merülhetnek fel ezek a problémák, melyeket egy megfelelő hibajelzéssel jelez a rendszer.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.



Módosítás:


Már meglévő eszközök, tantárgyak, tantermek és oktatók módosítását teszi lehetővé, melyet a felhasználónak kell kiválasztania. Ez a funkció szintén csak a megfelelő hatáskörrel rendelkező felhasználók számára elérhető.

Prekondíciók (előfeltételek): A funkció használatának a feltétele a rendszer futtatásakor adminisztrátorként azonosított belépés illetve valamilyen, már létező objektum megléte.

Postkondíciók (következmények): A használat után a módosított adatokkal felülírja a rendszer a kívánt objektumot, természetesen abban az esetben, ha helyesen végeztük el az adatok kitöltését.

Szokásos működés (Main Flow): Alapesetben egy űrlap jelenik meg, ahol a módosítani kívánt objektum már meglévő adatai jelennek meg, melyek közül bármelyiket módosíthatjuk, majd a tevékenység befejeztével az új adatokkal rendelkező objektum lementődik az adatbázisban, a már meglévő felülírásával, valamint a vele kapcsolatban álló más objektumban is módosulnak az adatok, ha azok módosultak, biztosítva ezzel a rendszer rugalmasságát.

Alternatív esetek (Alternate Flows): Helytelen vagy már létező kulcs értékek megadásával a módosítás nem lehetséges, ebben az esetben következhetnek be alternatív esetek, melyeket a rendszer jelez és nem hajtja végre a műveletet.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.



Törlés:

Helytelen objektumok, illetve már nem szükséges elemek törlését teszi lehetővé, melyek nyilvántartása már nem fontos senki számára, és ezzel erőforrás felszabadítás történik, valamint elkerülhető vele ily módon számos félreértés és probléma.

Prekondíciók (előfeltételek): A rendszerbe történő megfelelő jogosultsággal való belépés eme funkció használatának az előfeltétele.

Postkondíciók (következmények): A használatának a következménye, hogy a rendszer visszakérdez egy üzenő ablakon keresztül, melyet jóváhagyva a kívánt elemet végleg törli a rendszer.

Szokásos működés (Main Flow): Miután kiválasztottuk a kívánt elemet, és jóváhagytuk teljesen a törlést, a rendszer a kívánt elemet törli az adatbázisból véglegesen, és az esetlegesen hozzákapcsolódó kapcsolatokat is törli a rendszer, tehát ezek az adatok már csak egy biztonsági másolat révén hozhatóak vissza. A végrehajtása után a vezérlés visszakerül a felhasználóhoz és további műveletek hajthatóak végre.

Alternatív esetek (Alternate Flows): Olyan esetek melyek a felhasználó hibájából következhetnek be, például beragadó billentyű hatására mégis törlődik olyan elem, melyet nem állt szándékában a felhasználónak törölnie, illetve ha olyan objektumot szeretnénk törölni, melyet más éppen használ, módosít. Az utóbbi esetben ezt a gondot a rendszer jelzi, az előbbi esetben viszont vagy a biztonsági másolattal állítható helyre a probléma, melyet az adminisztrátor hajt végre, vagy az objektum újbóli létrehozásával.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.

Lefoglalás:


A lefoglalni kívánt tanterem, előadóterem illetve a megfelelő eszköz lefoglalását, egy adott időintervallumra vonatkozó funkció, de csak abban az esetben aktív az opció, ha a megfelelő hozzáférési joggal rendelkezik a felhasználó. Ebben az esetben ez azt jelenti, hogy az admin-on kívül csak az oktató felhasználó tud lefoglalni tantermet, illetve eszközt.

Prekondíciók (előfeltételek): A funkció használatának elsődleges feltétele a rendszer futtatásakor oktatóként történő azonosított belépés illetve létező és elérhető adatbázis megléte, természetesen megfelelő adatokkal (tantermek, eszközök) feltöltve.

Postkondíciók (következmények): A funkció használata után egy új objektumot hoz létre a rendszer, amely a serveren található adatbázisban tárolódik, ahol az objektumok specifikációi megtalálhatók. Természetesen ezt a funkciót is egy űrlap megjelenése segíti, ahol is az adatbázisban meglévő és az adott időpontban elérhető tantermek és eszközök listája is megjelenik. A funkció végén a kiválasztott elemek lefoglalódnak a megadott időpontra, így azokat más felhasználó már nem érheti el és nem is választhatja, csak a lefoglalási időn kívüli időpontra.

Szokásos működés (Main Flow): Az alkalmazás ezen funkciója normális esetben egy űrlap megjelenésével kezdődik, ahol is az oktató megadhatja azokat a kritériumokat, amelyek alapján kíván tantermet vagy eszközt választani az adott eseményhez. Itt választhatja ki az előadóterem nagyságát, vagyis azt hogy hány férőhelyes legyen, legyen-e sötétítés, tábla stb. Továbbá azt, hogy milyen eszközt kíván választani az eseményhez projektort, írásvetítőt stb..
A jóváhagyás ill. lefoglalás véglegesítése után az adatok elmentődnek az adatbázisban és a megfelelő kapcsolatok is kiépülnek. Legvégül az oktató kap egy üzenetet, hogy a lefoglalás megvalósult.

Alternatív esetek (Alternate Flows): Ilyen esetek akkor fordulhatnak elő a program futása során, ha az oktató az űrlap valamely mezőjét, hibás vagy helytelen adatokkal tölti ki. Esetleg ha már foglalt tantermet vagy eszközt kíván lefoglalni az oktató. Ezekben az esetekben a rendszer figyelmeztetést küld, és nem engedi tovább lépni a következő mezőkre.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.



Lefoglalás módosítása:


Már meglévő eszközök, és tantermek lefoglalásainak módosítását teszi lehetővé ezen funkció, melyet az oktatónak kell végrehajtania. Ez a funkció szintén csak az oktató illetve az admin hatáskörével vehető igénybe.

Prekondíciók (előfeltételek): A funkció használatának elsődleges feltétele a rendszer futtatásakor a megfelelő hozzáférési joggal történő azonosított belépés illetve létező és elérhető adatbázis megléte, természetesen megfelelő adatokkal (tantermek, eszközök) feltöltve. A funkció használatához szükséges legalább egy lefoglalt tanterem és eszköz kapcsolat megléte.

Postkondíciók (következmények):
A use case végén a módosított adatokkal felülírja a rendszer a kívánt objektumokat, természetesen abban az esetben, ha helyesen végeztük el a mezők kitöltését, más esetben figyelmeztetést küld a rendszer. A lefoglalás módosítása más tantermek és eszközök felszabadításával, azaz kapcsolatok megszűnésével jár együtt, ezeket az objektumokat tehát szabaddá kell tennünk a funkció végrehajtásának végén, hogy azokat más oktató felhasználhassa. Ezt a rendszer elvégzi.

Szokásos működés (Main Flow):
Normális esetben egy űrlap megjelenésével kezdődik a funkció futása, ahol a módosítani kívánt objektum már meglévő adatai jelennek meg, melyek közül bármelyiket módosíthatjuk, majd a tevékenység befejeztével az új adatokkal rendelkező objektum elmentődik az adatbázisban, a már meglévő felülírásával, a régi objektum kapcsolatok megszűnnek, és újak alakulnak ki szükség esetén.

Alternatív esetek (Alternate Flows): Ilyen esetek akkor, fordulhatnak elő a program futása során, ha helytelen vagy már létező kulcs értékek megadásával a lefoglalás módosítása nem lehetséges, ebben az esetben következhetnek be alternatív esetek, melyeket a rendszer jelez, és nem hajtja végre a műveletet.


Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.



Lefoglalás törlése:


Helytelen vagy fölöslegesé vált objektumok, illetve a nem szükséges adatelemek törlését teszi lehetővé ez a funkció, melyek nyilvántartása már nem szükséges, így ezzel erőforrás felszabadítás valósul meg, valamint elkerülhető számos félreértés és probléma. Ez a funkció az esemény megtörténte után javasolt végrehajtani, mivel akkor már sem a tanteremre sem pedig az eszközre nincs szükség, tehát azokat már használhatja is más oktató, aki lefoglalta magának a tantermet illetve az eszközt.


Prekondíciók (előfeltételek): A funkció használatának elsődleges feltétele a rendszer futtatásakor oktatóként történő azonosított belépés illetve létező és elérhető adatbázis megléte, természetesen megfelelő adatokkal (tantermek, eszközök) feltöltve. A funkció használatához szükséges legalább egy lefoglalt tanterem és eszköz kapcsolat megléte.

Postkondíciók (következmények): A funkció használatának a végeredménye, hogy a rendszer végleg törli az adatbázisból a törlendő elemet, de előtte természetesen kérdést tesz föl, hogy valóban kívánjuk-e végrehajtania a törlést.

Szokásos működés (Main Flow): A törlendő elem kiválasztása illetve a jóváhagyás után, a rendszer a törlendő adatelemet véglegesen törli az adatbázisból. A meglévő kapcsolatokat szintén törli a rendszer, tehát ezek az adatok már csak egy biztonsági másolat révén hozhatóak vissza. A végrehajtása után a vezérlés visszakerül az oktatóhoz és így további műveletek hajthatóak végre.

Alternatív esetek (Alternate Flows): Olyan esetek melyek a felhasználó hibájából következhetnek be, például valamilyen hiba hatására törlődik olyan elem, melyet nem állt szándékában a felhasználónak törölnie, illetve ha olyan objektumot szeretnénk törölni, melyet más éppen használ vagy módosít. Az utóbbi esetben ezt a gondot a rendszer jelzi, az előbbi esetben viszont vagy a biztonsági másolattal állítható helyre a probléma, melyet az adminisztrátor hajt végre, vagy az objektum újbóli létrehozásával.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.



Keresés:



Egy tetszőleges objektum keresésére szolgáló funkció, a megfelelő opciók megadása után az alkalmazás keresési eljárást indít a serveren lévő adatbázisban.

Prekondíciók (előfeltételek): A funkció használatának feltétele, egy létező és elérhető adatbázis megléte, természetesen megfelelő adatokkal (tantermek, eszközök) feltöltve. A funkció használatát bármilyen felhasználó igénybe veheti, nem szükséges azonosított belépés a rendszerbe.

Postkondíciók (következmények): A funkció eredményeként a keresési feltételeknek megfelelő adatelemet vagy adatelemeket listázza ki a rendszer egy ablakban.

Szokásos működés (Main Flow): A funkció egy űrlap megjelenésével kezdődik, ahol is a felhasználó megadhatja a keresési feltételeket. Itt állítható be, hogy tantermet, eszközt vagy konkrét adatot kíván-e a felhasználó keresni.

Alternatív esetek (Alternate Flows): Olyan esetek tartozhatnak ide, amikor is a felhasználó helytelen értéket adott meg valamelyik mezőhöz vagy éppen nem töltött ki egy fontos adatot, de ezekre, a problémákra, egy megfelelő hibajelzéssel küld a rendszer.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.



Listázás:



Különböző szűrési, rendezési beállításokkal történő, adatbázisbeli elemek, mely elemek jelen esetben lefoglalások, tantermek, segédeszközök, órák, oktatók stb., megjelenítése a képernyőn.

Prekondíciók (előfeltételek): A funkció használatának előfeltétele, a rendszer használata, ugyanis bármilyen felhasználó jogosult ennek a funkciónak a használatára, mivel ezzel kárt nem okozhat a rendszerben, viszont ezzel a funkcióval nyer értelmet maga a program. További előfeltétel még, a már létrehozott, feltöltött elemek megléte.

Postkondíciók (következmények): A funkció hatására a rendszer kilistázza kért paraméterek alapján a kívánt eleme(ke)t, különböző szempontok szerint rendezve.

Szokásos működés (Main Flow): A rendszer a kiválasztott ill. kikeresett objektumokat kilistázza, a listázandó paraméterekkel együtt, és ezeket valamilyen szempont szerint rendezi. Ezek a szempontok természetesen listázás után is módosíthatóak könnyedén. Amit a felhasználó nem lát az lényegében egy háttérben futó keresés, mely feltárja az adatbázisbeli kapcsolatokat is, és ezek révén számos összetett keresési, listázási lehetőséget nyújt a felhasználó számára.

Alternatív esetek (Alternate Flows): Ilyen esetek akkor merülhetnek fel, ha a listázandó elem nem létezik, de ezt a rendszer jelzi a felhasználó számára.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép közötti kommunikációban keletkező problémákból.



Nyomtatás:



A legalapvetőbb rendszertől is elvárható az, hogy amit a felhasználó megvalósít a számítógépen, azt szeretné látni valamilyen nyomtatott formában is. Nos, ebben a tekintetben ez az alkalmazás sem marad le. Természetesen lehetőség van a különböző listák elkészítése után, azok kinyomtatásra.

Prekondíciók (előfeltételek): A funkció használatának feltétele, egy létező és elérhető adatbázis megléte, természetesen megfelelő adatokkal (tantermek, eszközök) feltöltve illetve egy megfelelő formátumban elkészített lista megszerkesztése, amit a felhasználó ki szeretne nyomtatni. A funkció használatát bármilyen felhasználó igénybe veheti, nem szükséges azonosított belépés a rendszerbe.
Postkondíciók (következmények): A funkció eredményeként az elkészített lista kinyomtatásra kerül.

Szokásos működés (Main Flow): A funkció egy lista elkészítésével kezdődik, amit a felhasználó készíthet el saját maga részére. Itt állíthatóak be a nyomtatás alapvető tulajdonságai is.

Alternatív esetek (Alternate Flows): Olyan esetek tartozhatnak ide, amikor is a felhasználó helytelen listát készít el és azt a nyomtató nem tudja értelmezni vagy éppen nem adott meg egy fontos opciót, de ezeket a problémákat, egy megfelelő hibajelzéssel jelez a rendszer.

Kivételes esetek (Exception Flows): Olyan hibák bekövetkezése, mely a rendszer használata során váratlanul, a rendszer illetve a felhasználó hibáján kívül következik be, melyeket a szoftver tervezőinek kell megoldania. Ezen események felmerülhetnek a szerver meghibásodásából eredően, illetve egy esetleges áramkimaradás esetén, valamint a szerver és a kiszolgáló gép, a gép és nyomtató közötti kommunikációban keletkező problémákból.



3.1 A hardverrel szemben támasztott követelmények





3.2 Szoftverszintű követelmények




3.3 Felhasználó számára támasztott követelmények




4. Használhatóság

    A szoftver grafikus felületének kialakítása nagyban megkönnyítheti a szoftver tanulhatóságát. Amennyiben a kialakított GUI (Graphical User Interface) következetesen van kialakítva, figyelembe véve a hasonló szoftverek felhasználói felületét a gyakorlottabb felhasználók betanulási ideje nagymértékben lecsökkenhet. A kezdő felhasználókra gondolva a szoftver eszközrendszerét érdemes több helyről elérhetővé tenni. Vannak felhasználók, akik a menüket és vannak, akik az ikonokat  részesítik előnyben. A két grafikai kialakítást egybeolvasztva kell megvalósítani.


    A rendszer elsajátításának elősegítésére a szoftver felruházható különböző helyekről elérhető súgó rendszerrel. A gombokra vitt egérmutató mellett megjelenő kis ablak, amely a funkciót írja le, a súgó menüben megtalálható a súgó, amely elősegíti a szoftver egyszerűbb használatát, megkönnyíti tanulhatóságát. A szoftverhez mellékelt oktatóanyag is sokat segíthet a felhasználóknak.


    Egy a felhasználók kérdései alapján felépített on-line súgó és egy fórum, amely megteremtheti a folyamatos kapcsolatot a készítőkkel, nem csak a használhatóságot, hanem a későbbi továbbfejlesztést is megkönnyítheti.


    Mivel nincs túl sok ismert hasonló szoftver, ezért saját kezelőfelület alakítható ki. A felületnek letisztultnak, könnyen használhatónak kell lennie.

5. Megbízhatóság
Biztonság: Fontos hogy minden felhasználó csak olyan műveleteket hajthasson végre, amit neki szabad. Hiszen nem engedhetjük, meg hogy egy egyszerű felhasználó esetleg oktatókat töröljön, vagy termeket foglaljon le. Ezért kulcskérdés a felhasználók megfelelő szerepkörbe való osztása mely az administrator feladata. Valamint egy olyan azonosítási procedúrával kell rendelkeznie a rendszernek mely megkerülhetetlen, és egyértelműen azonosítja a felhasználót.

Karbantarthatóság:

Az esetleges hibák fellépésekor, akár a tesztelés, akár a felhasználói használat során (amennyiben ezt jelzik a fejlesztők felé) a hiba detektálása és javítása azonnal megkezdődik. A hiba súlyosságától függően elképzelhető hogy a rendszert le kell kapcsolni a hibajavítás idejére. Kisebb hibák esetén elég egy csak a hibás fájlok kicserélésének idejére leállítani az alkalmazást futtató webszervert.

Hordozhatóság:

A szofvert (kliens oldali) alkalmazóknak lehetősége van operációs rendszert, vagy akár platformot váltani, ezt ugyanis a platformfüggetlen fejlesztés lehetővé teszi.
 
Rendelkezésre állás:  A szoftverek megbízhatósága  többféleképpen jellemezhető. A szoftverek körében leggyakrabban az MTBF-et (Mean Time Between Failure), vagyis a két hiba közötti átlagos időt adják meg, általában órában. Az MTTR (Mean Time To Repair) a javítások átlagos időtartamát jelenti, az MTTR hosszát főleg a hiba felderítésének ideje, vagyis a diagnosztika gyorsasága határozza meg. Az MTBF és az MTTR értékéből már adódik a százalékban kifejezhető rendelkezésre állás.

A rendelkezésre állás mértékét a következő mennyiségekkel jellemezhetjük:


6. Teljesítmény

    A legfontosabb tesztek, mellyel a szoftver teljesítményét adhatjuk meg a következők:
  
Sebességtesztek: a feldolgozási és válaszidők mérése
 
Kapacitástesztek: a rendszert a követelményekben előírt kapacitásig     terheljük
 
Skálázódási tesztek: a válaszidők és feldolgozási sebességek mérése egyre nagyobb kapacitású hardveren,közben a válaszidő csökkenés és sebesség növekedés mérése.

    A felhasználói felület válaszideje kicsi, így a felhasználónak nem kell várni a cselekvés és a válasz között 1-2 másodpercnél többet , ami akkor teljesül,ha biztosítva van az előírt minimális erőforrás. Nem a sebességre,inkább a megbízhatóságra terveztünk.

Erőforrás igény:

    Mivel a termék webes felületen érhető el egy kiszolgálón keresztül, ezért mindenképp szükség van egy webböngészőre (pl.: Internet Explorer, Mozilla Firefox, stb). Ez akár ingyenesen is beszerezhető, vagy alapértelmezetten  telepítve van az operációs rendszerre.
  
Erőforrás igények: ezeket 2 fő részre oszthatjuk. Az egyik a szerver, a másik a kliens oldal erőforrásigénye.
1.) a kliens erőforrásigénye: minimális, a kliens-szerver modellnek köszönhetően. Ez a modell majdhogynem host-terminal modell, a kliensen a fordítás szempontjából semmilyen „érdemi munka” nem folyik, így az erőforrás használat, igény is minimális. Gyakorlatban ez annyit tesz, hogy bármely olyan gépen futtatható a kliens, amely alkalmas grafikus felületű internet böngészésre és a korábban említett szabványok értelmezésére.

2.) a szerver erőforrásigénye: manapság szintén nem mondható nagynak, bár ez is nagyban függ az egy időben  kiszolgált felhasználók számától (a mi esetünkben ez a szám 1,ha egy adott programozási nyelven írt kód fordításáról van szó, ez a szám akkor lehet egytől különböző, ha két vagy több különböző nyelven írt forrást kell egy időben fordítani, vagyis ha több különböző fordító program fut egyszerre

Szoftverigény:

    Bármely operációs rendszeren képes futni(pl Debian Linux, Suse Linux, Ubuntu Linux vagy Microsoft Windows XP. ), amely fel van készítve PHP nyelven írt alkalmazások futtatására.
A szoftver egyidejűleg több felhasználó kiszolgálására  is alkalmas.




7. Támogatottság
   

    A későbbi hibakeresés megkönnyítése érdekében, a fejlesztők egységes elnevezési konvenciókat alkalmaznak a kódolás során. Ez nem csak a későbbi hibakeresést, de magát a fejlesztést is könnyebbé, átláthatóbbá teszi.

    A program el van látva egy olyan eszközzel, amely a hiba során automatikusan naplózza a keletkező hibákat. Napló készül a program normális működése során is. Ezt az adminisztrátor megtekintheti akár a program egyik menüpontján keresztül is. Ez azt tartalmazza, hogy mikor ki jelentkezett be privilégiumot igénylő szintre, melyik táblákkal dolgozott a felhasználó, mennyi ideig stb. Ez az adminisztrátornak jelenthet némi segítséget, hogy átláthassa munkáját, feltárhassa az esetleges tévedéseket. A fejlesztés alatti hibakeresés megkönnyítése érdekében több naplófájl is készül a program részegységeinek megfelelően. Ezek a későbbiekben már nem készülnek, csak a kódolási és tesztelési fázisban.

    A szoftverhez tartozik egy hibabejelentő vonal, amelyen be lehet jelenteni az esetleges hibákat, melyeket egy üzenetrögzítő rögzít este 6 és délelőtt 10 óra között. 10 és 18 óra között egy munkatárs fogadja a hívásokat, aki segítséget nyújt az esetleges problémák felmerülésekor.

    A hibabejelentéshez létrehozunk egy honlapot, amelyen megtalálhatók lesznek a gyakran ismételt kérdések és válaszok is. A hibák bejelentésére a honlapon egy fórum lesz elhelyezve a felhasználók rendelkezésére, ahol segítséget is kaphatnak, hogy valamilyen problémájuk akad. A honlapon kívül létrehoztunk még egy e-mail címet a hibabejelentéshez, és egy másikat a felmerülő problémák, kérdések kezelésére. Az említett e-mail címek és a weboldal a cég hivatalos oldaláról lesz érhető el.




8. Tervezési korlátozások
   

    Az alkalmazás platform független tehát tetszőleges operációs rendszer alatt futtatható. A platform függetlenséget az biztosítja, hogy a program PHP5 nyelven lesz megírva. Emiatt megkötés, hogy rendelkezésre kell állnia egy webböngészőnek amely lehetővé teszi a szoftver futtatását.

    Az alkalmazás a jellegét tekintve és azt, hogy PHP nyelven fog futni szükség több különböző absztrakciós szinten implementált modulokra. Az első absztrakciós szint a felhasználói felület, melynek segítségével a felhasználó utasításokat ad a programnak. Ez a felhasználói felületet egy grafikus felület. A többi absztrakciós szint nagyrészt a grafikus felület által kerülnek vezérlésre. Ilyen a beléptető modul, a naplózó modul, a listázó és kereső modul, a szerkesztő modul. Különálló részt képez az adatbázisban létrehozott rész, mely nem vezérelhető a grafikus felület segítségével.

    A fejlesztés során lépcsős tervezési modellt használunk.



    Azért lehet ezt a tervezési modellt választani mivel a probléma nem túl bonyolult ezért lehet egyszerű tervezési modellt választani. Ez a fejlesztési modell nem foglalkozik a felhasználó és a fejlesztő kommunikációjával. Ezt esetleg külön kell megoldani. Másik probléma az lehet hogy a visszacsatolás későn történik meg. Ennek következménye, hogy az esetleges hibák csak a fejlesztési fázis végén jelentkeznek. A lehetséges hibák kiküszöbölését a fejlesztés közben kell megoldani.

    A fejlesztő környezetet tekintve a PHP5 programnyelvet kell használni mivel ezt már az előzőekben kikötöttük magunknak. A forráskódok egyszerű szövegszerkesztő programok segítségével előállíthatóak. A munkánkat megkönnyíti és hatékonnyá teszi a fejlesztést, ha olyan intelligensebb fejlesztőeszközöket használunk mely támogatja a szintaxis kiemelést és megkönnyíti egyes PHP5 modulok gyors előállítását.

    Általunk használt fejlesztőeszközök a következők: Gedit, Adobe Dreamweaver.




9. On-line dokumentáció és Súgó rendszer

    Ma, az internet világában szükség van on-line dokumentációra. Azon belül is kiemelten kell kezelni a program eredményes és könnyű használatát segítő súgó rendszert.

    A súgó rendszer segítségét legtöbbször nem a szakemberek, hanem a hétköznapi felhasználók igénylik, így elsősorban az ő igényeiket, és tudásukat szem előtt tartva kell azt elkészíteni. Fontos tehát a világos, lehetőség szerint a szaknyelvtől mentes, mindenki számára érthető fogalmazás, valamint a legkisebb funkcióknak is a lehető legaprólékosabb leírása. Továbbá fontos még a könnyű navigálhatóság a dokumentumon belül. Ezért mind a dokumentum elején található tartalomjegyzékből, mind közvetlenül, az egyes fejezeteken belül található egymásra való hivatkozásokból el lehet érni a kívánt funkció leírását.

A tartalom:
1. GYIK

    A GYIK, vagyis a Gyakran Ismételt Kérdések a legfontosabb része a súgónak. Ebben a részben az összes többi témából kiemelt súgó-részletek találhatóak, vagy akár olyan információk, melyek a súgó egyéb részeiben nem találhatóak meg, ám sok felhasználó munkájához szükségesek. Fontos, hogy ezt a részt, noha egy alapvető vázlatot az első verzióba is be kell építeni, a tapasztalatok alapján könnyen lehessen bővíteni.

2. Bemutatás

    Rövid, tömör ismertető a Terem- és eszköznyilvántartó programról, az általa biztosított szolgáltatásokról.

3. Verzió

    Mi újat nyújt a program aktuális verziója a korábbiakhoz képest, milyen később felfedezett hibák lettek kijavítva, illetve melyek azok a funkciók, amelyek másképpen működnek.

4. Kompatibilitás

    Mely operációs rendszerekkel, és segédprogramokkal kompatibilis a Terem- és eszköznyilvántartó alkalmazás.

5. Hibák, Hibaüzenetek

    A programban található tömör hibaüzenetek kifejtése, értelmezése, megoldási lehetőségek felkínálása.

6. Támogatás

    Hol lehet segítséget kérni abban az esetben, ha olyan hiba áll fenn, ami nem szerepel a súgóban. (telefon, e-mail)




10. Felhasznált kész komponensek

    A programnak gyakorlatilag a teljes része egyedileg, PHP5 nyelven implementált szoftver. Nincs tervbe véve külső komponens használata.



11. Interfészek

11.1 Felhasználói interfészek

Az alkalmazás elindítása után egy könnyen kezelhető, letisztult felület jeleneik meg a felhasználók számára. A látványt tekintve egységes, de az elérhető funkciók a különböző szerepköröknek megfelelően változnak.
A különböző menüpontokon keresztül érhetik el a felhasználók a különböző funkciókat.
Az elérhető funkciók köre az adott szerepkörtől függ.

11.2 Hardver interfészek

Az alkalmazás nem igényel külön hardvert. Bármely személyi számítógépen futtatható, amely rendelkezik a szükséges operációs rendszerek egyikével, webböngészővel, valamint internet eléréssel.

11.3 Szoftver interfészek

A programcsomag egy operációs rendszert igényel, mely lehet tetszőleges UNIX/Linux disztribúció vagy Windows. Fontos hogy az operációs rendszer rendelkezzen valamilyen böngészővel. Ez manapság nem jelent gondot, hiszen Windows mellé az Internet Explorert, a UNIX/Linux disztribúciókhoz pedig általában a Mozilla Thunderbird/Firefox böngészőt mellékelik a gyártók.

11.4 Kommunikációs interfészek

A rendszernek a felhasználókkal való kapcsolattartáshoz egy kommunikációs csatornára van szüksége. Ez a csatorna a webböngésző és a webszerver között van melyen, keresztül folyik az adatáramlás. Ezt a csatornát a számítógépben lévő hálózati kártya, kábelek, valamint szoftveres protokollok biztosítják általános esetben. Más esetekben lehetnek még speciális elemek a hálózatban, mint pl.: switch, hub, stb. Ezeknek együttesen egy élő Internet kapcsolatot kell biztosítaniuk.



12. Alkalmazott szabványok


12.1 Kötelezően alkalmazandó szabványok

    Törvényileg előírt a gyártó és a fejlesztő számára, hogy egy év jótállást vállaljon a programért.
Ez azt jelenti, hogy a program egy évig kifogástalanul fog működni.
Nem rendeltetésszerű használat, illetve vírustámadás okozta károkért a gyártó nem felelős.



12.2 Választás alapján alkalmazott szabványok   

    A fejlesztők számára fontos a GNU szabvány betartása, mert a cél egy olyan felhasználói felület készítése, amely az először odalátogató felhasználó számára is egyértelmű eligazodást tesz lehetővé.

Néhány legfontosabb követelmény, amit érdemes betartani az összes programozási nyelvnél:

        - a forrásfájlok mérete ne lépje túl az 500 sort. (Ez az áttekinthetőséget szolgálja)
        - megjegyzések és megjegyzés blokkok gyakori alkalmazása.
        - a fájlnevek legyenek egyediek
        - a név mindig utaljon az általa azonosított elem funkciójára.
        - ne használjunk egy vagy két aláhúzással (  _ vagy __ ) kezdődő neveket
        - ne alkalmazzunk félreérthető rövidítéseket.
        - használjunk konstansokat, olyan helyen ahol a változó értéke nem változhat meg.
        - egy függvény hossza ne haladja meg a 100-150 sort.
        - törekedjünk a szöveg áttekinthetőségére.
        - ne tételezünk fel egy adott végrehajtási sorrendet egy kifejezésen belül, inkább használjunk zárójeleket.


PHP: Eredeti neve: Personal Home Page Tools, mai neve: Hypertext Preprocessor. Olyan önállóan használható programozási nyelv, amely képes nagyméretű webes adatbázis alkalmazások működtetésére is. Tulajdonképpen kiszolgáló oldali programozási nyelv, amit jellemzően HTML oldalakon használnak. A hagyományos HTML oldalakkal szemben azonban a kiszolgáló a PHP parancsokat nem küldi el az ügyfélnek, azokat a kiszolgáló oldalán a PHP értelmező dolgozza fel. A programokban lévő HTML elemek érintetlenül maradnak, de a PHP kódok lefutnak. A kódok végezhetnek adatbázis kezelést (feltöltés, lekérdezés), dinamikusan létrehozhatnak képeket, fájlokat olvashatnak és írhatnak.

A HTML utasítás a szabvány szerint lehet  kisbetűs és nagybetűs is, vagyis elvileg mi magunk dönthetünk, hogy hogyan írjuk a különböző tageket. Azonban mi azt javasoljuk, hogy - a fejlettebb, XHTML szabványra történő átállás megkönnyítése miatt - a tagek neve mindig csupa kisbetűvel szerepeljen a kódban.

MySQL: A világ legnépszerűbb nyílt forráskódú relációs adatbázis kezelője, több mint két millió helyen telepítették. A MySQL AB svéd cég készíti és ingyenesen hozzáférhetővé teszi.



13. Szótár


Administrator (admin): Olyan kiemelt felhasználó aki elvégezhet speciális műveleteket. Pl.: törlés, új adatok felvitele. Több joga és felelőssége van mint egy egyszerű felhasználónak.

Webszerver: A webszerver egy kiszolgáló, mely elérhetővé teszi a helyileg tárolt weblapokat a HTTP protokollon keresztül. A HTTP webszerverekhez webböngészőkkel lehet kapcsolódni.