Tamagocsi Projektterv Csapat: CamelCase { Laczik Sándor János; Szőke Gábor; Vasas Szabolcs; } Évfolyam: PTI MSc II. 2011/2012
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ó Szerző Dátum Státusz Megjegyzés 0.1 Vasas Szabolcs 2011-09-26 Tervezet Legelső verzió 0.2 Szőke Gábor 2011-09-26 Kiegészített Korrigált és kiegészített verzió 1.0 Laczik Sándor 2011-09-28 Leadható Függelékekkel kiegészített verzió
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
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
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: Név Email cím Megrendelő Nagy Csaba ncsaba@inf.u-szeged.hu Projekt menedzser Szőke Gábor h750652@stud.u-szeged.hu Projekt tag Laczik Sándor János Vasas Szabolcs 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 2011. 9. 28. 00:00 UML tervek 2011. 10. 5. 00:00 Prototípus 2011. 11. 2. 00:00 Átdolgozott UML tervek 2011. 11. 9. 00:00 Végső implementáció 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.
6.4 Rizikómenedzsment Rizikótényező Valószínűség Hatás Csapattag betegsége Közepes Nem jelent veszélyt a projektre, szükség esetén más csapattagok átvehetik a szerepét, később ő is bepótolhatja. Óriástermeszek támadása Kicsi 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.
8.6 Átadás A projekt eredményei, a dokumentációk és szoftverek email útján lesznek eljuttatva a megrendelőhöz.
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 - Projekt leírása, feladatok kiosztása Szőke Gábor Vasas Szabolcs Laczik Sándor 2 személynap 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
Függelék 2: Részletes időbeosztás Tamagocsi Szeptember Október November 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. 2. 2. 2. 2. 2. 3. Projektterv UseCase Class Seq. Package Deploy. Implementáció Összesen 4 5 5 10 2 3 25 50 5 5 10 4 4 2 25 50 4 10 5 5 3 2 20 50
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ó Összesen Szőke Gábor Vasas Szabolcs Laczik Sándor Szeged, átadó átvevő