Slutrapport Projekt: ASP.NET Applikation: Clustery Gaming Datum: 29-05-12 Författare: UD11
Abstrakt Denna slutrapport innefattar en beskrivning av samt utvecklarens reflektioner kring utvecklingsprocessen av webbapplikationen ClusteryGaming. Applikationen i sig är resultatet av ett projektarbete i kursen Individuellt mjukvaruutvecklingsprojekt som genomförts på Linnéuniversitet i Kalmar. Rapporten redovisar projektets idé uppkomst och bakgrund, utvecklarens possitiva och negativa erfarenheter och avslutas med en sammanfattning där utvecklaren drar mer övergripande slutsatser om projektet samt redogör kring eventuell vidareutveckling av produkten.
Förord Dataspelande eller gaming är ett intresse som jag liksom många i min generation har växt upp med. Faktum är att de flesta i min umgängetskrets idag, i mindre eller större omfattning, spelar någon form av pc-spel. Kanske beror det på att vi som senare 80-talister fick vara med om hemma pc:ns genombrott, att internetåtkomst i början var ett stort previlegium och at pc-spelen istället blev den stora nya underhållningsfenomenet som kontrast till de tidigare spelkonsollerna. När jag nu ser mig omkring bland mina vänner och bekanta så har alltså de flesta haft svårt att helt lämna sitt gaming intresse. I stället för *RTS-spel som WarCraft II (1995), och *FPS-spel som DOOM (1993) handlar det idag om betydligt nyare titlar som Starcraft II och BattleField 3. CounterStrike 1.6 från 1999 verkar dock vara ett spel som det tar emot att lämna då jag har många bekanta som spelar det aktivt än idag. Denna observation av det ständigt kvarhängande gemensamma intresset gaming ledde således till idén om att skapa en samlingsplats eller organisation för spelare och intressenter av nyss nämda spel. Många gånger tidigare har diskussionen om att skapa ett lag, eller klan som det heter i gaming kretsar, uppstått men i slutändan har det aldrig funnits tillräckligt med tid för att skapa en samlingsplats eller webbsida för sällskapet, vilket givetvis är en viktig punkt och ett redskap för att komma igång. När så kursen Individuellt Mjukvaruutvecklingsprojekt kom att erbjuda 180 timmar till förmån för ett valfritt projekt kunde jag komma på få saker som passade bättre än att ta tag i projekt: Clustery Gaming.
Innehåll INLEDNING SIDA 5 POSITIVA ERFARENHETER SIDA 6 NEGATIVA ERFARENHETER SIDA 6 SAMMANFATTNING SIDA 7
Inledning Målet med detta projekt har varit att skapa en webbsida ämnad för en lag alternativt en spelorganisation med särskilld inriktning på de tre pc-spelen Starcraft II, BattleField 3 och CounterStrike 1.6. Projektet har omfattat ca 10 veckor och målet har hela tiden varit att jobba iterativt med kontinuerlig dokumentation (i form av Iterationsplaner, Risklista, Kravspecifikation, Vision, Testspecifikation samt Testrapport), testning och implementation. Utvecklingen av webbsidan har skett i ASP.net miljö inom vilket programspråken C#, javascript och HTML/CSS har brukats. Utvecklingsverktyg har varit Microsoft Visual Studio 2010 samt Adobe Photoshop och Adobe Illustrator för bildhantering och utveckling av det grafiska gränssnittet. För utveckling av databaser har Microsoft SQL Server 2008 använts, tillsammans programspråket SQL.
Positiva erfarenheter Att på egen han få utveckla en produkt, från idé till färdig produkt, har varit en process som jag upplever givit mig flera positiva egenskaper. Särskillt positivt tycker jag användandet av iterationsplaner har varit. Detta har givit mig en god uppfattning om vad jag bör prioritera och hur mina tidsmarginaler ligger till. Att tidigt lokalisera och skriva ner risker i projektet är ett annat exempel på dokumentation som jag tycker har varit väldight hjälpsamt under processen. Risklista är definitivt något jag kommer utnyttja under framtida projekt. Tittar man mer specifikt på min utvecklingsprocess så upplever jag att mitt arbetsflyt i ASP.net har gått över förväntan. Hinder som uppstått med funktioner har jag, allt som oftast inom en acceptabel tidsram, funnit bra lösningar på via webben och studiematrial. Negativa erfarenheter När det gäller negativa erfarenheter så kommer jag främst att tänka på besvär av mer fysisk karaktär då jag har haft relativt svåra problem med min nacke och rygg. Detta har periodvis lett till att jag inte alltid har kunnat sitta och utveckla under så lång tid jag önskat. Med tanke på inriktningen jag har valt är detta givetvis en varningsklocka inför framtida projekt och viss fokus måste läggas på att undvika liknande besvär. I övrigt så upplever jag att jag kunde fördelat arbetstiden något bättre, särskillt under projektets första veckor. Även om jag förespråkar nogranna förberedelser med risk och krav-listor så tror jag att jag borde påbörjat implementation av funktioner något tidigare. Hade jag kommit igång tidigare med de mer funktionella delarna så tror jag att jag kunde undvikit den successiva ökning av skattade timmar som uppstod bland mina iterationsplaner.
Sammanfattning Att under tio veckor ansvara för utvecklingen av en produkt riktad mot en kund, att ha en skarp deadline samt ett tidsmål att uppfylla tror jag är viktiga aspekter att ha fått träna på inför framtida projekt. Jag är nöjd med min slutgiltiga produkt men är medveten om vissa förbättringspunkter, exempelvis när det gäller de övergripande funktionerna för administratörer som jag anser kan förenklas. Jag har för avsikt att vidareutveckla min applikation och när jag tittar på möjligheter och mål som inte har satts inom ramen för det här projektet så ser jag flera potensiella funktioner som kan bli aktuella. Ett exempel på en sådan kan vara ytterligare ett behörighetssteg ämnat för organisationens medlemmar och spelare. Tittar jag tillbaka på hela utvecklingsprocessen kan jag konstatera att det har varit tio lärofyllda veckor med krav på självdiciplin och allvarsamhet. Samtidigt har det varit underhållande veckor med utrymme för både exprimenterande och improvisation.