Examensarbete

Genom åren har många av våra anställda börjat karriären på Decerno med sitt exjobb. Nedan finner du några exempel på examensarbete på 30 hp som kan göras hos oss, men givetvis är du även varmt välkommen att presentera en egen spännande idé kring ett exjobb!
 

Machine learning på stora maskiner

Utmaningen i exjobbet är att applicera machine learning på stora maskiner. Målet är att utveckla produktens egenskaper med hjälp av sensorer, signalbehandling och Big Data-analys.

  • Vi tror att analysen sker bäst centralt, i någon form av moln-lösning.
  • Uppgiften är att utforma rätt algoritmer och metoder.
  • Uppdraget utförs i samarbete med en av Decernos större kunder.

 

Xamarin och React Native

Exjobbet består i att ta fram kriterier och rekommendationer för hur Decerno skall välja ramverk för mobiltelefonappar.

Givet Decernos val av arkitektur och javascriptramverk vill vi hitta ett optimalt val av motsvarande ramverk för mobiltelefonappar.

Följande effektmål eftersträvas:

  • Maximal återanvändning av "browser kod, särskilt när den är skriven i React" och olika mobila plattformar - en totalekonomi
  • Prestanda
  • Möjligheten att använda av redux -arkitekur
  • Användning av local storage. 
  • Övriga frågor t ex rörande licensvillkor

 

Mäta "klientupplevelse" - user experience - maskinellt

Exjobbet består av att konstruera tester som mäter "klientagilitet" hos en javascriptapplikation som exekverar i en browser - ett objektivt mått på klientupplevelsen.

  • Vill kunna köra tester på en skarp klientdator och jämföra med samma tester i en kontrollerad miljö. Syftet är bl.a att kunna avgöra om användaren har prestandaproblem eller orealistiska förväntningar.

Skulle kunna undersöka att göra detta med automatik och skicka resultatet till servern.

  • Testerna skall exkludera inverkan på latency orsakad av nätverk och server.
  • Vill kunna mäta utveckling av detta mått.
  • mot körtid dvs "jämföra hur måttet klientagilitet förändras när man kör systemet". t.ex genom att man ökar storleken på klientens state över tid.
  • mot versioner dvs jämföra "klientagilitet" mellan olika versioner.

 

Versionshantering - DevOPS

Decerno använder:

  • Atlassian Jira för hantering av krav och tekniska uppgifter på system i våra projekt. Jira har ett versionsbegrepp. Typiskt har vi ett Jira-projekt per projekt.
  • RCSer dvs TFS, Subversion och Git för versionshantering av kod - typiskt med begreppen Trunk, Branches och Tags.
  • Atlassian Bamboo för automatisk bygg och deploy av kod från olika grenar.

Examensarbetet innebär att besvara följande frågor:

  • Definiera begreppet system och koppla det till en bra hantering av versionsnummer i Jira.

Hur delar vi på bästa sätt upp koden i våra system i systemdelar så att

  • Vi kan versionshantera dem var och en för sig med versionsnummer såväl i Jira och RCS och Bamboo.
  • Vi kan hantera härledda systemdelar dvs systemdelar som har beroenden till andra systemdelar.

 

Tidsuppskattning med Function points

Tidsuppskattning av systemutvecklingsprojekt är svårt. Function points är en metod att uppskatta komplexiteten i ett system. Vi vill undersöka om man genom att systematiskt använda function points för att uppskatta omfattningen av ett nytt system kan höja säkerheten i bedömningen.

Examensarbetet bör innehålla:

  • Beskrivning av tankarna bakom function points.
  • Framtaganda av en praktisk handledning av hur man jobbar med function points.
  • En bedömning av effektiviteten i att ta fram en tidsuppskattning med function points jämfört med en klassisk beräkning. 
  • En bedömning av träffsäkerheten i en tidsuppskattning med function points jämfört med en klassisk beräkning.
  • Exempel på beräkningar på projekt (t ex SOS) som kan jämföras med klassiska beräkningar och även med faktiskt utfall. 

För detta examensarbete finns underlag på hur Decerno gör en ”klassisk beräkning”. Dessutom finns det utfall på historiska projekt så att det skulle gå att jämföra "klassiska beräkningar" med beräkning enligt Function Points och faktiskt utfall. Funktion Points är relaterat till komplexitetsmått som beskrivs i arbetet om React.

 

Javascript på servern

Utgångspunkten i examensarbetet är frågan ”kan man skriva den typ av affärskritiska OLTP system som Decerno gör och använda en server skriven i javascript  hostad i nodejs”.

Som en del av examensarbetet ingår att bygga Decernos standardapplikation med nodejs och javascript istället för C# och IIS.

Examensarbetet bör innehålla:

  • En översiktlig beskrivning av nodejs och drivkrafterna bakom framtagandet.
  • Beskrivning av de verktyg som behövs för att få upp en utvecklingsmiljö.
  • Föreslag på en arkitektur och jämförelse den som används av Decerno idag.
  • Går detta att använda mot en relationsdatabas eller finns det stora fördelar med att använda t.ex MongoDB.
  • Belys prestanda särskilt frågeprestanda och en jämförels med LINQ och EF.
  • Belys särskilt inverkan på kvalitet och effektivitet.
  • Vad finns det för fördelar.
  • Vad finns det för nackdelar? 

 

Sidstruktur i Headless CMS

I tradionella CMS finns alltid en sidstruktur att luta sig mot när innehållet organiseras. Det finns en site i CMS systemet per site som det hanterar content för. En stor anledning att fundera på att flytta över till Headless CMS är att det enklare går att dela content mellan flera olika siter. Men hur ska content struktureras upp och hur jobbar förstår redaktörerna sidstrukturen utifrån CMS systemet?

Exempel på frågor att besvara:

  • Hur ska content struktureras för att Redaktören snabbt och enkelt ska få en överblick av vad som visas var?
  • Hur fungerar preview av data, då det kan finnas på flera ställen?
  • Hur garanteras att datat visas upp bra på alla ställen, de olika ställena har typiskt olika css:er att jobba med.
  • Hur görs typiskt implementationen av en content tung site i headless CMS
    • Är det en bra ide med en site som är helt förgenererad så det är statiska sidor som visas upp?
    • Ska content hämtas on the fly när sidan renderas?
    • Hur blir "sitemap" tydlig i headless CMS?
    • Kommer det gå fortare att utveckla i headless CMS?
    • Är det billigare att underhålla?
    • Fördelar nackdelar i jämförelse med traditionell sidbaserad CMS
      • Blir implementationen enklare för utvecklare
      • Blir det enklare att underhålla content för Redaktörer?
  • Hur blir kostnadsmodellen för en Headless CMS?
    • Blir det ekonomiskt möjligt att ha den ansluten till 20+ siter även om många bara använder en väldigt liten mängd content?
  • Exempel på ovan i 2 olika headless CMS (contentful +valfri) mot EPiServer och Sitecore

 

Utvärdera funktionalitet i Azure 

Examensarbetet går ut på att utvärdera funktionalitet i Azure för att kunna starta upp och stoppa förkonfigurerade servrar baserad på aktuella beräkningsköer och eventuella användarmönster som kan hittas i driftsmiljön. En Proof of Concept skall implementeras i en .net och SQL baserad miljö.

I några av våra systemlösningar används processorkraftskrävande beräkningsalgoritmer för ruttoptimering. All funktionalitet är implementerad i Microsoft Azure där tredjepartsteknologin för ruttoptimering kan köras på en eller flera processorkärnor. I det vardagliga användandet av våra system är efterfrågan på beräkningskraft mycket varierande under dygnet, veckodagarna och månaden varför en fullt dynamisk resursallokering är önskvärd för att 1) tillhandahålla beräkningskraft när den behövs för att korta svarstider i systemet och 2) stänga ner resurser som inte behövs för att reducera driftskostnader för systemet.

 

Din ansökan

Skicka in din ansökan redan idag. Har du frågor är du välkommen att maila elinor.nilsson@decerno.se.

Ansök

Apologies, your application wasn't recieved correctly due to what seems like a malformed file. Make sure the file is not corrupt and is of common format, preferably PDF.

CV

Jag godkänner att mina personuppgifter hanteras i enlighet med följande integritetspolicy