Förstå programvaruutvecklingens grundläggande principer, inklusive olika livscykler för programvaruutveckling (SDLC), kravhantering och design av programvaruarkitektur.
Beskriva strategier för programvarutestning, underhåll och evolution samt metoder för programvaruutveckling för realtids- och säkerhetskritiska system.
Identifiera utmaningar och strategier för integrering av programvara i komplexa system med särskilt hänsyn till maskininlärningskomponenter.
Färdigheter och förmåga
Använda professionella verktyg för utveckling, testning och analys av programvaruprojekt.
Designa och utvärdera skalbara, underhållbara och effektiva programvaruarkitekturer.
Applicera programvaruutvecklingsprinciper inom specialområden som realtids-, säkerhetskritiska- och inlärningsaktiverade system.
Värderingsförmåga och förhållningssätt
Kritiskt bedöma olika SDLC-modeller och programvaruutvecklingstekniker för att fastställa deras effektivitet inom ett specifikt projekts ramar.
Utvärdera och integrera programvaruevolutionslösningar för olika tillämpningar, inklusive realtids-, säkerhetskritiska- och inlärningsaktiverade system.
Förstå hur programvaruutvecklingsprinciper tillämpas inom områden som finans, telekommunikation och automation.
Kursinnehåll
"Programvaruutveckling: teori och praktisk tillämpning" är designad att ge studenten kunskap och färdigheter nödvändiga för att utveckla, hantera och underhålla programvarusystem för olika industriella tillämpningar. Kursen gör ett avstamp i grundläggande programvaruutvecklingsprinciper för att sedan fortsätta med utmaningarna i att designa en programvaruarkitektur, kravhantering och teststrategier. Kursen innehåller specialområden som programvaruutveckling för realtidssystem, programvaruåteranvändning, och utveckling för inlärningsaktiverade system. Särskild uppmärksamhet kommer läggas på programvaruutveckling för säkerhetskritiska system, ett område som är viktigt för fordon- och flygindustrin där tillförlitlighet och överensstämmelser med strikta standarder är av hög vikt.
Förutsättningar
Grundläggande behörighet för grundnivå Samma behörighet som det kursägande programmet Kunskap i Javaprogrammering, samt slutfört kurser i datastrukturer och algoritmer (e.g. TDA417) och objektorienterad programmering (e.g., TDA548, TDA553) motsvarande minst 7.5hp per kurs.