Tamagocsi Projektterv
Csapat:
Évfolyam:
CamelCase { Laczik Sándor János; Szőke Gábor; Vasas Szabolcs; } PTI MSc II. 2011/2012
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
1. Összefoglaló A feladat egy PC-n futtatható tamagocsi játék fejlesztése. Az alkalmazás lehetővé teszi, hogy több felhasználó is játszhasson vele (egyszerre azonban csak egy). Az indulásnál kell kiválasztani a gondozandó kedvenc fajtáját (kutya, macska, dinoszaurusz), majd a játék során nevelni kell a létrehozott állatot. A keletkező karakterek tulajdonságai egyrészt örököltek, másrészt a neveltetés során kapott bánásmód által alakulnak ki, így a kedvenc viselkedése, állapota az idő elteltével változhat. A programnak grafikus felhasználó felülettel kell rendelkeznie.
2. Verziók Verzió 0.1 0.2 1.0
Szerző Vasas Szabolcs Szőke Gábor Laczik Sándor
Dátum 2011-09-26 2011-09-26 2011-09-28
Státusz Tervezet Kiegészített Leadható
Megjegyzés Legelső verzió Korrigált és kiegészített verzió Függelékekkel kiegészített verzió
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
3. Tartalom Tamagocsi Projektterv ............................................................................................................................. 1 1.
Összefoglaló................................................................................................................................. 2
2.
Verziók ......................................................................................................................................... 2
4.
Projekt bemutatása ..................................................................................................................... 4 4.1 Háttér......................................................................................................................................... 4 4.2 Célok .......................................................................................................................................... 4 4.3 Átadandók ................................................................................................................................. 4 4.4 Költség- és erőforrás-szükségletek ............................................................................................ 5
5.
Szervezeti felépítés és felelősség megoszlás............................................................................... 5 5.1 Projektcsapat ............................................................................................................................. 5 5.2 Partnerek közötti felelősség-megoszlás .................................................................................... 5
6.
A munka tartalma ........................................................................................................................ 5 6.1 Átadandók és határidők ............................................................................................................ 5 6.2 Feladatok definíciója és időbeosztása ....................................................................................... 5 6.3 Munkakörnyezet........................................................................................................................ 5 6.4 Rizikómenedzsment .................................................................................................................. 6
7.
Projekt költségvetés .................................................................................................................... 6 7.1 Kiadások és fedezet ................................................................................................................... 6
8.
Jelentések .................................................................................................................................... 6 8.1 Munka menedzsment ................................................................................................................ 6 8.2 Csoportgyűlések ........................................................................................................................ 6 8.3 Minőségbiztosítás ...................................................................................................................... 6 8.4 Eredmények elfogadása ............................................................................................................ 6 8.5 Státuszjelentés........................................................................................................................... 6 8.6 Átadás ........................................................................................................................................ 7
9.
Függelék....................................................................................................................................... 8 Függelék 1: Feladatlista ................................................................................................................... 8 Függelék 2: Részletes időbeosztás .................................................................................................. 9 Függelék 3: Részletes költségvetés ................................................................................................. 9 Függelék 4: Átvétel ........................................................................................................................ 10
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
4. Projekt bemutatása Ez a projektterv a Tamagocsi projektet mutatja be, amely 2011. szeptember 14-től 2011. november 30-ig tart. Ez a dokumentum tartalmazza a projekt részletes leírását, valamint azt, hogy hogyan osztjuk fel az egyes részfeladatokat a csapattagok között, meghatározzuk ezen részfeladatok felelőseit , valamint a pontok kiosztását is. 4.1 Háttér A számítógépes játékok piacán már hosszú idők óta egy óriási piaci rés tátong: nem létezik egy igazán jó PC-s tamagocsi program. Ezen tarthatatlan állapot felszámolására vállalkozott csapatunk három tagja azzal, hogy belefogott a jól ismert „kisállat nevelgetős” játék saját megvalósításába. Teljesen véletlenül a tervezés és megvalósítás pontosan lefedi az Objektumvezérelt rendszerek tervezése című tárgyunk gyakorlati követelményeinek teljesítését is, ami pozitívan ösztönöz minket. 4.2 Célok A csapat célja, hogy egy igazán professzionális és piacképes programot tervezzen meg és implementáljon, és ez által hírnevet, profitot, valamint 5 kreditet szerezzen. A rendszer fő funkcionalitásai:
A rendszert több felhasználó is használhatja, azonban a különböző felhasználók közül egyszerre csak egy lehet bejelentkezve. A játék indulásakor a felhasználó létrehoz egy kis kedvencet magának az előre definiált fajtából (kutya, hal, dinoszaurusz), majd a létrehozott karakterét neveli, ameddig az el nem pusztul. Egy játékos két bejelentkezése között a korábban létrehozott karaktere megőrződik. A kedvencek nevelése magában foglalja azok etetését, a velük való játszást, az esetleg felmerülő szükségleteik ellátását. A karakterek egyes tulajdonságai öröklődnek (pl. a halnak vannak specifikusan halra jellemző tulajdonságai), de a neveltetése során kapott információk és a külső hatások az élete során formálják a viselkedését, így minden karakter egyedi lesz. A programmal való interakció grafikus felületen keresztül történik, a karakter képe is megjelenik grafikusan. A projektet önálló desktop alkalmazásként (azaz nem webes alkalmazásként) kell megvalósítani úgy, hogy több platformon is képes legyen futni (legalább Windows és Linux operációs rendszerek).
4.3 Átadandók A projektcsapat a következő eredményeket fogja produkálni a projekt időtartama alatt:
Projektterv UML diagramok (Use Case diagram, Class diagram, Sequence diagram, Package diagram, Deployment diagram) Futtatható alkalmazás, forráskóddal együtt
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
4.4 Költség- és erőforrás-szükségletek Az erőforrásigényünk kb. 3 személyhét. A rendelkezésünkre álló pénzösszeg 150 pont.
5. Szervezeti felépítés és felelősség megoszlás A projekt megrendelője Nagy Csaba. A Tamagocsi projektet a CamelCase nevű csapat fogja megvalósítani. 5.1 Projektcsapat A projekt a következő emberekből áll:
Megrendelő Projekt menedzser Projekt tag
Név Nagy Csaba Szőke Gábor Laczik Sándor János Vasas Szabolcs
Email cím ncsaba@inf.u-szeged.hu h750652@stud.u-szeged.hu vasas.szabolcs@stud.u-szeged.hu
5.2 Partnerek közötti felelősség-megoszlás Elsősorban a projektcsapat a felelős a projekt teljesítéséért és sikeréért. Nagy Csaba feladata a projekt átvétele.
6. A munka tartalma 6.1 Átadandók és határidők A főbb átadandók a projekt időtartama alatt a következők: Projektterv UML tervek Prototípus Átdolgozott UML tervek Végső implementáció
2011. 9. 28. 00:00 2011. 10. 5. 00:00 2011. 11. 2. 00:00 2011. 11. 9. 00:00 2011. 11. 30. 00:00
6.2 Feladatok definíciója és időbeosztása A teljes feladatlista és időbeosztása az 1-es ill. 2-es függelékben található. 6.3 Munkakörnyezet A csapat a projektet Java nyelven Eclipse fejlesztőkörnyezet segítségével valósítja meg. A GUI elkészítéséhez Swing-et fogunk használni, adatbázisként pedig HSQLDB-t. Az adatbázist Hibernate segítségével fogjuk kezelni, verziókezelésre pedig a SourceForge.com-on létrehozott SVN fog rendelkezésünkre állni. A csapat tagjai rendelkeznek saját számítógépekkel, melyekkel, a szükséges eszközöket telepítve, kényelmesen, otthonról tudnak dolgozni a feladaton.
CamelCase Csapat - Tamagocsi
Projektterv
6.4 Rizikómenedzsment Rizikótényező Csapattag betegsége
Valószínűség Közepes
Óriástermeszek támadása
Kicsi
2011. szeptember 28.
Hatás Nem jelent veszélyt a projektre, szükség esetén más csapattagok átvehetik a szerepét, később ő is bepótolhatja. A projekt bukásához vezethet
7. Projekt költségvetés 7.1 Kiadások és fedezet Lásd a 3. és 4. függeléket.
8. Jelentések 8.1 Munka menedzsment A csapatot Szőke Gábor menedzseli, akinek a feladata az egyes részfeladatok kiosztása, határidők betartatása, a munka ellenőrzése. Az ő felelőssége továbbá, hogy egyik csapat se legyen túlterhelve, de mindig mindenkinek legyen elég munkája. Nem utolsósorban ő az, aki a csoportgyűléseken a sört fizeti :D 8.2 Csoportgyűlések A csapat minden héten legalább egyszer gyűlést tart, amikor minden tag bemutatja a munkáját a többieknek, egy rövid code review-t tartunk, valamint a menedzser értékelni mindenki munkáját, és fizeti a sörét :D. 8.3 Minőségbiztosítás Az alkalmazás osztályainak egységtesztelésére JUnit keretrendszert használunk, mely kitűnően integrálódik a csapat által használni kívánt fejlesztőkörnyezetbe. Fontos az alkalmazás teszt lefedettsége, ezt egy külön plugin segítségével ellenőrizhetjük. 8.4 Eredmények elfogadása A projekt eredményeit a megrendelő fogja elfogadni. A projektterven változásokat csak a megrendelő engedélyével lehet tenni. A projekt elfogadásának alapvető követelménye, hogy a program megfeleljen a specifikációnak, valamint az, hogy a tervezéskor a félév során tanult tervezési minták közül alkalmazzunk néhányat. 8.5 Státuszjelentés Minden leadásnál a projekt menedzser jelentést tesz a projekt haladásáról, és ha szükséges változásokat indítványoz a projektterven. Ezen kívül a megrendelő felszólítására a menedzser 3 munkanapon belül köteles leadni a jelentést.
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
8.6 Átadás A projekt eredményei, a dokumentációk és szoftverek email útján lesznek eljuttatva a megrendelőhöz.
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
9. Függelék Függelék 1: Feladatlista A Tamagocsi projekt 2011. szeptember 14-én indult. A következőkben a tervezett feladatok részletes összefoglalása található:
Feladat
Felelős
Erőforrásigény
1, Projektterv
Szőke Gábor
2 személynap
- Projekt leírása, feladatok kiosztása
Vasas Szabolcs Laczik Sándor
2, Tervek
5 személynap
UseCase diagram
Laczik Sándor
1 személynap
Class Diagram
Szőke Gábor
1 személynap
Sequence Diagram
Vasas Szabolcs
1 személynap
Package Diagram
Laczik Sándor
1 személynap
Deployment Diagram
Laczik Sándor
1 személynap
3, Implementáció
10 személynap
Felhasználói felület
Szőke Gábor
3 személynap
Belső adatszerkezetek
Vasas Szabolcs
3 személynap
Játék-logika
Vasas Szabolcs
2 személynap
Integráció
Szőke Gábor
1 személynap
Tesztelés
Tesztelés
1 személynap
Összesen
Tartam: 12 hét Erőforrásigény: 3 személy-hét
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
Függelék 2: Részletes időbeosztás
Október
Szeptember
November
Tamagocsi 7
14
21
28
5
12
19
26
2
9
16
23
30
*
Projektterv Tervek UseCase Class diagram Sequence diagram Package diagram Deployment diagram Implementáció Felhasználói felület Belső adatszerkezetek Játék-logika Integráció Tesztelés
Függelék 3: Részletes költségvetés
Név Szőke Gábor Vasas Szabolcs Laczik Sándor
1. Projektterv 4
2. UseCase 5
2. Class 5
2. Seq. 10
2. Package 2
2. Deploy. 3
3. Implementáció 25
50
5
5
10
4
4
2
25
50
4
10
5
5
3
2
20
50
Összesen
CamelCase Csapat - Tamagocsi
Projektterv
2011. szeptember 28.
Függelék 4: Átvétel A projektet a megrendelő a következő eredménnyel vette át:
Név
1. leadás Projektterv
2. leadás UML tervek
3. leadás Implementáció
Szőke Gábor Vasas Szabolcs Laczik Sándor
Szeged, _____________________
____________________________ átadó
____________________________ átvevő
Összesen