Csoport neve: Segmentation_Fault

Feladat sorszáma: 6

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






Szoftver követelmény specifikáció




Gyakorlatvezető::

Repási Tibor

Segmentation Fault Logo




Csoport tagok:


Turai Attila

j74x9i

turai1@iit.uni-miskolc.hu

Hadházi Csaba

uvbydq

hadhazi1@iit.uni-miskolc.hu

Keserű János

iu84y5

keseru@iit.uni-miskolc.hu

Petrik András

f3zyt9

petrik3@iit.uni-miskolc.hu

Sebe György

ozj1fr

sebe2@iit.uni-miskolc.hu


2006.03.23







Történet


Dátum

Verzió

Leírás

Szerző

2006.03.15.

0.1

Kezdeti verzió - Linkek és forma elkészítése

Petrik András,
Turai Attila

2006.03.15.

0.2

2. Áttekintés
7. Támogatás
10. Felhasznált kész komponensek

Petrik András,
Turai Attila

2006.03.19.

0.3

8. Tervezési korlátozások
9. On-line dokumentáció és Help rendszer

Keserű János

2006.03.22 0.4 4.Használhatóság
5.Megbízhatóság
Sebe György
2006.03.23
0.5
6.Teljesítmény
11.Interfészek
12.Alkalmazott szabványok
Hadházi Csaba
2006.03.23
0.6
3.A rendszer funkciói
Petrik András,
Turai Attila
2006.03.23 1.0
A dokumentum leellenőrzése, hibáinak kijavítása.
1. Bevezetés
Hadházi Csaba,
Petrik András,
Turai Attila



Tartalomjegyzék

1. Bevezetés

2. Áttekintés

3. A rendszer funkciói

3.1. Menü
3.2. Főképernyő
3.3. Város képernyő
3.4. Csapat képernyő
3.5. Csata képernyő
3.6. Állapot kezelő modul
3.7. Hálózati interfész

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 (Introduction)

Ez a dokumentum a tervezéshez szükséges részletességgel foglalja össze a megírandó szoftverrel szemben támasztott funkcionális és nem funkcionális követelményeket. A dokumentum fő célja a szoftver által biztosított szolgáltatások leírása. A dokumentumot a megrendelő képviselőinek és magunknak, a fejlesztő gárdának szánjuk.A dokumentum tartalmaz egy áttekintést a termékről, leírja a rendszer alapvető funkcióit és azok kapcsolatait. Információkat nyújt a szoftver használhatóságáról, megbízhatóságáról, feltételezett teljesítményéről, támogatottságáról, tervezési korlátairól. Ezenfelül megtalálhatók a szoftverhez kötődő interfészek és alkalmazott szabványok listája.
Ez a dokumentum készíti elő a készülendő rendszer objektumainak, osztályinak, közöttük lévő kapcsolatok leírását. A rendszer viselkedése és futása közbeni számítások is itt kezdenek kibontakozni.

2. Áttekintés (Overview)

A követelményeket sokféle nézőpontból csoportosíthatjuk. Az egyik legfontosabb követelmény, hogy a felhasználónak megfelelő szoftvert biztosítsunk. Így az egyik csoport a felhasználói igények. Ezenfelül a szoftver megfelelő dokumentálása is fontos. Tehát a dokumentációs követelmények is egy csoport, hogy a szoftver megfelelően karbantartható és továbbfejleszthető legyen. A szoftver megírásakor ügyelnünk kell arra, hogy az általunk ajánlott hardveren tökéletesen és a piacon lévő többi számítógépen is megfelelően fusson. Ez képezi a hardver követelményeket. Mivel az operációs rendszer egyes elemeit használni fogjuk és azzal kommunikálnunk kell, ezért a kijelölt vezérlő szoftverrel teljes mértékig együtt kell működnünk, hogy ne lépjenek fel kompatibilitási gondok. Ezen szoftver elvárásai az operációs rendszeri követelményeket képezi. A program megírásakor ügyelnünk kell az áttekinthető és dokumentált forráskódra, és ezenfelül, hogy az kellőképpen fusson, ne legyenek benne programozástechnikai hibák. Tehát a szintaktikai és szemantikai előírások képezik a szoftveres követelmények csoportját.



3. A rendszer funkciói (Specific Requirements)


Use Case diagram

3.1. Menü

A programban főmenü és a hozzá tartozó almenük funkcióját tölti be.

3.2. Főképernyő

A játék tulajdonképpeni grafikus felülete.

3.3. Város képernyő

A városok adatait jeleníti meg és a hozzájuk tartozó funkciókat teszi elérhetővé.

3.4. Csapat képernyő

Az egyes csapatok adatait mutaja meg, valamint két csapat közötti egységátadásokat vezényel.

3.5. Csata képernyő

A csaták lebonyolítását végzi.

3.6. Állapot kezelő modul

A program állapotait, adatai tárolja és módosítja. ezenfelül a fő kommunikációs műveleteket végzi.

3.7. Hálózati interfész

A hálózati kommunikációt bonyolítja le.

4. Használhatóság (Usability)

A szoftver használatának betanulásához egy abszolút kezdő felhasználónak, aki még számítógép előtt sem ült, 1 órára van szüksége. Ennyi idő alatt eljuthat arra a szintre, hogy teljesen átadhassa magát a játékélménynek és ne a játék kezelésével kelljen bajlódnia. A termék Segítség menüpontjában részletesen le lesz írva a játék kezelése, mind az egér, mind a billentyűzet-kombinációk. A program a használat közben is tanítja a felhasználót a képernyőre kiírt tippjeivel,
tanácsaival.
Egy kezdő felhasználónak fél órára, egy haladó felhasználónak 10 percre van szüksége a játék hatékony használatához.

Megnevezés:
Mit kell megtanulnia:
Abszolút kezdő felhasználó
Egér használata, alapszinten billentyűzet használata, a program használata.
Kezdő felhasználó A program használata.
Haladó felhasználó Más hasonló program és az Eden Returns közti különbség.

   
Itt le lesz írva a játék célja, a használata, az egérparancsok és a billentyűzetparancsok.
A program minden pálya elején tippeket ad a felhasználónak az optimális használathoz (Pédául: milyen egységeket érdemes mikor gyártani, milyen egységekkel milyen egységeket érdemes támadni, milyen egységekkel melyen egységeket ne támadjunk.).

Részletes leírást tartalmaz a rendszerigényekről, a játék történetéről, a játék használatáról és további elérhetőségekről.
Itt a felhasználók megoszthatják egymással tapasztalataikat, segíthetik egymást a hatékony felhasználásban és a rendszergazda segítségét is kérhetik a játékkal kapcsolatos problémás ügyeikkel kapcsolatban.
Itt a felhasználó megadhatja e-mailcímét és leírhatja a játékkal kapcsolatos problémáit, észrevételeit (pl. nem fut a szoftver a gépén, hibásan fut a szoftver a gépén vagy csak elakadt a játékban.).

Előzetes felmérések alapján a szoftvert felhasználók tábora a következőképpen oszlik meg:

Megnevezés:
Százalék:
Abszolút kezdő felhasználó 4%
Kezdő felhasználó 18%
Haladó felhasználó 78%

Így a fejlesztőcsoport arra a következtetésre jutott, hogy a játék kezelőfelülete működésében legyen hasonló más játékokéhoz, mivel a gyakorlott felhasználók nem szeretnek sokat bajlódni a játék kezelésének betanulásával, a kezdőknek meg úgyis mindegy:

Így hasonló a játék menürendszere és annak pontjainak elnevezése.

Hasonló a játék kezelőfelülete:
- Van térkép, kicsi és valamelyik sarokban.
- Az egér a fő mozgatóeszköz(jobb és bal egérgombon a hangsúly) mind a játéktér, mind az egységmozgatásban.
- Egérrel és a billentyűzet ESC gombjával is el lehet jutni a játékból a főmenübe.
- A játéktéren kijelölt egység adatai megjelennek a képernyőn.

Hasonló program szerkezete:
- Céglogóval kezdődik, majd introval folytatódik a játék kezdete.
- A játék főmenüre épül.
- A játék pályái közben vannak animációk.
- A játék végén van outro és utána a készítőlista.

Újabb felmérés:

Megnevezés:
Százalék:
Vágyik a játék kezelésének eltérésére az általános stratégiai játéksémához képest. 13%
Vágyik a játék design-jának eltérésére az általános stratégiai játéksémához képest. 98%
Vágyik a játék céljának(építs és rombold le az ellenséget) eltérésére az általános stratégiai játéksémához képest. 25%
Vágyik a játék menetének eltérésére az általános stratégiai játéksémához képest. 92%
Vágyik a játék történetének eltérésére az általános stratégiai játéksémához képest. 87%

Így a fejlesztőcsoport a következő döntésre jutott:

A játék történetének, menetének és kinézetének a lehető legegyedibbnek kell lennie a profit maximalizálásának érdekében.
Tehát az előző sorban felsorolt elemek fognak különbözni a többi stratégiai játéktól, viszont azok alapjaiban véve.
Ha a felhasználó más stratégiai játékot is fog használni az Eden Returns-el párhuzamosan az csak hasznára válhat mind a user-nek, mind a programozónak. A játékkezelés hasonlósága végett a programok egymás használatát fogják segíteni. A játékmenet és a design különbözősége miatt a felhasználó új, egyedi élménnyel fog gazdagodni; ezzel fog biztosítódni a fejlesztőcégünkhöz való lojalitása a jövőben.

5. Megbízhatóság (Reliability)

A rendszer kb. 98%-os megbízhatósággal fog működni, mivel a hibák oroszlánrésze a számottevő tesztelőgárda közreműködése révén ki lesznek küszöbölve.
100%-os, de a játékhoz lesznek majd kifejlesztve felhasználói igény és észrevétel szerinti módosító programok, azaz patch-ek; módosítják a játék egyes részeit, kijavítják az esetleges hibáit.
A játék nem igényel karbantartást.
A program használata korlátlan. Viszont van lehetőség korlátozott használatra két formában is.
1. A játéknak a szoftver honlapjáról le lehet majd tölteni a demóját még a játék végleges változatának megjelenése előtt.
2. Multiplayer üzemmód: a többjátékos üzemmódot fel lehet telepíteni több számítógépre is; úgy, hogy a játék CD-jét nem kell csak ez egyik gép CD-ROM-jában hagyni. Esetleg megfelelően nagy háttértár esetén erre az adathordozóra játék közben nincs is szükség.
Várhatóan 1 hónap, a precíz tesztelési fázisnak köszönhetően.
Várhatóan 1-2 nap, mivel csak apróbb hibák adódhatnak, a gondos tesztelés végett.
Kritikus hibák esetén ez pontosan nem meghatározató. Függ a hibától.

6. Teljesítmény (Performance)

Termékünk teljesítménye nagyban függ a felhasználó által használt hardver minőségétől, ám a minimális gépigénynek megfelelő számítógépeken kifogástalanul működik majd.
Természetesen a felbontás és a textúrák minőségének állításával a komolyabb PC-vel rendelkező felhasználók is kihasználhatják majd gépeik és termékünk adottságait.

A termékünktől elvárt teljesítmény mutatók:
Természetesen a fenti értékek csak a tesztelési folyamat során válnak véglegessé.
Az Eden Returns 128 MB memórián felül l0-100 MB virtuális memóriát használ, mely lehetővé teszi nagyobb adatmennyiségek, például: teljes pályák tábláinak kezelését.


Grafikai megjelenítés
Mutató
Max egység/képernyő
48
Max egység/pálya
192
Max egység/csata
20-20
800 MHz-es processzor
128 MByte RAM
64 MByte-os 3D kártya, ami a DirectX 6.0-t hardveresen támogatja
600 Mbyte szabad hely a program telepítéséhez
500 Mbyte szabad hely a virtuális memóriának.
Hangkártya, ha a felhasználó akarja hallani a játék hangeffektusait
10-szeres CD ROM

1400 MHz-es processzor
256 MByte RAM
128 MByte-os 3D kártya, ami a DirectX 6.0-t hardveresen támogatja ( speciális 2D-s effektekhez )
900 Mbyte szabad hely a program telepítéséhez
1000 Mbyte szabad hely a virtuális memóriának.
Hangkártya, ha a felhasználó akarja hallani a játék hangeffektusait
42-szeres CD ROM

7. Támogatottság (Supportability)

Mivel a program C++ programozási nyelven készül, így C++ kódolási szabványokat alkalmazunk. A fejlesztés során a Miskolci Egyetem Általános Informatikai Tanszék kódolási szabványát vesszük alapul. Ez  konvenciókat tartalmaz a változókra, a függvényekre, osztálynevek felépítésére, és a kódolás formáját is meghatározza. A fejlesztés során keletkezett file-ok elnevezése is szabályozottan történik, hogy a későbbi karbantartás és fejlesztés gördülékenyen folyhasson. ( Lásd: Projekt terv )

Mivel ez egy játékszoftver, a felhasználó az üzemeltető. Így az ő feladata, hogy szoftverét folyamatosan frissítse a megjelenő patch-ekkel. Mi ezt a folyamatot úgy tudjuk segíteni, hogy a regisztrált felhasználónak üzenetet küldünk az esetleges frissítésekről, és ha ezt igényli, akkor egy segéd automata által naprakésszé tesszük a szoftverét.

A felhasználókon kívül a patchkészítők fogják még használni a kész szoftvert, akik a felmerülő hibákat orvosolják és a szoftver új verzióit készítik el. A későbbi javítási és fejlesztési műveleteket úgy tudjuk elősegíteni, hogy a készülendő szoftvert megfelelően dokumentáljuk. Ezt a dokumentációt a kódolási szabvány segíti elő.

A későbbi fejlesztések során a szoftver egyik feladata lehet a naplózás, amely a felhasználás során keletkező hibák rögzítését végzi el.A napló egy szövegfájl, amely szöveges formában tartalmazza a felhasználás során keletkezett végzetes eseményeket és azok feltételezett okait.Ha a felhasználó nem megfelelő működést érzékel, akkor a hibajelentéséhez mellékelheti a program naplóját. Ezt a patchkészítő elolvashatja vagy egy megfelelő célprogram segíítségével feldolgozhatja, és a napló bejegyzése alapján kijavíthatja a problémát.A hibák javítása egy új patch verziót eredményez.

A fent említett naplófeldolgozó alkalmazás fejlesztése egy későbbi beépített projekt keretében készülhet el. Ez a karbantartó patchkészítő munkáját könnyítheti meg. Így a program későbbi fejlesztése is gördülékenyebben folyhat, mert a használat során keletkezett hibákat megismerve ezeket könnyebb kiküszöbölni.



8. Tervezési korlátozások (Design Constrainst)



9. On-line dokumentáció és Help rendszer
(
Online User Documentation and Help System Requirements)

Mivel a kész terméket nyílt forráskódúra tervezzük, ezért szükséges az on-line dokumentáció azok számára akik bővíteni, fejleszteni szeretnék a terméket, esetleg felhasználni azok függvény- és osztály könyvtárait saját célra. Ez a dokumentum tartalmazni fogja az általunk implementált osztályok leírását, kommunikációs interfészüket, a tartalmazott függvények paraméterlistájára és visszatérési értékeikre vonatkozó információkat, ezenfelül minden olyan feltételt aminek teljesülnie kell az egyes függvények alkalmazhatóságához. Feltüntetjük azokat az előre megírt forrásokat és származásukat is amiket segítségül hívunk a saját munkánkban.
A Help rendszer szükséges a felhasználók számára, segítségével tudják egyszerűen és gyorsan elsajátítani a játék menetével kapcsolatos tudnivalókat és a rendszer kezelését. A játék menete többek között a fejlődéshez szükséges feltételeket és a csatával kapcsolatos információkat tartalmazza. Aki nem játszott azelőtt kártyás szerepjátékokat azoknak mindenképpen jól fog jönni.
Tartalmaz egy struktúrált, részletes leírást a játék folyamán „felbukkanó„ objektumokról, azok funkcionalitásáról (Milyen szerepe van a játék folyamán, mit gyárt(ha gyárt), fejlesztése milyen új objektumok esetleg egyedek alkotását teszi lehetővé ).
Ismertetésre kerülnek az egyes menüpontok, azok funkciói és gyorsbillentyüi.(például: gyorsmentés, mentés vagy egyedek csoportjához azonosító rendelése .)
.



10. Felhasznált kész komponensek (Third-party Components)

A program dokumentálásához használt alkalmazások:

A program fejlesztéséhez használt alkalmazások :

A fenti programokat tanulmányi célokra használjuk fel, ezért ezek számunkra ingyenesek. Így a program fejlesztése alatt ezek költségként nem merülnek fel.

11. Interfészek (Interfaces)

Itt található a termék valamennyi külső kapcsolatának, az ezt biztosító interfészeknek specifikációja.

11.1. Felhasználói interfészek (User Interfaces)


11.2. Hardware interfészek (Hardware Interfaces)

11.3. Software interfészek (Software Interfaces)

A programnak előreláthatólag nem lesz szüksége más programokkal való kommunikációra. Az operációs rendszerrel kell kommunikálnia a fi lekezelés miatt. De ez tervezett, integrált módon történik, így ennek interfészével nem szükséges foglakozni.


11.4. Kommunikációs interfészek (Communications Interfaces)

A tervezett multiplayer funkció esetében TCP/IP. Mivel a program csak a többi ugyanilyen programmal kommunikál a hálózaton, ezért az interface dokumentálása nem szükséges. A kommunikáció socketes alapon működik( esetleg alternatív esetként http kérés-válasz formában a NAT mögül játszóknak ). A megadott ip-kre socket-et nyit a 33567-es portra ( megváltoztatható ), majd folyamatosan kommunikál.

A kommunikációs csatornán az üzenetek plain-text formában fognak továbbitódni ( esetleges hamisítás nem érdekes ).
A szöveg formátuma XML lesz.

Egy üzenet felépítése:
<head>
    <sender>hash sorozat</sender>
    <ip>xxx.xxx.xxx.xxx</ip>
</head>
<body>
    csapatmozgásokra , változásokra, csata leírásánál harci értékekre vonatkozó adatok, megfelelő xml formátumban
</body>

12. Alkalmazott szabványok (Applicable Standards)

A fejlesztés során vagy az alkalmazás készítése és üzemeltetése, használata során betartandó előírások (technikai vagy szakterületi szabványok, törvények .)

12.1. Kötelezően alkalmazandó szabványok (Mandatory Standards)

1.A Magyar Köztársaság mindenkori törvényei.
2.A partner cégek szerzői jogai.
3.A Miskolci Egyetem programozási háziszabványa.
4.A programozási dokumentáció.
5.A fejlesztéshez használt fájl formátumok.

12.2. Választás alapján alkalmazott szabványok (Optional Standars)

1. Kommentezés.
2. Tagok közti kommunikáció.
3. Kódolásnál: házi szabvány (korábban kifejtve)
4. Kódolásnál munkanyelv az angol.

13. Mellékletek (Appendix)

1. Vízió dokumentum.
2. Projekt terv.
3. Felhasználói kézikönyv.
1. A Magyar Köztársaság törvénykönyve.
2. A partner cégek szerzői jogainak gyűjteménye.
3. A Miskolci Egyetem Általános Informatikai tanszék programozási háziszabványa.
4. A programozási dokumentáció szabványa.
5. A fejlesztéshez használt fájl formátumok listája.
6. A Segmentation Fault kommentezési szabványa.
7. Az általános levelezési illemszabályok.
8. A GNU/GPL licensz magyar és angol nyelven.



Vissza a nyitólapra.