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

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 termék környezete:
- Körökre osztott stratégia játék, amely Microsoft Windows XP/2000
operációs rendszeren fut, esetleg opcionálisan Linuxon.
- Szórakozás nyújtása a játékosoknak szabadidejük eltöltésére.
-
Legfontosabb funkciók:
- Menü funkciói: új játék, vissza a játékhoz, játék mentése, játék
betöltése, segítség, készítők, kilépés..
- Játéktér lekezelése, mozgás, csata ( új képernyőn ), bányászat,
fejlesztések.
- Előre gyártott futtatható telepítő fájl, a program automatikus
felinstallálása.
- Előre definiált fájl segítségével a programhoz tartozó építőelemek
letörlése, a módosított rendszerváltozók visszaállítása.
-
A felhasználók jellemzői:
- A felhasználó tudjon írni, olvasni. ( kisgyermekek miatt került bele
ez a kritérium )
- Fontos, a számítógép alapvető ismerete, kezelése.
- Egér,.billentyűzet használata.
- Szoftver telepítésének képessége, esetleges beállításai.
- Alapvető alkalmazkodási képesség. ( Játék funkcióinak megtanulásához
).
- Újdonságok iránti vonzalom.
-
Korlátozások:
- Nem megfelelő hardver használat (az un. "kalapács módszer").
- Nem megfelelő szoftver használat (a szoftverelemek kézi módosítása,
letörlése).
- Minimum hardver követelmény.
- Operációs rendszer függősége.
-
Feltételezések és függőségek:
-
Feltételezzük, hogy a közeljövőben a számítástechnikában nem következik
be olyan fejlettségbeli ugrás, amely a szoftverünk mint hardveres mind
szoftveres szempontból elavulttá teszi.
- A szoftver nagyban függ az operációs rendszertől, amelyre íródik.
- Továbbá a függünk a felhasználói igény szinttől.
-
A követelmények csoportosításának szempontjai:
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)
3.1. Menü
A programban főmenü és a hozzá tartozó
almenük funkcióját tölti be.
- Prekondíciók:
- A játék elindulása, a main() indítja.
- Postcondíciók:
Itt több lehetséges állapot lehet a menüpont választásától függően.
- Visszatérés operációs rendszerbe.
- Szokásos működés / kapcsolatok leírása:
Megjelenik a főmenü, majd egérrel kiválaszthatók a menüpontok.
- Vissza a játékhoz: befejeződik a modul működése, és elindul
a főképernyőé.
- Mentés: utasítja az állapotkezelő modult, hogy mentse fájlba
a játék állását.
- Betöltés: kikereshető a megfelelő mentés, majd ezután az
állapot kezelő modul beállítja aktuális állapotnak.
- Beállítások: itt a grafikai és audio beállítások állíthatóak.
- Segítség: megjelenít egy helpet.
- Készítők: megjeleníti a készítőket, azok tulajdonságait, és a
szoftver elérhetőségeit.
- Kilépés: befejeződik a futás, majd visszatér az operációs
rendszerbe.
- Kivételes esetek:
- Ha nincs joga a mentés létrehozásához, kivételes eseményt
generál ( hibaüzenetet ad ).
3.2. Főképernyő
A játék tulajdonképpeni grafikus
felülete.
- Prekondíciók:
- Menü indítja el.
- Futnia kell már az Állapot kezelő modulnak.
- Postcondíciók:
- Ha futása befejeződik, elindul a
menü.
- Szokásos működés / kapcsolatok leírása:
- Folyamatosan
kommunikál az állapotkezelő modullal. Indulása után kirajzolja a
képernyőt ( kezelőpult objektumait, játékteret ), majd folyamatosan
frissíti, az állapotkezelő állapotüzenetei alapján (delegált objektum).
Reagál az egérkattintásokra (OnMouseOver(), OnClick(), OnDoubleClick(),
OnRightClick() eseménykezelőket futtatja).
- Kivételes esetek:
- Ha az adatkezelő objektum
feldolgozhatatlan üzenetet küld, kivételes esemény keletkezik.
3.3. Város képernyő
A városok adatait jeleníti meg és a
hozzájuk tartozó funkciókat teszi elérhetővé.
- Prekondíciók:
- A főképernyő indítja. Szüksége
van a futó állapot kezelő modulra.
- Postcondíciók:
- Kilépés esetén visszatér a
főképernyő.
- Szokásos működés / kapcsolatok leírása:
- Lekéri
a városra vonatkozó adatokat az állapot kezelőtől, majd megjeleníti a
városképet a képernyőn. Változtatások esetén, az adatokat visszaküldi a
állapot kezelőnek.
- Kivételes esetek:
- Ha az állapot kezelő nem
megfelelően reagál kivételes esemény keletkezik.
3.4. Csapat képernyő
Az egyes csapatok adatait mutaja meg,
valamint két csapat közötti egységátadásokat vezényel.
- Prekondíciók:
- A főképernyő indítja. Szüksége
van a futó, állapot kezelő modulra.
- Postcondíciók:
- Kilépés esetén visszatér a
főképernyő.
- Szokásos működés / kapcsolatok leírása:
- Lekéri a csapatra vonatkozó
adatokat, és megjeleníti. Csak olvas a állapotkezelőből, nem ír.
- Ha két csapat egymás mellett van a csapatok közötti
egységcserét bonyolítja le. Ebben az esetben ír az állapotkezelőre.
- Kivételes esetek:
- Ha az állapot kezelő nem
megfelően reagál kivételes esemény keletkezik.
3.5. Csata képernyő
A csaták lebonyolítását végzi.
- Prekondíciók:
- A főképernyő indítja. Szüksége
van a futó, állapot kezelő modulra.
- Postcondíciók:
- Ha
futása végetér visszatér a főképernyőre. Ha ez volt az utólsó csata (
utólsó csapatunk/városunk, vagy utólsó ellenséges csapat/város ), akkor
vesztes/nyertes képernyőt jelenít meg, majd indítja a menüt.
- Szokásos működés / kapcsolatok leírása:
- Lekéri
az adatokat az állapotkezelő modulból ( a mi csapatunkét, és az
ellenséges csapatét is ). Inicializálja a csataképernyőt. Onclick()
metódusra reagál (egységek kijelölése). És a támadás gombra kattintva
sebzéseket számol, majd új körbe léptet. Csata vége esetén végállapotot
visszaírja az állapotkezelő modulba, és csata nyertes/vesztes képernyőt
mutat.
- Kivételes esetek:
- Ha az állapot kezelő nem
megfelően reagál kivételes esemény keletkezik.
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.
- Prekondíciók:
- A játék indulása után
közvetlenül inicializálódik.
- Postcondíciók:
- Futása befejeztével a program
futása mindenképpen végetér.
- Szokásos működés / kapcsolatok leírása:
- A
program indulása után közvetlenül inicializálódik. Külön szálon fut.
Kapcsolatot tart a játék fő moduljaival. Kezeli az adatokat, tárolja az
aktuális játékállapotot a memóriában, mentést végez a merevlemezbe,
betölt egy régebbi mentést aktuális állapottá téve. Külön objektumban
tárolja a mi adatainkat, és az összes ellenségünk adatait( egyenként ).
Szükség esetén a hálózati modullal szinkronizál ( delegált objektumon
keresztül ), illetve fogadja az információ kéréseket/adásokat a
különböző objektumoktól.
- Kivételes esetek:
- Ha nincs joga a merevlemezre
írni, hibát generál.
- Ha nem megfelelő adatokat küld a
hálózati interfész, kivételes esemény keletkezik.
- Ha nem megfelelő adatokat kap a
többi modultól, kivételes esemény keletkezik.
3.7. Hálózati interfész
A hálózati kommunikációt bonyolítja le.
- Prekondíciók:
- Csak hálózati játék esetén
indul, a menü indítja a főképernyővel egyetemben. Szüksége van a futó
állapotkezelő modulra.
- Postcondíciók:
- Leállása esetén indul a menü,
mindenképpen leáll, ha a főképernyő futása befejeződik, és viszont.
- Szokásos működés / kapcsolatok leírása:
- Az
állapotkezelőtől kéri a hálózati kapcsolat felépítéséhez szükséges
adatokat. Azok alapján felépíti a kapcsolatokat. A bejövő adatokat
küldi az állapot kezelő modulnak, és a tőle kapott adatokat szétküldi a
peer-eknek.
- Kivételes esetek:
- Hálózati kapcsolat hiba esetén
kivételes eseményt generál.
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. |
- A kezdő felhasználót segítő rendszertulajdonságok:
- A játék Segítség menüpontja:
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.).
- Egyéb betanulási lehetőségek:
- A játék Felhasználói kézikönyve:
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.
- A játék honlapjának fórum
menüpontja:
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.
- A játék honlapjának problémabejelentés
menüpontja:
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.).
- A felhasználói felület és használati módjának hasonlósága és
eltérése más játékokhoz képest:
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.
- Párhuzamosan használt hasonló alkalmazások kérdése:
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.
- Korlátozott használhatóság:
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.
- MTBF(Mean Time Between Failures=hibák között eltelt átlagos idő):
Várhatóan 1 hónap, a precíz tesztelési
fázisnak köszönhetően.
- MTTR(Mean Time To Repair=egy hiba utáni javítás átlagos ideje):
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:
- Válaszidők:
Esemény
|
Ideális válaszidő
[sec]
|
Hardvertől való
függés
|
Max.válaszidő [sec]
|
Telepítés
|
120
|
CD,Winchester,OS,Alaplap,CPU
|
1200
|
Új pálya betöltése
|
30-90
|
Winchester,CPU,Videókártya,Memória
|
400
|
Játék zene CDről
|
2-3
|
CD,Hangkártya,Memória,CPU
|
25
|
Mentés
|
2-5
|
Memória,Winchester,CPU
|
12
|
Töltés
|
2-5
|
Memória,Winchester,CPU,Videókártya
|
13
|
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.
- Elvárható / teljesítendő mutatók:
Grafikai megjelenítés
|
Mutató
|
Max egység/képernyő
|
48
|
Max egység/pálya
|
192
|
Max egység/csata
|
20-20
|
- A hardver minimum
feltételei:
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
- A hardver normál
feltételei:
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)
-
A fejlesztéskor felmerülő korlátok egyike az architektúrákra
vonatkozó követelményekből származik. A tervezéskor figyelembe kell
venni mind a termék, mind a kívánt operációs rendszer igényeit. Ilyen
igények lehetnek mondjuk a grafikus kártyára és a 32 bites
alkalmazásokra vonatkozó követelmények.
-
A terméket x86
processzorokra szánjuk, legalábbis addig míg a
megrendelő más architektúrára nem kívánja az alkalmazás megvalósítását.
Ennek oka többek között az elterjedtsége.
-
A fejlesztőcsapat igen
sokrétű és ebből következően igen sok
programozási nyelvet ismerünk. A probléma, hogy általában mindenki
mást. A társaságon belül vannak tapasztalatok a Java, Delphi és
PhP
nyelvek terén is, bár egyenlőre nem ezek a jellemzőek, ezért a tagok
közös megegyezéssel jutottak arra a döntésre, hogy C++ nyelven
történjen az implementálás. Azért is tartottuk jó ötletnek mert a
fejlesztőeszközöket ingyen is be lehet szerezni. Különben meg kellene
venni a fejlesztőeszközöket és meg kellene várni míg megtanulunk egy új
nyelvet.
-
A fejlesztőeszközöket
tekintve lehetnek az ingyenes
Dev C++,
Visual C++ valamint a Linux operációs rendszer GNU C++ compilere, és
valamilyen linuxos editor.Ezek azok a fejlesztőeszközök amik
rendelkezésünkre állnak. Egyébb fejlesztőeszköz beszerzésének költsége
a megrendelőre hárul.
-
A fejlesztés
során a grafikus elemek elkészítésének és mozgatásának segítésére
felhasználjuk az OpenGL kibővített grafikus könyvtárát (glut)
ami szintén ingyen elérhető. Ezenfelül igénybe vesszük a standard
függvény- és osztály- könyvtárt valamint minden olyan beépíthető kész
kódot és osztálykönyvtárt ami rendelkezésünkre áll és hasznos lehet a
fejlesztési munkában. Ezzel is elősegítve az implementálás gyorsaságát
és hatékonyságát.
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:
- OpenOffice.org 2.0.0
A program GNU/GPL licenszes (open source ), amelyet az internetről
töltöttünk le ( www.openoffice.org ).
- Mozilla Composer
A Mozilla programcsomag része, amelyet az internetről szereztünk be ( www.mozilla.org
).
- Microsoft Windows XP
A Miskolci Egyetem tanulmányi szerződése által szereztük be. E
szerződés az operációs rendszer tanulmányi célokra történő
felhasználását ingyenessé teszi minden hallgatónak.
- Gentleware Poseidon
A szoftvert a http://gentleware.com
honlapról szereztük be. A program kereskedelmi célokra történő
felhasználása anyagi vonzattal jár, de mivel mi tanulmányi célokra
használjuk, így ingyenes.
A program fejlesztéséhez használt
alkalmazások :
- Visual C++ fejlesztőkörnyezet
A Miskolci Egyetem tanulmányi szerződése által szereztük be. E
szerződés a fejlesztőkörnyezet tanulmányi célokra történő
felhasználását ingyenessé teszi a hallgatóknak
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)
- 1.CD autorun
Funkció: megjelenik egy popup ablak amint a játék
CD-t beolvassa a meghajtó.
Menüpontok: Install,Uninstall,Readme-help,exit.
Használandó szabvány: WinAPI használata.
Stilus: Tank-Féreg csata háttér,start zene.
- 2.Install (fullscreen)
Funkció:A játék telepitése.
Menüpontok: Licence elfogadása,directory
választás,startmenübeli hely választás,start,megszakitas,exit.
Használandó szabvány: WinAPI,Istall Shield.
Stilus: Sivatag-dzsungel átmenet a
statuszjelző csik irányában,start zene.
- 3.Uninstall
Funkció: A játék eltávolítása.
Használandó szabvány: WinAPI,install shield.
Stilus: Dsungel-sivatag átmenet a státuszjelző
csík irányában.
- 4.Readme-Help
Funkció: Információk,elérhetőségek.
Menüpontok:Readme,Licence,Users manual,Kontakt.
Használandó szabvány:HTML.
Stilus: Az összes játékbeli menmüelem.
- 5.Ingame menü (fullscreen)
Funkció: A játék beállitása,mentés,betöltés.
Menüpontok: később részletezzük.
Használandó szabvány: WinAPI használata.
Stilus: később részletezzük.
11.2. Hardware interfészek (Hardware
Interfaces)
- A szabvány hardver csatolók:
- egér
- billentyűzet
- képernyő
- audio eszköz
csatlakozók.
- Speciális hardver csatolók:
- Grafikus gyorsító kártya csatoló felülete. Lásd: 11.3
pont.
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)
- Hivatkozás saját dokumentumokra:
- Hivatkozás más dokumentumokra:
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.