Paddel-appen Utmärkta kanotleder Version 1.0 Distributionslista Befattning Bolag/en het Säljare Sogeti Bengt Löwenhamn Konsultchef Sogeti Åsa Maspers Mentor/handledare Sogeti Student KaU Claes Barthelson Namn Åtgärd Info.
Innehållsförteckning 1. Allmän beskrivning av uppdraget... 4 1.1 Bakgrund... 4 2. App för Paddlare... 4 2.1 Utredning Xamarin... 4 2.2 Krav... 4 2.2.1 Befintliga krav... 5 2.3 Design... 5 2.4 Implementation... 5 2.4.1 Xamarin... 5 2.4.2 Backend... 6 3. Genomförande/arbetssätt... 6 3.1 Rutiner... 6 3.2 Genomförande... 6 4. Stöd/kvalitetssäkring... 6 4.1 Granskningar... 6 4.2 Testarbete... 6 5. Leveranser... 7 5.1 Kod... 7 5.2 Dokumentation... 7 6. Konfigurationsstyrning... 7 7. Miljö... 7 8. Uppföljning och Rapportering... 7 8.1 Rapportering internt/externt... 7 8.1.1 Statusrapportering... 7 8.1.2 Möten... 7 8.1.3 Slutrapportering... 7 Sida 2 av 7
Ändringsförteckning Version Datum Ändring 1.0 Dokumentet skapats Sida 3 av 7
1. Allmän beskrivning av uppdraget 1.1 Bakgrund Sogeti Sverige AB (Sogeti) är ett IT-konsultbolag med bred verksamhet, stort fokus på kompetens och modern teknik. Syftet med uppdraget är att bygga en mobil-app för paddlare, där fokus ligger på att hitta bra leder att paddla efter, övernattningsställen samt kanotuthyrningar. T.ex. kan företag som hyr ut kanoter m.m. att lägga ut sina paddelleder med information om att man hyra kanot på plats, öppettider etc. Ytterligare en målgrupp för att fylla appen med information är landets alla turistbyråer som genom appen kan locka turister till sina vackra kanotleder. Appen ger också paddlare möjlighet att dela med sig av bra paddelleder, beskriva deras olika egenskaper och kanske lägga upp någon bild över leden. T.ex. kan information om vilka årstider en viss led har tillräckligt vattendjup vara av stort intresse. 2. App för Paddlare Arbetet kommer utföras i ett antal steg. Uppdragstagarna börjar med att ta fram ett underlag med kraven. När kraven är kända tas designen fram och därefter kan utvecklingen starta. 2.1 Utredning Xamarin 2.2 Krav Sogeti önskar att uppdragstagarna tar fram en rapport över hur det är att använda Xamarin och då gärna i form av exempel på mindre delar av appen, hur skillnaden blir i utveckling jämför med om man hade gjort det enbart för Windows Phone, Android eller iphone. Uppdraget kommer att inledas av en fas med kravarbete där uppdragstagarna fångar kraven på appen och sammanfattar dessa i ett kravdokument med funktionella och icke funktionella krav. Tillsammans med Sogeti beslutas därefter vilka krav som ska prioriteras och därmed inkluderas i examensarbetet samt vilka som kan vara optioner som implementeras i mån av tid. Eftersom appen ska vara gjord för paddlare så ser vi gärna att uppdragstagarna intervjuar ett antal personer som sysslar med att paddla för att få fram vilka parametrar en paddlare skulle vara intresserad av på en paddelled och hur gränssnittet ska utformas. Företag som hyr ut kanoter eller anordnar paddelturer samt STF, Svenska Turistföreningen, eller någon turistbyrå bör också kontaktas för att fastställa vilken typ av information som brukar efterfrågas. Sida 4 av 7
2.2.1 Befintliga krav 2.3 Design Följande är förslag på krav på applikationen som tillförs kravarbetet. Dessa prioriteras tillsammans med övriga tillkommande krav och efter avslutad kravfas bestäms gemensamt vad som ryms inom exjobbet. Användare ska kunna: Registrera en paddelled. Allmän information samt markera på karta. Ta en eller flera bilder och koppla till en paddelled, även sådana registrerade av andra. Se en lista över paddelleder han/hon har laddat upp och kunna modifiera/ta bort leden. Registrera övernattningsmöjlighet och placera denna på karta. Registrera kanotuthyrningsställe och placera denna på karta. Betygsätta och kommentera befintliga paddelleder, övernattningsställen och kanotuthyrningar. Skapa ett konto. Logga in/logga ut. Hitta alla paddelleder inom en viss radie eller visst geografiskt område. Söka efter paddelleder. Filtrera visade paddelleder. Design är en mycket viktig del för moderna appar då användare kräver hög kvalité på appar. Därför är detta en del av kravfasen där uppdragstagarna ska göra en design i förslagsvis WireframeSketcher, Balsamiq eller PowerPoint som sedan granskas av uppdragstagarna tillsammans med Sogeti. 2.4 Implementation Implementationen kommer att vara uppdelad i två delar där en del kommer att vara själva appen och den andra delen kommer att vara den backend som appen kommunicerar med. Implementationen kommer att göras med Xamarin 3 för Android i grundutförande och finns tid så anpassas lösningen även för Windows Phone och/eller iphone. 2.4.1 Xamarin Appen ska vara gjord för Android i grundversionen och skriven i Xamarin, detta för att man ska kunna dela så mycket kod som möjligt mellan de olika plattformarna när man senare vidareutvecklar appen för Windows Phone och iphone. Programmeringsspråk för Xamarin är C#. Appar är generellt sett mycket fokuserade på design och användarvänlighet, vilket gör att examensarbetarna förväntas fokusera även på en snygg och användarvänlig design för appen. Sida 5 av 7
2.4.1.1 Windows Phone version Göra GUIn och anpassa appen så den även kan köras för Windows Phone 2.4.1.2 iphone version Göra GUIn och anpassa appen så den även kan köras för i Phone 2.4.2 Backend För att appen ska kunna ha kontohantering m.m. så behöver uppdragstagarna tillverka ett API för att hantera detta. APIet görs förslagsvis i WebAPI som är en nyare teknik som är på uppgång. Sogeti ser gärna att APIet görs med REST arkitektur. För att lagra all information om användare, paddelleder etc. kommer en databas att implementeras och ett gränssnitt mot denna databas byggas. Förslagsvis används Entity Framwork som OR-mapper (Object Relational) och SQL Server som databas. 2.4.2.1 Inloggning och kontohantering Implementera stöd för inloggning så att appen kan verifiera att användaren har angett korrekt användarnamn och lösenord. Man ska även kunna skapa och ta bort ett användarkonto. 3. Genomförande/arbetssätt 3.1 Rutiner Sogeti tillhandahåller arbetsplats och dator. Uppdragstagaren kommer att ha access till Sogetis nätverk och får möjlighet att nyttja vår TFS-server för versionshantering. 3.2 Genomförande Uppdragstagaren planerar själv genomförandet och Sogeti tillhandahåller stöttning både projektstyrningsmässigt och rent implementationstekniskt. Sogeti tillhandahåller all programvara och hårdvara som behövs för utvecklingen. 4. Stöd/kvalitetssäkring 4.1 Granskningar Vid behov genomförs granskning som kan initieras av både handledare och uppdragstagare. Lämpligen definieras några granskningspunkter vid planeringen av projektet. 4.2 Testarbete Funktions-, system- och integrationstest görs av ex-jobbare. Sida 6 av 7
5. Leveranser 5.1 Kod Koden som utvecklas ägs av Sogeti och kan därigenom återanvändas i kommande projekt. Senaste version från examensarbetet leverars till Sogetis TFS. Uppdragstagarna ges fri nyttjanderätt till källkoden och själva appen, vilket ger dem full frihet att fortsätta utveckla och lansera appen på någon marknad. 5.2 Dokumentation Dokumentation görs i form av C-uppsatsen och ingen ytterligare dokumentation krävs. 6. Konfigurationsstyrning All programkod och tillhörande specifikationer och andra utvecklingsdokument ska versionshanteras. Lämpligtvis används TFS eller GIT för detta. Senaste version levereras till Sogeti efter avslutat examensarbete. 7. Miljö Utvecklingsverktyg väljs av uppdragstagare tillsammans med handledare. Lämpligen används Visual Studio 2013 för detta. 8. Uppföljning och Rapportering 8.1 Rapportering internt/externt 8.1.1 Statusrapportering 8.1.2 Möten Rapportering av status och framskridande i utvecklingen beslutas i samråd vid projektuppstart. Möten hålls vid behov. Vid uppstart läggs lämpligt antal avstämningsmöten in i projektplanen. 8.1.3 Slutrapportering Ex-jobbet presenteras för Sogeti i samband med lämpligt månadsmöte alternativt lunchmöte. Sida 7 av 7