Exjobbsförslag från företag

Detta är ett uppsatsförslag hämtat från Nationella Exjobb-poolen. Klicka här för att komma tillbaka till samtliga exjobbsförslag.

Förslaget inkom 2005-05-02

System för storleksoptimering av återanvändbar J2ME-kod 

OBS! ANSÖKNINGSTIDEN FÖR DETTA EXJOBB HAR LÖPT UT.
Problemområde:
Java 2 Micro Edition (J2ME) är en version av Java som används i enheter med begränsade resurser, exempelvis mobiltelefoner. Då resurserna är extremt begränsade (på vissa enheter får koden och data inte väga mer än 64 KB) måste man optimera koden så att den blir så liten som möjligt. T.ex. bör man ha så få klasser som möjligt eftersom varje class-fil har relativt stor overhead. Eftersom vi på Jadestone arbetar med flera projekt som ska baseras på samma återanvändbara kodbas måste koden samtidigt vara enkel att återanvända. Målen att få koden liten och samtidigt låta den vara återanvändbar ligger i direkt konflikt med varandra. T.ex. är polymorfism det ett vanligt sätt att implementera återanvändbarhet. Samtidigt skapar detta mer kod, ofta i form av interfaces. Ett annat sätt är att använda olika former av preprocessing av koden, men detta ger oftast lösningar som är svårare att administrera och skapar problem i IDE:er.

Lösningsförslag:
Programmera enligt god objektorienterad sed för att få återanvändbarhet. Låt sedan en del av byggprocessen automatiskt göra vissa optimeringar av koden. Dessa optimeringar kan vara t.ex. att ta bort interface som bara implementeras av en enda klass och ersätta getter- och settermetoder med direktåtkomst. På så sätt kan man programmera på ett snyggt sätt, men ändå få storleksfördelarna med fulkod.

På Jadestone är det viktigt att byggprocesserna är enkla. Det ska gå att bygga en färdig version av en applikation med ett enda kommando. Därför ska optimeringen vara en integrerad del av byggprocessen. Vi använder Apache Ant för automatisering av byggen.

Omfattning:
Examensarbetet innefattar att
* Undersöka hur mycket plats de olika elementen i koden tar för att kunna avgöra var stora vinster finns att hämta.
* Undersöka vilka verktyg som finns idag för att minska kodstorleken, t.ex. obfuscators, komprimeringsprogram och refactoringverktyg, och deras effektivitet och begränsningar.
* Skapa processer, script och/eller programvara för att automatiskt minska kodstorleken som en del av byggprocessen i ett J2ME-projekt.

Egenskaper:
Önskvärda egenskaper hos den som utför detta arbete är
* Bra på Java-programmering.
* Förståelse för strukturen på Javas class-filer och bytekod.
* Kännedom om vanliga objektorienterade design patterns.
* Kunskap om refactoring.
* Kunskap om optimering inom kompilatorkonstruktion.
* Erfarenhet av Apache Ant.

Om företaget
Jadestone Group (Jadestone) is a leading creator and developer of internationally acclaimed mobile and online multiplayer games. The company develops both proprietary game formats and games based on leading external IPs together with leading international media companies and publishers.

Jadestone, with offices in Stockholm, Sweden, boasts a solid competence mix of strong business profiles and highly experienced network gaming creators, architects and developers. The company is privately owned and funded. 

  GÅ TILL XJOBB.NU FÖR FULLSTÄNDIG INFO OM DETTA EXJOBB




Informationen om uppsatsförslag är hämtad från Nationella Exjobb-poolen.