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.

 

Forskare berättar

Intervju med Claes Wohlin (3 min)

Claes Wohlin, forskare i programvaruteknik, berättar om vikten av att utveckla programvara effektivt samt på vilket sätt forskarna med hjälp av olika metoder kan stötta företag i sin programvaruutveckling.

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

ERSAK & KREDA

ERSAK & KREDA

ERSAK och KREDA 2015-2019 är två forskningsprojekt för förbättrad kravhantering som drivs av Dr. Michael Unterkalmsteiner och Prof. Dr. Tony Gorschek tillsammans med Trafikverket.

ERSAK syftar till utveckling och effektivisering av regelverk, regelverkskrav och projektkrav, genom förbättrad specifikation, analys och kommunikation och har som huvudmål att förbättra både Resultateffektivitet och Prestationseffektivitet i projekt genom förbättrad kravhantering.

I KREDA utvecklas verktyg för hur systematisk kravhantering och kravdatabaser kan kombineras för att nå en effektivare kravhantering och ta tillvara de nya möjligheter som uppkommer genom Trafikverkets arbete med att digitalisera verksamheten.

Läs mer om projektet

PLEng – Företagsforskarskola

PLEng – Företagsforskarskola

PLEng (Professional Licentiate of Engineering School) är ett koncept av integrerad forskarskola som ger industri och näringsliv möjlighet att kompetensutveckla specialister och objektiva problemlösare. Forskarskolan, som genomförs under 3 år deltid, har fokus på att utveckla tillämpad industrinära forskning och innovativa lösningar på specifika problem. Deltagare som bedriver forskarstudier i PLEng arbetar parallellt på sina respektive företag vilket innebär en flexiblare form jämfört med traditionella forskarstudier. Under sin tid i forskarskolan får de möjligheten att göra en djupdykning i ett område under en längre period för att bygga kompetens och utveckla nya idéer.

Läs mer om projektet

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

PROMPT – Företagsanpassade kurser i programvaruteknik

PROMPT – Företagsanpassade kurser i programvaruteknik

Mjukvara är en affärskritisk resurs för stora delar av svenskt näringsliv och en viktig källa till innovation och konkurrenskraft. För flera av våra traditionella industrier är mjukvara av direkt avgörande betydelse.
Projektet PROMPT är ett nationellt utbildningsinitiativ i samarbete mellan flera akademiska parter och en rad ledande svenska industriföretag och organisationer. Målet är att säkerställa tillgången av avancerad mjukvarukompetens och innovationskraft i svenskt näringsliv.

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

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

Nyheter