Csoport neve: HALSEQ

Feladat sorszáma: 6

Feladat címe: Stratégiai játék

 

 

 

 

 

Software követelmény specifikáció

 

 

 

 

Gyakorlatvezető:

Répási Tibor

 

 

 

 

 

 

 

 

 

Csoport tagok:

Molnár Róbert

ABWPRJ

molnar22@gmail.com

Barczi Judit

EA1W60

barczi@iit.uni-miskolc.hu

Kürti Áron

Q0U0NM

kurti@iit.uni-miskolc.hu

Mayer Gábor

LLIFO4

mayer@chello.hu

Nagy Viktor

SGGG8D

nv@citromail.hu

Danyi Dávid

H4VTBK

ddaved@freemail.hu

 

 

 

 

Történet

 

Dátum

Verzió

Leírás

Szerző

2006. 03. 20.

1.0

Software követelmény specifikáció első példánya

Molnár Róbert

Barczi Judit

Kürti Áron

Mayer Gábor

Nagy Viktor

Danyi Dávid

 

 

 

 

 

 

 

 

 

 

 

Tartalomjegyzék

 

1. Bevezetés

2. Áttekintés

3. A rendszer funkciói

3.1 Contex Use Case diagramm

3.2 Felhasználói Use Case diagramm [Layer1/2]

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 Help rendszer

10. Felhasznált kész komponensek

11. Interfészek

11.1. Felhasználói interfészek

11.2. Hardware interfészek

11.3. Software 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. Mellékletek

 

 

 

1. Bevezetés

A készítendő alkalmazás általános leírása

A feladat olyan alkalmazás fejlesztése, amelyben a felhasználók minél élvezhetőbb körülmények között tudják eltölteni szabadidejüket. Az elkészítendő játék jó kikapcsolódási lehetőséget nyújt a leendő használói számára és emellett fejleszti logikai és stratégiai készségüket, de lőfegyvere, és humanoid ellenség hiányában semmiféle negatív pszichikai ráhatással nincs a játékosra.

A készítendő program neve: A leendő alkalmazás felhasználói: - kb 60%-ban általános iskolás fiatalok - kb 30%-ban középiskolás fiatalok - kb 10%-ban a stratégiai játékokat szerető felnőttek Néhány jellemző az elkészítendő alkalmazásról: - egyszerű használhatóság - könnyű kezelhetőség - egyszerű menürendszer - véletlen pályák, és "küldetés mód" - játékállás elmentése, és visszatöltése - élvezhető 2D-s grafika - izgalmas játékmenet

2. Áttekintés

2.1. A Termék környezete: Az alkalmazás minimális gépigénye: Intel Pentium III mikroprocesszor - 600Mhz Központi memória: min. 64Mbyte RAM Videókártya: min. 64Mbyte memóriával Monitor: SVGA monitor Input eszközök (billentyűzet, egér) Várhatóan: - Ez a platform követelmény nem fog változni. Hosszútávú követelmények megvalósításakor a memóriakövetelmény esetleg megnőhet(128-256Mbyte Ram) - a rövidtávú implementáció Single User típusú lesz. - a hosszútávú implementáció Multi User és Online típusú lesz. - az egyszerű menürendszer könnyű kezelhetőséget tesz majd lehetővé - mivel a program elsődleges célja a szórakoztatás, és a kellemes időtöltés, ezért használatához semmilyen előképzettségre nem lesz szükség 2.2 Legfontosabb megvalósítandó funkciók: - menürendszer létrehozása, egyszerű navigáció a menüpontok között - küldetés mód - építkezés megvalósítása - harc megvalósítása a homokférgekkel - játékállás elmentése - játékállás visszatöltése - véletlenpáyás gyakorlómód 2.3. A leendő felhasználók jellemzői:

Az alkalmazás megírása úgy történik, hogy sem a telepítés, sem a használat során nem igényel semmiféle plusz informatikai ismeretet. Persze lesz egy rövid idő a program használatának az elején, míg a felhasználó megszokja a játék irányítását, de ezt 1-2 véletlen pályán könnyen és gyorsan elsajátíthatja. Ha ez megtörtént, akkor már semmilyen akadálya nem lesz a programmal való kellemes időtöltésnek. A rövidtávú célok között Single User mód szerepel, melyet a felhasználók saját otthoni számítógépükön, illetve munkahelyi gépeiken tudnak futtatni. A hosszútávú céljaink között szerepel az online játék, amihelz internetelérés szükséges, de a munkahelyeken szinte mindenhol, valamint az otthonok túlnyomó többségében is megtalálható ma már az internet.

2.4. Feltételezések és függőségek: Platform igény: Windows 9x, Linux, MacOs

A termék használata előtt ellenőrizni kell, hogy videókártyánk OpenGl támogatású e. Ha igen, akkor a program azonnal működik, de ha nem, akkor szükséges egy DirctX 6.3-as programcsomag telepítése. Ám ehez sem kell semmilyen informatikai többletismeret, mert csak el kell indítani a mellékelt directx63.exe file-t, a többit a telepítő elvégzi a felhasználó helyett.

 

3. A rendszer funkciói

Ezen fejezet célja tisztázni a software rendszer funkcionális követelményeit. Elsősorban UML szabványnak megfelelő Use Case diagrammokkal reprezentáljuk ezeket a követelményeket.

3.1 Contex Use Case diagramm

Contex Use Case: A rendszer kapcsolatait tartalmazza. Megmutatja milyen a modulok közti kapcsolat iránya.
Tartalmazás (extend) viszony: Az ábra szerint a hardverre telepített operációs rendszer MicrosoftXP. Az MSXP operációs rendszerre van telepítve egy DirectX és egy OpenGL rendszer. A játékprogram főként ettől a két rendszertől kér szolgáltatásokat.

A diagrammon lévő Aktor_1 a felhasználó: Egy ilyen kontextusban a felhasználó (játékos ,játékokra jellemző kontextus) csak szolgáltatást kap a programtól és minimális kényelmi beállításokat változtathat a rendszeren. A diagrammon szereplő use case-ek: MSXP: A számítógép operációs rendszere, amelytől nagyban függ a játék teljesítménye. OpenGL: Grafika program és hardware rendszer. A több dimenziós nagy teljesítményű és nagy sebességű rajzolást megvalósító rendszert. DirectSound: Audió lejátszó rendszer, amely főként játék programokhoz készült.Főként a játék hang effektusaiért és zenéjéért felelős. Prekondociók: Az illető játék csak akkor futtatható, ha mind a hardware és software csomagok megfelelően működnek. Postkondiciók: A játék használata Szokásos működés(Main Flow): A szokásos singeluser módban 1. nincs hálózati szolgáltatás kérés. 2. nincs külön adatbázis kezelő szolgáltatás. A játék belső saját adatkezelés használ. Az os szerepe csak a diszk kezelésben és memória menedzselésben mutatkozik meg. Ám ezek egy részét a DirectSound és Messa OpenGL rendszerek elrejtik még a játékprogram elől is. Alternatív esetek (Alternativ Flows):

A későbbi tovább fejlesztések során a játék meg fog jelenni egy multiplayer változatban is, ezért ebben a verzióban szükség lehet a GameSpy adatbázisára és IPX szolgáltatásokra.

Kivételes esetek (Exeption Flows):

Hirtelen rendszer leállás kezelése (áramszünet, fagyás). Mivel saját adatkezelése van a játéknak ezért ügyelni kell a fileok konzisztenciájára.---> Időközönként szükségesek biztonsági mentések. ---> minimálissá tehetők a károsodások.

3.2 Felhasználói Use Case diagramm [Layer1]: A diagrammon lévő Aktor_2 a felhasználó : Egy ilyen kontextusban a felhasználó (játékos, játékokra jellemző kontextus) csak szolgáltatást kap a programtól és minimális kényelmi beállításokat változtathat a rendszeren. A diagrammon szereplő use case-ek: Reklám: A program indítása után közvetlenül megjelenik(mozifilm szerűen) a készítő csapat neve, készítés dátum és a programozók nevének listája. [ Keypressed esemény hatására átugródik ] Felhasználó felület1(főmenü): A kezdő vagy kiindulásipont.A használható szolgáltatásokat mutatja mindig. Help:Megmutatja kisebb példák segítségével hogyan kell a programot használni. A helpfile-ok a html(célja: interneten utólagosan is bővíthető)szabványt követik, így akár külső böngészővel is megtekinthetők. Keresés: Képes egy kulcsszóra keresni a htmlfile-okban. Oldalanként:A helpet ömlesztve kidobja a képernyőre, melyben a cursorral mozoghatunk. Tárgymutató:A htmlfileok tartalomjegyzékében böngészhetünk. Ha kiválasztottuk a megfelelőt, duplán rá "click"-elve bejön a hozzá tartozó html oldal. NewGame:Új játék elkezdése. Mission: Előre megírt missziókat kell teljesítenünk meghatározott időrendi és nehézségi sorrendben. Generated:Egy intelligens pálya generátor modul készít a felhasználónak egy véletlenszerű missziót. Load Game: A mentett játék állások visszatöltése. Betölt: Egy adott listából (Saved jegyzékben található .sav kiterjesztésű fileok) választhatjuk ki a cursor billentyűk segítségével(enter-t nyomva rá ) a visszatöltendő mentést. Mentés törlése: Maga a program lehetőséget ad a fölösleges mentések törlésére.(Enter helyett Del gomb lenyomása) Option:Főként kényelmi beállítások. / Amelyek inimális hatással lehetnek a játék teljesítményére/ Felbontás: A képernyő felbontás beállítása. A játéktér növelhető vagy csökkenthető diszkrét értékekkel.(pl: 480x640 600x800 1024x768) Kontraszt: A képélesség változtatható egy százalékos skálán. Game speed: A játék sebessége állítható egy százalékos skálán.(a gépi válaszidő csökkentés vagy növelése) Fényerő: A kép fényerőssége változtatható egy százalékos skálán. Exit: A programból való kilépéshez az exit menüpontot kell kiválasztani vagy az Esc billentyűt megnyomni. Stáblista: A program bezárása esetén egy rövid pillanatra (2-3mp) felvillan egy lista, amin a készítők, a cég neve és a szponzorok találhatók. Prekondociók: Az illető játék csak akkor futtatható, ha mind a hardware és software csomagok megfelelően működnek. Postkondiciók: A menü használata Szokásos működés(Main Flow): A menü használata. A menü elemekre kittintgatva választhatjuk ki az igényelt szolgáltatást. Alternatív esetek (Alternativ Flows):A menüben nincsenek alternatív esetek implementálva. Kivételes esetek (Exeption Flows):A menüben nincsenek kivételes esetek implementálva. (nincs rá szükség, mert nincs file írás) 3.2 Felhasználói Use Case diagramm [Layer2]: A diagrammon lévő Aktor_2 a felhasználó: Egy ilyen kontextusban a felhasználó (játékos ,játékokra jellemző kontextus) csak szolgáltatást kap a programtól. A diagrammon szereplő use case-ek: Game: Maga a játék felület, ami előtt a felhasználó idejének nagy részét tölti. Control: A program egérrel és billentyűzettel irányítható. (egérrel a játéktérben dolgozunk, billentyűzettel a játékteret mozgathatjuk) Gamemenü: Exit: Visszatérés a főmenübe. Qwick save: Játék állás mentése. (külön névmegadás nélkül) Qwick load: Játék állás betöltés. (külön névmegadás nélkül) Save: Játék állás mentése. (külön névmegadással) Game body: Game head: Információs panel a képernyő felső sávjában. A megszerzett pontjainkat írja ki a felső sorban. Monitor: M billentyűvel hívható elő. Részletesebb statisztikákat hoz a felhasználó elé. Game Gui: Maga a képernyőn látható 2.5D-s játéktér. (fekete térben egy elforgatott sík) Prekondociók: Az illető játék csak akkor futtatható, ha mind a hardware és software csomagok megfelelően működnek. Postkondiciók: A játék használata Szokásos működés(Main Flow): Alternatív esetek (Alternativ Flows): Kivételes esetek (Exeption Flows): Hirtelen fagyás és áramszünet esetén. ===> Időközönkénti mentés szükséges. (a felhasználó nem látja automatikusan történik)

4. Használhatóság

4.1.A rendszer megismerése és betanulása: A program jellegéből adódóan, azaz, hogy egyszerű, átlátható és könnyen kezelető nem teszünk különbséget kezdő és gyakorlott felhasználó között. Előző okok miatt ugyanis a kezdő felhasználó is elsőre úg érzi, hogy mindent ismer, mindent tud. Ezen egyszerűség motivációs tényezőként is jelentkezik az esetleges kezelési nehézségek legyőzésében. A mégis fellépő problémák megoldása (pl: telepítés folyamata) megtalálhatók a kezelési- és telepítési útmutatóban. - becsült betanulási idő: 30 perc 4.2. A rendszerrel kapcsolatos tevékenységek(teljes játékidő megbecslése): A piacon kapható hasonló témájú és kategóriájú alkalmazásokkal összevetve hosszabb, intenzívebb és nem utolsó sorban fordulatosabb a játkmenet. A felhasználó a játék első indításától a játék végéig azért fogja használni, mert tetszik neki a mindig megújuló cselekménysor, és nem csak azért, mert ha már belekezdett, akkor be is illene fejezni. - becsült teljes játékidő: 9-12 óra 4.3. Kisegítő lehetőségek: A legfontosabb ilyen a játék mentése.Lehetőségünk van az éppen aktuális állás elmentésére. Ennek menete: a játékban a kívánt pillanatban az F3 billentyű lenyomásakor megjelenő 20 soros mentési tömb bármelyik sorába egyedi elnevezéssel egy bejegyzést illeszthetünk az aktuális állásról. A bejegyzés tartalmazza a megadott egyedi nevet, a dátumot és a küldetés adatait.Ezen mentési bejegyzéseket bármikor vissza lehet tölteni és onnan folytatni a játékot, ahol abbahagytuk. - becsült elsajátítási idő: 5 perc 4.4. Összehasonlítás: Összehasonlítva más hasonló alkalmazásokkal megfigyelhető, hogy nagy eltérések az alapvető felépítésben nem tapasztalhatók. Eltérések a cselekményben, képi és hanghatásokban figyelhetők meg.Cél a fejlesztés során az volt, hogy a régi bevált módszereket és szerkezetet megtartva az eddigieknél sokkal érdekesebb,látványosabb élvezhetőbb program kerüljön a piacra. 4.5. Párhuzamos alkalmazások: Önálló játékprogram lévén semmilyen egyéb alkalmazás párhuzamos futtatása nem szükséges.

5. Megbízhatóság

5.1. Rendelkezésre állás: A rendelkezésre állást ha százalékosan akarjuk kifejezni, akkor egy játékprogramnál, mint ez is csak a 100% fogadható el. Teljes használhatóság: - jelenlegi verzió: 100% - továbbfejlesztett verzió (tervezett): 99% Karbantartási idö: - nincs ilyen tényező (nem ígényel karbantartást) Korlátozott használhatóság: - nem elképzelhető 5.2. MTBF (Mean Time Between Failures - hibák között eltelt átlagos idő): A hibák előfordulása ebben a rendszerben gyakorlatilag 0%. Ha mégis a hiák előfordulsáról kivánunk szót ejteni, inkább a hibák milyenségére kell koncentrálni. A játék menete közben fellépő bármilyen jellegű hiba maximum kellemetlenségnek tekinthető, hiszen a rendszer mentő - visszatöltő mechanizmusa lehetővé teszi a folyamatos és zavartalan szórakozást. Ha mégis időben kellene jellemezni, akkor hetekben mérhető a hibák közt eltelt átlagos idő. 5.3. MTTR (Man Time To Repair - egy hiba utáni javítás átlagos ideje): Rengeteg teszt és kísérletezés után megállapítható, hogy a rendszer önjavító a hibákkal szemben. Ezáltal egy hiba utáni javítás átlagos ideje nem igazán mérhető, több tíz felhasználó és hibajavítási óra után a hibák számát nullára csökkentettük. 5.4. A rendzser eredményeinek pontossága: Mivel a programan olyn eredmények nem keletkeznek, melyekkel a felhasználónak klasszikus értelemben dolgoznia kellene, ezért eredmények pontsságáról ebben az esetben nem beszélhetünk. A program szinte csak önmagának fontos és nélkülözhetetlen eredményeket generál, melyek pontossága a fejlesztés során folyamatosan kaibrálva lett.

6. Teljesítmény

Performance 6.1 Erőforrásigény A program stabil futásához szükséges erőforrások leírása. Minimum rendszerkövetelmény: - Intel Pentium 133 MHz CPU - 128 MB RAM - 4x CD-Rom - 200 Mb HDD tárhely - DirectX 6.3 - OpenGL Támogatású VGA kártya (min. 16 MB RAM) - DirectSound kompatibilis hangkártya - Billentyűzet, egér - Windows 9.x / Unix / MacOs - 56 Kbps modem, internetkapcsolat Mivel a program egy játék, így a gépigénye viszonylag magas, ami leginkább a grafikára van kiélezve. Memóriaigényes program. A háttérben futó alkalmazások jelentősen csökkenthetik a program által használható memória méretét, ami sebességcsökkenéshez vezethet. Ez főleg a csekélyebb teljesítményű rendszerek esetén jelenthet némi problémát. Optimális rendszerkonfiguráció: - Intel Pentium II / III 900 MHz - 256 / 512 MB DDRRam - 64 / 128 MB DirectX 8 VGA kártya - 48x CD-Rom - Sound Blaster 5.1 hangkártya - Billentyüzet, egér - 700 Mb HDD tárhely - Windows 9.x / Unix / MacOs - ADSL internetkapcsolat Egy ilyen optimális architektúra az esetleges későbbi fejlesztések, frissítések adaptálására és stabil használatára is alkalmas. A mai, modernebb számítógépek esetén már egy viszonylag kisebb potenciálú rendszer is megfelelő a program ideális futását tekintve. 6.2 Válaszidők Optimális rendszer esetén 0.3 , 0.5 secundumos válaszidők várhatóak. Ez függ a játék éppen aktuális bonyolultságától, játékállástól ( nyilván a több történés, karakter, és mesterséges intelligencia növelheti a válaszidőt a játékon belül). A játékmenet gyorsaságát szabályozhatjuk a beállításoknál, így igen eltérő sebességeket érhetünk el ( nyilván ésszerű körülmények között ).

7. Támogatottság

Supportability 7.1 Szabványok Mivel a program C++ programozási nyelven írodott, így a kódolás az ANSI C szabvány szerint történt. Ezen felül a fejlesztő gárda a Miskolci Egyetem, www.iit.uni-miskolc.hu/ficsor webcímen megtalálható belső, házi szabványát és konvencióit követte a fejlesztés során. 7.2 Karbantartói funkciók A program felépítése és működése nem teszi indokoltá a külön karbantartói és üzemeltetői funkciók beépítését. A üzemeltetési feladatok nagyjából a program felinstallálásában és a helyes konfigurálásban merülnek ki, amit legtöbb esetben a végfelhasználó maga végez el. Az eltérést az installálás során a mód választásakor lehet észlelni. A 'Tipikus' telepítés során alapértelmezett útvonallal és tárhellyel kerül a rendszerünkre a program. A haladó felhasználók, üzemeltetők, rendszergazdák számára ajánlott 'Egyéni' telepítés lehetőséget ad a paraméterek egyéni ízlés szerinti megadására. 7.3 Naplók A telepítés során létrejön egy setup.log fájl, ami a telepítés naplója. Ebbe feljegyzésre kerülnek a telepítési beállítások, a telepített system fájlok, és a rendszerkonfiguráció. A játékmenet megszakadásakor egy error.log fájlba kerül a hibanapló.

8.Tervezési korlátozások

8.1 A kívánatos architektúrára vonatkozó előírások Az alkalmazást felépítő architektúra részek: -3MS: A valós 3 dimenziós modellek ábrázolásáért felelős egység -BGS: A statikus grafikus ábrázolást megvalósító egység -Logikai rendszer -Input kezelő részek: -egér:mozgás, kattintás, kijelölés -billentyűzet:adatok beírása, billentyű parancsok -Főmenü kezelő -Fájlkezelő rész: mentett játékok készítése és betöltése -Hibakezelés 8.2 Használt programozási nyelv A fejlesztés során a C++ nyelvet fogjuk alkalmazni, mely teljesíti a feladat kiírásban megkövetelt feltételeket: - Objektum orientált - Platform független A C++ proramozási szabvány betartásával pedig elérhetjük, hogy a játék kódja a későbbi továbbfejlesztés és javítás során átlátható legyen. 8.3 Használt fejlesztőeszköz Fejlesztőeszköznek a DevCpp 4.0 programot választottuk többek között hozzáférhetősége, jól kialakított kezelőfelülete és kis mérete, hordozhatósága miatt. Meghatározott hardver platform a fejlesztés során: -Pentium 4 1600MHz -DVD-meghajtó -512Mbyte RAM -ATI Radeon 9600 Xt vidókártya / 256Mbye video RAM -19” CRT monitor -optikai egér -billentyűzet -deskjet nyomtató 8.4 Az alakalmazásba beépülő újrafelhasználható elemek -3 dimenziós modellek, melyek tetszőleges grafikai alkalmazásba importálhatók -Logikai rendszer csomagja, osztályai, mely szintén alkalmazható hasonló jellegő programoknál -Bármely kellő hordozhatósággal bíró kódrészlet, mely lehet osztály vagy akár egy metódus -Új játékterek (pályák) -Bizonyos értelemben a mentett játék is újrafelhasználható elem, azonos verziószámú program egy másik gépen futó példányánál hiba nélkül felhsználható 8.5 A fejlesztési módszertan A projekt során a RUP (Rational Unified Process) módszertant és dokumentum formáit alkalmazzuk, melyek körülbelül megegyeznek az IEEE szabvány ajánlásával. Tulajdonságai: -Keretrendszer a fejlesztésre, a feladat tulajdonságainak figyelembe vételével -Jól definiált munkafolyamatok -Testreszabással alkalmassá tehető egy konkrét feladatra -Számos dokumentációs sablon Használt technikaként szerepel az UML (Unified Modelling Language). Ennek keretében igénybe vesszük a Use Case-, az Osztály- és Viselkedési diagrammokat a feladat egyértelmű megfogalmazására. A munka során törekedni kell a használt módszertan (RUP) és a technika (UML) szabályainak, jelöléseinek, formátumainak feltétel nélküli betartására. Elsősorban annak érdekében, hogy az ezeket ismerő külső személy (megrendelő) egyértelmű képet alkosson a fejlesztő csoport elképzeléseiről és ha úgy ítéli változtatásokat javasoljon. Akár ugyanezen módszer és technika alkalmazásával.

 

9.On-line dokumentáció és Help rendszer

A program igen egyértelmű és könnyen kezelhető lesz, még a kezdő felhsználók számára is. Ezt a külső személyekkel tervezett alapos tesztelési folyamat biztosítja. A program szállításakor a Telepítő cd-n helyet kap egy felhsználói dokumentáció. Ez tartalmazni fogja a használat módját és az esetleg felmerülő kérdéseket és válaszokat. Az egyszerű felépítés miatt a használatról szóló dokumentáció rész átolvasása elegendő és nem teszi szükségessé Help rendszer beépítését a programba. Szükség esetén a fejlesztőkkel is felvehető az kapcsolat, akik minden, a programmal kapcsolatos kérdésre meg tudják adnia a választ. A termék weboldalán az érdeklődők szintén juthatnak információkahoz. Előreláthatólag a játékosnak csak a játékmenet során fellépő stratégiai feladatok hatékony megoldása okozhat majd problémát azonban a fejlesztők célja nem ezek megoldása hanem éppen megalkotása volt.

10.Felhasznált kész komponensek

Az általunk készített játékba a felhasználói élmény fokozása érdekében néhány olyan - már korábban elészített - kész program komponenst integráltunk, melyet támogatnak a mai modern számítógépek. Ezen komponensek a következők:
- Direct Sound: Ez a program a DirectX 9 beépített modulja, így minden korszerű pc ismeri és könnyen tudja kezelni. A program működése végtelenül egyszerű, hiszen ha a Direct Sound Standard Inputjára egy hang fájlt küldünk az azonnal lejátssza azt.Ilyen módon a felhasználó a program futása közben a játék szerves részének érzékeli a hangokat is. - Open GL: ez egy olyan software, melynek támogatására a számítógépek gyártói hardware szinten is gondoltak, így mondhatjuk,hogy a 2D és 3D grafikai elemek megjelenítését a rendszer mind program, mind hardware szinten támogatja. Így lehetséges, hogy a játék futása a lehető legzökkenőmentesebb legyen ezen előre megírt komponens lefutásakor.

11. Interfészek

11.1. Felhasználói interfészek

A felhasználói interfész célja: Kapcsolattartás a program és a felhasználó között. A játék user interfészének jellemzője: Nem követ semmilyen szabványt ===> teljesen egyedi desing-szerint lesz kialakítva. Az U.I. égrrel és billentyűzettel lesz kezelhető. Két fő részre kell osztani funkció szerint a U.I.-t. 1. Menü rendszer ( virtuális gombokból és egy animált háttérből áll ) 2. Maga a játék (jóval bonyolultabb) Az U.I. elkészítésére vonatkozó kritériumok: A fejlesztés során szem előtt kell tartani az alábbi triviálisnak tűnő konvenciókat ===> Ne terheljük túl a képernyőt(egyszerre mindig csak annyi gomb legyen látható, amely minimálisan szükséges és ezek jól el legyenek osztva a képernyőn). Egyszerű és világos kezelhetőség.

11.2. Hardware interfészek

Nincs szükség külön hardware interfészekre, mert csak olyanokat használunk amelyek a MS WinXP SuSE 7.3 MAC Os X alatt működő hardware-be alapból be vannak építve.

11.3. Software interfészek

DirectX --> sound interfészét az Opengl --> grafikai és --> esemény kezelő interfészét és az OS i/o kezelő interfészét használjuk. (a DirectSound helyett Linux alatt sound demon-okat használunk) Az ábra megmutatja az interfészek közötti kommunikáció irányát is.

11.4. Kommunikációs interfészek

 

12.Alkalmazott szabványok

 

12.1. Kötelezően alkalmazandó szabványok

Egy jó program megírásakor feltétlenül alkalmazni kell az adott programnyelvere vonatkozó szabványokat.Ez azért fontos, mert ez teszi a programot mindenki számára átláthatóvá, könnyen értelmezhetővé, s ez által megadja a lehetőséget a későbbi továbbfejlesztésre is. Amennyiben nem tartjuk be a szabványban előírtakat a programozáskor, könnyen előfordulhat, hogy nem csak a további fejlesztéseket gátoljuk meg a munkánkat folytatni kívánó programozóknak, de könnyen "tévedhetünk el" mi is saját forráskódunkban. Ennek elkerülése érdekében az alábbi szabványt, mint kötelezően használandó szabványt használja minden programozónk: -Miskolci Egyetem Általános Informatikai Tanszék kódolási szabványa C nyelvhez

 

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

Programunk OpenGL kódrészeinél a MESSA OPENGL SZABVÁNY előírásait választottuk kötelező érvényűnek.Ez a szabvány egy világszerte ismert és elismert kódolási követelményrendszer, melyet más programkészítők is szívesen alkalmaznak.

13. Mellékletek

-Interaktív grafika - Füzi János -A c programozási nyelv - Brian W. Kernighan , Dennis M. Ritchie -A C++ programozási nyelv - Bjarne Stroustrup - C kódolási szabvány