Redogöra för huvudstadierna i mjukvaruutveckling och hur de förhåller sig till varandra.
Redogöra för olika utvecklingsprocesser inom programvaruutveckling, samt förklara deras styrkor respektive svagheter.
2. Färdighet och förmåga
Planera, genomföra och följa upp ett mjukvaruutvecklingsprojekt i enlighet med vald utvecklingsmetodik.
3. Värderingsförmåga och förhållningssätt
Argumentera för och nackdelar med olika utvecklingsmetoder i ett givet sammanhang.
Presentera och argumentera för etiska ställningstaganden rörande aktuella trender och produkter i samhället, samt professionella praxis i mjukvaruutveckling.
Kursinnehåll
Kursens syfte är att ge studenten grundläggande kunskap om hur utveckling av stora programvarusystem sker. Syftet är även att ge studenten sådan kunskap om utvecklingsprocessen, kravhantering, testning, planering och uppföljning, att han/hon kan delta i planeringen av ett mindre mjukvaruprojekt. Kursen syftar till teoretisk kunskapsinhämtning och praktisk tillämpning. Kursen introducerar mjukvaruutvecklingsprocesser och deras bakgrund, tillämpning och utveckling över tid. Dessutom diskuteras etiska aspekter och professionella praxis utifrån perspektivet programvaruintensiv produktutveckling. I kursen ingår följande moment: Mjukvaruutvecklingsprocesser (t. ex., agil mjukvaruutveckling) som kan användas i mjukvaruindustrin, och deras styrkor och svagheter. Huvudstadier av mjukvaruutveckling och deras koppling till olika utvecklingsprocesser. Planering, genomförande, övervakning och uppföljning av mjukvaruutvecklingsprocesser.
Förutsättningar
För tillträde till kursen krävs 6 avklarade hp från kurser i introduktion till ingenjörsarbete/-rollen och minst 6 avklarade hp i programmering.