För att på ett framgångsrikt sätt kunna leda ett icke-trivialt mjukvaruprojekt är det viktigt att besitta kunskap om alla aktiviteter som ingår i ett mjukvaruprojekt. Kursen fokuserar på att lära ut aktiviteter som projektplanering och projekthantering, kvalitetssäkring, versionshantering, grundläggande tids- och kostnadsuppskattning, grundläggande mätning av mjukvara, skapande och analys av kravspecifikation samt grundläggande validering och verifiering av mjukvara.
Efter genomgången kurs kommer studenten att ha:
- deltagit aktivt i diskussioner under föreläsningar och seminarier.
- deltagit aktivt i ett mjukvaruprojekt där man använt sig av en kombination av plan-drivna och lättrörliga tekniker.
Målet för programvaruteknik är att möjliggöra upprepning av lyckade mjukvaruutvecklingsprojekt, det vill säga mjukvaruprojekt där mjukvaran utvecklas enligt specifikationerna och inom givna budget- och tidsramar. I en värld där komplexiteten hos mjukvarusystem ständigt ökar samtidigt som kraven på flexibilitet ökar är det nödvändigt att kombinera programvaruteknikens principer med lättrörliga metoder som testdriven utveckling och en närvarande kund.
Efter genomförd kurs skall studenten kunna:
- beskriva skillnaden mellan plan-driven och lättrörlig utveckling.
- redogöra för grunderna för ett programvarutekniskt angreppssätt för mjukvaruutveckling och principerna bakom.
- redogöra för grunderna för plandrivet angreppssätt för mjukvaruutveckling och principerna bakom.
- redogöra för grunderna för ett lättrörligt angreppssätt för mjukvaruutveckling och principerna bakom.
- beskriva de lättrörliga arbetssätten i Scrum och XP.
- beskriva och använda ett flertal tekniker (både från klassisk programvaruteknik och lättrörliga) för:
- kravinsamling och kravhantering
- resursplanering
- riskanalys och riskhantering
- testplanering
- versionshantering
- tids- och kostnadsuppskattningar - bedöma lämpligheten hos dessa tekniker för ett känt projekt, även möjliga kombinationer av plandrivna och lättrörliga sådana.
- avgöra och motivera varför vissa tekniker är lämpliga att använda i plandrivna utvecklingsprojekt.
- avgöra och motivera varför vissa tekniker är lämpliga att använda i lättrörliga utvecklingsprojekt.
- hitta lämpliga programvarutekniksmetoder för framtida arbetsuppgifter.
- lätt kunna ta till sig arbetsprocesser som använder sig av programvarutekniksmetoder.
- utvärdera projekt och analysera bakomliggande orsaker till framgångar och misslyckanden för användning i framtida projekt.