• No results found

Översikt över individuella bidrag

In document DQ - Digitalt biljettsystem (Page 38-42)

Detta avsnitt ger en översikt av de individuella delar som skrivits av alla gruppens medlem- mar. Till dessa ges korta övergripande beskrivningar. Dessa individuella delar finns tillgäng- liga i slutet av detta dokument.

5.6.1

En jämförelse av användningsområden och analys av framtiden för SQL

jämfört med NoSQL av André Willquist

I denna del jämförs SQL och NoSQL för att undersöka vilka aspekter hos ett projekt som talar för att använda den ena tekniken eller den andra. Efter detta undersöks även hur de två teknologierna kan tänkas utvecklas i framtiden. Denna utredning används även för att avgöra vilken av de två teknologierna som är lämpligast att använda för projektet.

5.6.2

Användning av MVC för en Webbapplikation i ett Team av Ludvig

Westerdahl

Utredning om för- och nackdelar med MVC samt hur MVC passar in i ett utvecklingsteam. Systemet som utvecklades av projektgruppen använde sig utav MVC så en grund för hur MVC kan appliceras i ett projekt gav värde för gruppen. Dessutom behandlas förslag på implementationsdetaljer för att effektivisera testningen. Utredningen visar delvis på att det är viktigt att använda arkitekturen till sin fördel men att man ibland kan behöva skräddarsy implementationen av arkitekturen för att passa det utvecklade systemet.

5.6.3

Digitalisering och social hållbarhet av Samuel Blomqvist

Det digitala biljettsystemet kommer med vissa omställningar jämfört det fysiska. Denna in- dividuella del undersöker hur det potentiellt skulle påverka målgruppen socialt genom att titta på dagens stora sociala applikationer, tvångsbeteende och genom att distribuera ut ett frågeformulär angående dagens kösystem till målanvändarna.

5.6.4

Responsivitet i en webbapplikation av Fredrik Malmfors

Utredning om vilka metoder som kan användas för att skapa en webbapplikation vars inne- håll anpassar sig till olika enheter. Dessutom presenteras vilka för- och nackdelar som erhålls i och med dessa metoder som också redovisas både grafiskt och i text format.

5.6.5

Eventdriven concurrency i JavaScript och Node.js av William Sjöblom

Denna del utreder hur JavaScripts eventdrivna concurrency-paradigm fungerar genom att undersöka dess implementation i JavaScript-motorn V8 och Node.js. Hur detta angreppssätt för att skapa asynkrona applikationer skiljer sig från den mer konventionella metoden att använda en operativsystemstråd för varje asynkron uppgift. Vetskap om den inre processen i JavaScripts concurrency-modell applicerades även av projektgruppen under utvecklingen av biljettsystemet för att bygga ett robust och skalbart system.

5.6.6

Högre abstraktioner med ramverk av Christopher Peters

Denna individuella del undersöker hur ett ramverk ändrar abstraktionsnivån. JavaScript är ett flexibelt men klumpigt språk och vid större system visar det sig inte vara skalbart och även svårt att underhålla. Med tiden har ramverk skapats för att underlätta detta. AngularJS har varit ett utav de mest populära ramverk som bland annat används utav Googles utvecklare. En utav dessa utvecklare, Evan You kände att AngularJS kunde förbättras och skapade senare ramverket Vue.js. Genom att jämföra egenskaperna LOC och LCOM av implementation i dessa ramverk kan komplexitet, flexibilitet, skalbarhet och storlek undersökas.

Denna individuella del motiverades av gruppens förundersökning över vilket ramverk som skulle användas för att utveckla produkten.

5.6.7

Jämförelse mellan websockets och AJAX av Daniel Thorén

Moderna webbsidor laddar inte in nya HTML-sidor varje gång nytt innehåll ska laddas, utan har istället övergått till att dynamiskt ladda innehåll vart eftersom denna behövs. Idag finns primärt två tekniker för att göra detta, nämligen AJAX via HTTP-protokollet och Websockets. Denna individuella del jämför dessa två teknikers för och nackdelar samt drar en slutsats gällande vilken teknik som lämpar sig bäst för detta projekt.

6

Diskussion

Det här området täcker in reflektioner från utvecklingsgruppen angående de arbetsmetoder som användes för att nå resultaten, samt analys av de resultat som insamlats.

6.1

Metod

Sammanfattningsvis anser utvecklingsgruppen att den utsatta metoden inte användes som planerat. Den naturliga arbetsfördelningen uppfattades istället att förbruka mindre resurser. Att undvika avbrott under arbetets gång var fördelaktigt, då det tillät en mer produktiv ar- betsmiljö.

6.1.1

Utbildning

Metodiken som användes för att utbilda gruppmedlemmarna var relevant och fungerade bra. Däremot nischades gruppmedlemmarnas ansvarsområden efter intresse där de fick utbilda sig själva under implementeringsfasen. Detta var fördelaktigt då resurser kunde fördelas på sådant vis att den totala kompetensen i gruppen maximerades. Däremot var det svårt att hålla dialoger vid problemlösning då ibland enbart en person var kunnig inom ett visst ämne. Då gruppmedlemmarna tvingades förlita sig på varandras kompetens ökade även beroendet av deras arbete vilket kunde skapa större avbrott.

6.1.2

Scrum

Eftersom projektet sträckte sig över en relativt lång tidsperiod blev det viktigt att reflektera samt kontrollera det arbete som gjorts med jämna mellanrum. Att arbeta enligt en agil ut- vecklingsmetodik blev därmed det naturliga valet för gruppen. Det tar däremot en märkbar tid att regelbundet utvärdera varje iteration. Det en också svårt att planera tidsåtgången för ett projekt när en agil utvecklingsmetod som Scrum används. Gruppen anser dock att den tid

som lades på att granska kod som redan skrivits gav mycket värde både för gruppens med- lemmar och för projektet som helhet. Flertalet potentiella fel kunde förhindras och individen kunde ta del av feedback och lära sig mer.

Att använda Trello var till en början bra för att konkretisera alla de aktiviteter som formule- rats. Gruppen märkte under arbetets gång att verktyget resulterade i overhead kring admi- nistrationsarbetet. Eftersom gruppen oftast arbetade tillsammans blev det naturligt att sköta den administrativa biten verbalt och med hjälp av Slack.

6.1.3

Utvärdering

Utvärderingen och uppfångandet av erfarenheter har gått bra. Utvecklingsgruppen ansåg att det har fungerat bra att dokumentera erfarenheter och tankar i Slack just för att verktyget varit lättillgängligt för alla gruppmedlemmar. När som helst under projektets gång kunde en gruppmedlem navigera till sin ofta konstant öppnade Slack-flik och kommentera en erfa- renhet i den angivna kanalen. Sprintutvärderingarna tillförde inte lika mycket som gruppen först hade hoppats. Detta berodde förmodligen på dålig planering då de uppgifter som pla- nerades in under en sprint sällan blev klara. Gruppen hade svårt att estimera tidsåtgången för uppgifterna, till stor del på grund av bristande erfarenhet inom gruppen.

6.1.4

Kommunikation

Kommunikationen inom gruppen fungerade bra under projektets gång. Gruppens medlem- mar arbetade större delen av sin tid i samma rum vilket möjliggjorde en väl fungerande ver- bal kommunikation. Detta underlättade mycket då det lätt sker misstolkningar av varandra om man kommunicerar via text.

I övrigt användes verktyget Slack för att kommunicera med text. Detta fungerade väldigt bra då skapandet av diverse kanaler möjliggjorde en bra struktur och uppdelning av diskussioner utifrån samtalsämne. Om ett par gruppmedlemmar behövde hålla en diskussion kunde den antingen hållas via privata meddelanden eller i en separat avsedd kanal.

6.1.5

Testning

Enligt kravspecifikationen kan en godkänd produkt se ut på olika sätt. Det är därför be- tryggande för både kunden och gruppen om produkten fungerar som den ska funktionellt. Testning bidrar till en påvisad kvalité. Med hjälp av testning av mjukvaran kan kraven som ställts på denna uppfyllas. Om testerna är godkända underlättar det även för att systemet ska anses vara godkänt. Det är däremot viktigt att testerna som utförts inte är missvisande eller formulerade på sådant vis som gör dem ej fullständiga. Det är upp till testutvecklarna att detta inte händer. I detta projekts fall utfördes primärt systemtester för att säkerställa en kvalitativ användning för tänkbara användare. Viktig testning av betalning och inloggning utfördes inte då dessa delsystem inte blev implementerade inom tidsramen.

6.1.6

Dokumentskrivning

Utvecklingsgruppen anser att dokumentskrivningen periodvis har fungerat bra. Gruppmed- lemmar behövde ibland avbryta utvecklingen av systemet under implementeringsfasen då

In document DQ - Digitalt biljettsystem (Page 38-42)

Related documents