Henrik Häggbom Examensarbete Nackademin Våren 2015

Relevanta dokument
Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Mål med lektionen! Repetera och befästa kunskaperna.

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

Användarinställningar på laget.se

Att komma igång med FirstClass (FC)!

Introduktion till Entity Framework och LINQ. Källa och läs mer

Artiklar via UB:s sö ktja nst

NYHETSBREV. Cumap webb 9. STOR NYHET på gång: Cumap LIVE en succé SUPPORT - Manualer på cumap.se Smått och gott, tips och trix

Slutrapport för JMDB.COM. Johan Wibjer

Inledning. Registrering Snabbstart för tavlingsanmalan.se

GYMKEEPER ANDREAS SÖDERSTRÖM

Handbok Hogia PBM Payslip

Instruktion

VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD

Slutrapport YUNSIT.se Portfolio/blogg

Statistiska centralbyrån

Handbok Hogia PBM - Personal Business Manager

Curriculum Vitae. Systemutvecklare/konsult. Kontaktuppgifter. Sammanfattning. Uppgifter hos Pulsen. Stefan Elvestål. Född: 1973 Nationalitet: Svensk

WEBBAPPLIKATION FÖR ADMINISTRERING AV DOKUMENT

lokalnytt.se Manual kundadministration

Information om ny hemsida laget.se för innebandyn

Projektrapport - Live commentary

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

SKÖTSELSKOLAN. Instruktioner till personal - för dig som arbetar på ett entreprenadföretag

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

VAD GÖR DU / VEM ÄR DU?

Att bli skribent för Spelmansgillets bloggar hos Blogspot/Google

Microsoft Office historik. - making IT easier

Lab 5: ASP.NET 2.0 Site Navigation

Compose Connect. Hosted Exchange

Sök Idrottslyftet år 4

Fr om version använder vi HogiaID en ny inloggning för dig som använder Hogia einvoice eller Hogia Approval Compact Edition

Instruktion för integration mot CAS

Arbetshäfte Office 365 en första introduktion

Frågor och Svar - myteam

Konvertering från Klients databas till Norstedts Byrå

Manual webb-bokning. Giltig från Kontakt: Emilia Lindberg, turist- och fritidskonsulent

Individuellt Mjukvaruutvecklingsprojekt. Slutrapport. Projekt: ASP.NET Applikation: Clustery Gaming Datum: Författare: Adam Gustafsson UD11

ÄNTLIGEN ETT SPEL DÄR ER KLUBB ALLTID VINNER! Kom igång med Klubblo och skapa er inloggning med ett par enkla steg!

en stor bokstav och en siffra. Lösenordet får inte innehålla några tecken (!,,#,%,&)

Startguide för Administratör Kom igång med Microsoft Office 365

Institutionen för Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink. Laboration: Flerskiktade applikationer

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

Installera din WordPress med 9 enkla steg

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Valet 2010 på facebook!

ETT TRÄFFSÄKERT VAL FÖR SKYTTEN. Skytteappen Logga. Två appar som hjälper dig i ditt skytte.

Innehåll. Dokumentet gäller från och med version

Författare Version Datum. Visi System AB

Erik Lundgren GarageLoppisen.se. Projekt i kursen Individuellt Mjukvaruutvecklingsprojekt, 1dv430

Titel Version Datum Sida Användarhandledning Laget.se/LNIK

SAFE WORK. Instruktioner till personal - för dig som arbetar på ett entreprenadföretag

Lathund: Skapa egna ansökningsformulär

Valet 2010 på facebook!

SLUTRAPPORT WEBBPROJEKT 1

Innehållsförteckning Förutsättningar... 2 Installation av Google Authenticator på iphone... 3 Installation av Google Authenticator på Android...

Statistiska centralbyrån

Diagnostisktprov Utveckla i Azure

Lärarhandledning. Felix börjar skolan

Användarhandledning Time Care Pool och Personec för vikarier 2015

Testa gratis i 15 dagar

ecampus min väg till KNX

FLEX Personalsystem. Uppdateringsanvisning

Introduktion Office 365

Fr om version ser inloggningen med HogiaID lite annorlunda ut i Hogias Ekonomisystem

Handbok Hogia PBM - Personal Business Manager

Handbok Hogia PBM - Personal Business Manager

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Mobilanpassning

EXAMENSARBETE. Avvägning och inmätning av Stockholms stadion. Eduwin Pena Hernandez Högskoleexamen Bygg och anläggning

Användarmanual Timvärde El o Fjärrvärme

Användarmanual medium

Inspektion Användarmanuel

IT policy för elever vid

Vad är Atea Register? Hur navigerar jag till Atea Register? Manualens syfte

Lathund för SKOLWEBBEN för vårdnadshavare i grundskolan

Uppdragsbeskrivning. Paddel-appen Utmärkta kanotleder. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Uppgraderingsinstruktion för Tekis-FB 7.0.3

KAi SENSEMAKING SYSTEM

Lathund för bytet till SportAdmin. Gif Nike

Slutrapport Thunderbug

lär dig söka och publicera på världens största videocommunity!

Vindbrukskollen Nationell databas för planerade och befintliga vindkraftverk Insamling och utveckling

Installationsanvisningar VISI Klient

Användarmanual. VisitLog 2.0. RIW Software Technology AB

Så här kommer du igång med din Chromebook elevdatorn i Årskurs 4

ÖrebroCupen. Institutionen för Ekonomi, Statistik och Informatik, ESI Informatik, Klientprogrammering för webbsystem, 5 poäng

Ariba Network Leverantörsaktivering. Leverantörens vy

Akzo Nobel AB. Användarguide - FAQ Externa användare. Sök jobb hos Akzo Nobel i vårt Rekryteringssystem

Konton skapas normalt av användaren själv, men kan i undantagsfall behöva läggas upp av annan person, exempelvis en junioradmin.

Vårdfaktura lathund för Vårdgivare

Domarassistenten.com. - en introduktion för domare

Projektarbete myshop. Sandra Öigaard so222es WP12 Individuellt mjukvaruutvecklingsprojekt

SNITS-Lunch. Säkerhet & webb

(Vid tekniska problem, kontakta Mapaz Support, )

Enkät- och analysverktyg

Snabbstartsguide. Få hjälp Klicka på frågetecknet om du vill söka efter hjälpinnehåll.

Transkript:

AV Henrik Häggbom Examensarbete Nackademin Våren 2015

1 INLEDNING Som examensarbete på min utbildning på Nackademin Programutveckling.NET kommer jag skapa ett webbaserat system för statistik, tabeller och resultat. System är tänkt för att skapa tabeller, statistik, resultat samt spelscheman för idrottstävlingar exempelvis en hockey eller fotbollsturnering. 2 BAKGRUND Idag är det ofta problematiskt när en idrottsförening/förbund skapar mindre turneringar. Anmälan ska tas upp, spelschema och tabeller ska göras. Efter turneringens slut ska resultatet publicera på hemsidor eller sociala medier. En del har löst problematiken med MS Excel andra med papper och penna, lösningen med papper och penna eller Excel fungerar oftast mycket dåligt när det ska publiceras på dagens mobilanpassade hemsidor och sociala medier. System för det här ändamålet finns redan idag att köpa på marknaden men dem är sällan väldigt användarvänliga och är oftast ganska dyra vilket är ett problem för en ideell förening. 3 SYFTE Tanke är att skapa ett webbaserat gratis system som ska skapa spelschema, tabeller, resultat och statistik. Systemets fokus ska vara på användarvänlighet för den som ska skapar turneringar men även för en vanlig besökare som vill se resultat och tabeller. Varje turnerings enskilda resultat, statistik och spelschema ska enkelt gå att publicera på sociala medier dela via mail samt publiceras på respektive förenings hemsida. Detta system är alltså tänkt att användas av ideella föreningar och deras ledare och kommer lösa problematiken med att lägga spelschema för tabeller och statistik samt att publicera resultat på ett enkelt sätt. 4 MÅL Målet med examensarbetet är att skapa ett gratis webbaserat system för att kunna skapa spelschema, tabeller, resultat samt statistik. 1

5 KRAV PÅ SYSTEMET För att ta fram kraven för webbapplikationen har jag pratat med idrottsledare och deltagare. Utifrån det har jag bestämt vilka funktioner som är viktiga för ett statistiksystem. In och utloggning Inloggning krävs för att inte obehöriga ska kunna ändra och lägga in resultat och andra viktiga uppgifter så som tabeller och spelarstatistik. Skapa, ändra och ta bort En inloggad turneringsansvarig ska kunna skapa turneringar. Man ska också ha möjlighet att ändra informationen om det skulle bli fel under skapandet. Om turnering inte skulle bli av eller om användaren önskar att kunna ta bort sin turnering ska det finnas möjlighet för det. I System ska det också vara möjligt att Lägga till, ta bort och ändra andra uppgifter som klubbar, spelare, matcher, statistik, resultat och sporter. Visa resultat Användare som inte är inloggade ska kunna kolla resultat och tabeller för specifika matcher och turneringar. Visa statistik Användare som inte är inloggade ska kunna kolla statistik för spelare och för olika lag. Visa Tabeller Användare som inte är inloggade ska kunna kolla tabeller för olika turneringar och cuper. Visa Laguppställningar Användare som inte är inloggade ska kunna kolla laguppställningar för olika turneringar och cuper. Framtida funktioner och egenskaper Många funktioner är uttänkta men dem ovan nämda är dem viktigaste och är därför prioriterade. I framtida versioner kommer användarnas idéer att värderas högre men det viktigaste är dem ovan nämnda. 2

6 USE CASES Visa Turneringar Visa Resultat Visa Tabell Besökare Visa Spelschema Visa Statistik Visa Laguppställning Skapa Tabeller Skapa Resultat Ändra Resultat Ta bort Resultat Skapa Statistik Ändra Statistik Ta bort Statistik Admin Skapa Lag Ändra Lag Ta bort Lag Skapa idrott Ändra Idrott Ta bort Idrott Skapa Turnering Ändra Turnering Skapa nya användare Ta bort Turnering Ändra användaruppgifter Skapa Spelschema Ta bort användare Ändra Spelschema Ändra E-postadress Ta bort Spelschema Ändra lösenord Publicera Resultat Logga in Logga ut 3

7 RESULTAT Databasmodellen Innan arbete kunde sätta igång på riktigt tog jag fram en databasmodell efter dem egenskaper som beskrivs i use case diagramet. Nedan finns modellen som diskuterades fram. Nästa steg blev att börja med Webapplikationens Infrastruktur dvs kopplingen mellan databas och Databaslagret. 4

Infrastruktur När man utvecklar en så här stor appliktation är strukturen oerhört viktig därför gjordes det med en tydlig struktur enligt följande modell se nedan Data Access Layer (DAL) Dal lagret eller Data Access Layer är det enda lager som får prata med databas och där är det viktigt att det görs på korrekt sätt. För att underlätta vidare utveckling av programvaran tog jag besluta att bryta ut Klasser till ett domän lager. Applikationens databas lager togs fram genom Entity Framework med Code First. Detta gjordes genom att genera klasser och DbSet/Context med Visual Studios verktyg ado.net entity data model för att sedan välja alternativet Code First from database. 5

Domain Layer I Domän lagret läggs samtliga klasser. Anledning till detta arbetsätt är att klasserna behöver vara tillgängliga för hela applikationen, eftersom endast DAL lagret får hämta info i databasen så läggs klasserna separat. Ett separt Domän lager möjlig gör också att Klasserna kan användas i weblagret vilket gör det vidareutveckling enklare. Klasser enligt diagram nedan Bifogar även diagramet som fil. Repository Istället för ett klassiskt Buisness logic lager har jag använt mig av flera repositories. Det är i mina repositories jag utför alla operationer så som att lista objekten från databas till CRUD operationer så som Insert, Update och delete. Repository lagret är också lagret som pratar med webapplikation och som MVC applikationens modeller och controller använder för att utföra sin operationer mot databasen. Unit Testing När DAL, Domain och Repository och applikationen blivit testbar skapades ett unit test projekt vars uppgift bestod i att testa 6

Applikationens CRUD operationer. Alla test utfördes goda resultat och nästa steg web-lagret kunde starta. Web Layer När arbetet med webbappen skulle starta valde jag att börja jobba ASP.NET MVC, detta eftersom det är ett bra och modernt ramverk. Att webappen skapades i MVC möjliggör att system är enkelt att bygga ut och gör det enkelt att skapa ett bra användarvänligt system. I webblagret använde jag mig av ASP.NET Identity för autherisering pga av tidbrist ligger Användare i en separt databas. Utseende mässigt valde jag att utgå från MVC standard gränsnitt eftersom det ger tydlig text och enkel navigering. Vilket i detta fall är viktigt eftersom system i slutända ska kräva så lite instruktioner som möjligt 8 AVSLUTNING Avslutningsvis vill jag skriv lite om funderingar och tankgångar som uppkommit under arbetsgång. Det första tankegången efter avslutat projekt är att jag borde lagt mera energi på research från första början. Hade man haft mer info från början hade man kunnat undvika att göra saker flera gånger. Det hade i slutändan sparat mycket tid och är i sig är en stor anledning till tidsbristen på slutet. En annan tankegång var att mera instruktioner ska finnas på sidan när allt är klart är tanke att det ska finnas video filmer och text instruktioner. Då blir det enklare för slut användare, som kan läsa sig till lösningar på sin problem. För att göra systemet ännu mera användbart bör det skapas möjlighet för globalisering dvs flera olika språk. 7

9 SLUTSATSER Eftersom system inte blivit helt klart återstår en hel del utvecklande. Jag ser det närmast som en fördel eftersom det ger mer utrymme för vidareutveckla för att sedan släppas när det fungerar till 100% En viktigt lärdom för den här storleken på projekt är att börja med research innan projekt börjar. Genom mera information kan man arbeta på ett så strukturerat sätt som möjligt. Då blir det enklare att leverera en bra slutprodukt. Avslutningsvis så kan jag säga att det har varit en spännande process att utveckla ett helt system där man själv är ansvarig och får styra sitt arbete. 8