Programvaruteknik

Programvaruteknik

Programvaruteknik

Forskningen omfattar tekniker, metoder och processer för utveckling av komplexa programvarusystem och tillämpning av systematiska och mätbara metoder för utveckling, drift och underhåll av mjukvaruintensiva system, tjänster och produkter.

Forskargruppen SERL Sweden är en av de ledande i Europa inom empirisk och evidensbaserad programvaruteknik. Forskningen bedrivs ofta i samverkan med industrin för att lösa faktiska industriella utmaningar och för att stärka våra partners konkurrenskraft i utvecklingen av mjukvaruintensiva system, tjänster och produkter.

Ett fokus för forskningen är att göra mjukvaruutvecklingen mer effektiv med bibehållen eller högre produktkvalitet.

Vår forskning i programvaruteknik har stor bredd då vi har kompetens inom allt från tekniska lösningar till affärsfrågor. Vi integrerar topprankad akademisk forskning med stark industriell relevans.

Några områden som studeras är:

Affärsmässiga aspekter, ekosystem och innovation inom programvaruteknik
Agil/lean mjukvaruutveckling
Empirisk och evidensbaserad programvaruteknik
Forskningsmetoder
Global mjukvaruutveckling
Human aspects inom programvaruteknik
Kravhantering
Mjukvaruarkitekturer, modellering och produktlinjer
Processförbättring inom programvaruteknik
Produkthantering inom programvaruteknik
Programvarukvalitet
Sökbaserade metoder inom programvaruteknik
Verifiering och validering
Värdebaserad produktutveckling
Ämnesspecifik didaktik

Forskningen inom programvaruteknik bedrivs i huvudsak vid institutionen för programvaruteknik.

 

Intervju med forskare

Intervju med Claes Wohlin (3 min)

Claes Wohlin, forskare inom programvaruteknik, berättar vilken forskning som bedrivs inom området.

Mjukvara – smörjmedlet i det moderna samhället

Det har blivit alltför uppenbart hur sårbart samhället är som bygger på datorer och mjukvara, samtidigt som det är en direkt följd av den tekniska utvecklingen under de senaste 50 åren. Samhället digitaliseras alltmer, vilket är detsamma som ett ökat beroende av processorer och mjukvara. Samtidigt har det skapat möjligheter som inte varit tillgängliga för tidigare generationer. Beroendet kan exemplifieras med hur processorer och mjukvara har blivit en allt viktigare komponent i flyg, tåg, bilar, telekommunikations­­system, mobiler, industriautomation, banker, strömmingstjänster för media, betaltjänster och ett stort antal administrativa system (t.ex. löneutbetalningar och biljettköp).

Beroendet kan exemplifieras med att vissa moderna bilar innehåller 100 miljoner rader mjukvarukod. Detta skall jämföras med en normal bok som kan ha 300 sidor och 40 rader per sida, vilket innebär att boken har 12 000 rader med text. Det innebär att 100 miljoner rader skulle motsvara cirka 8 300 böcker, vilket är ett ganska stort bibliotek. Att skriva 8 300 böcker tar sin tid och kräver en oerhörd synkronisering om persongalleri och historien skall hänga samman, då det krävs ett stort antal författare för att skriva så många böcker. Det är högst troligt att böckerna kommer att innehålla syftningsfel och inkonsekventa beskrivningar av människor och miljöer när ett stort antal personer skall skriva 8 300 mer eller mindre sammanhängande böcker. Utmaningen är likartad för utveckling av mjukvara.

 

Mjukvaruutveckling (eng. software engineering) är inte bara en fråga om programmering, utan det krävs mjukvaruarkitektur, kravhantering, design, test, management med mera för att utveckla stora och komplexa mjukvarusystem. Utvecklingen sker parallellt av ett stort antal människor i flera länder, och mjukvarusystemen vidareutvecklas över många år, dvs. nya tjänster läggs till. Det senare ställer stora krav på kunskap om det nuvarande systemet, då existerande tjänster oftast inte får påverkas.

Mjukvaran ska både tillhandahålla tjänster som användaren vill ha och samtidigt skall den upplevas högkvalitativ och säker, samt utvecklingen skall vara kostnadseffektiv. Mjukvaruutveckling är en designverksamhet och det är i det närmaste omöjligt att utveckla helt felfria mjukvarusystem. Denna svårighet tillsammans med samhällets beroende av mjukvaran gör området till en stor samhällskritisk utmaning. Det betyder att både utbildning och forskning inom mjukvaruutveckling är av allra största vikt för både industrins konkurrenskraft och ett fungerande modernt samhälle. Utan högkvalitativ mjukvara stannar världen.

BTH har en av de största och starkaste utbildnings- och forskningsmiljöerna nationellt inom mjukvaruutvecklingsområdet, och är internationellt erkända inom området. Undervisningen och forskningen bedrivs med visionen ”Leading Software Engineering”.

Exempel på projekt

GoLD

GoLD

Governance in large-scale distributed agile projects (2017-2020)
This research project focuses on determining how to balance the needs for governance and quality control in large-scale distributed organizations and the team needs for autonomy. Our intention is to provide actionable guidelines for scaling agile governance in a distributed context, and reported knowledge to be aware of organizational contexts in which team autonomy is inherently hindered. The research goes beyond the team’s inner workings, and addresses such context factors as organizational structure, distribution, supervision, control, reward systems, training, and resource management. ​

Läs mer om projektet

BESQ+

BESQ+ är ett forskningsprojekt som syftar till att bygga en stark forskning inom programvaruteknik vid BTH. Projektet inkluderar forskning inom följande områden: värdeskapande och innovation inom mjukvaruområdet; arkitekturforskning, speciellt i anslutning till mjukvarutjänster i molnet (typisk tillgängliga via webben, men användaren vet inte var tjänsterna faktiskt finns) och multiprocessorsystem; effektiva utvecklingsprocesser; global mjukvaruutveckling, och avvägning och samordning mellan affärsperspektivet, arkitektur, processer och organisation.

Finansiär: KK-stiftelsen, period 2011-2013
Projektledare: Claes Wohlin
Samarbetspartners: BAE Systems Hägglunds, Ericsson, IBM, Qtema, Ricksell Innovation, Sauer Danfoss och ST-Ericsson.
Kontaktperson: Claes Wohlin

Läs mer om BESQ+

EASE

EASE är ett industriellt excellenscentrum i samarbete med Lunds universitet och fyra företag. BTH:s arbete inom projektet är fokuserat på mjukvara för multiprocessorsystem, nya och effektivare utvecklingssätt och kopplingen mellan krav och test för programvara.

Finansiärer: Vinnova, Sony Mobile Communications, ST-Ericsson, Axis Communications, Softhouse Consulting Baltic.
Samarbetspartners: Sony Mobile Communications, ST-Ericsson, Axis Communications, Softhouse Consulting Baltic och Lunds universitet.
Kontaktperson: Claes Wohlin

Läs mer om EASE

ELLIIT

ELLIIT är en av två strategiska miljöer inom IT och mobilkommunikation. BTH:s bidrag inom projektet är inom programvaruteknik med ett huvudfokus på forskning relaterat till effektiva testprocesser. BTH:s forskning bedrivs tillsammans med ett företag och sker bland annat genom simulering av testprocessen för mjukvara. Syftet är att identifiera svaga punkter i processen och att kunna utvärdera förändringar genom simulering istället för att införa dem direkt.

Samarbetspartners: Linköpings universitet, Lunds universitet och Högskolan i Halmstad.
Kontaktperson: Jürgen Börstler

Läs mer om ELLIIT

TEDD

TEDD är ett projekt som är fokuserat på beslutstöd för offshoring mjukvaruutveckling. Målsättningen är att bidra med understöd för svensk industri att på ett effektiv arbeta med mjukvaruutvecklare i andra länder och genom detta förstärka sin egen konkurrenskraft.  Projektet studerar både transfer av mjukvaruutveckling och effektiv utveckling när mjukvaruutvecklingen görs på flera olika orter i olika länder gemensamt.

Finansiärer: KKS
Samarbetspartners: Ericsson, ABB och Boss Media AB
Kontaktperson: Darja Smite

Läs mer om TEDD