PROGRAMVARUUTVECKLING - INDIVIDUELL PROCESSFÖRBÄTTRINGETS 090

The Personal Software Process

Antal poäng: 6.0. Valfri för: D4, E4. Kursansvarig: Claes Wohlin. Rekommenderade förkunskaper: Programmering 1 eller Programmering för D eller motsvarande förkunskaper och Matematisk Statistik AK för F, E och D. Prestationsbedömning: Projektuppgifter.

Innehåll

Syftet med kursen är att eleverna ska lära sig att utveckla programvara på ett systematiskt sätt. Normalt försöker man ofta skala upp programmering till större projekt, men denna kurs gör det omvända. Metoder och tekniker som behövs för stora programvaruprojekt skalas ned till att passa den enskilda individen. Detta betyder att eleverna via ett antal programmeringsuppgifter successivt lär sig planering av programvaruutveckling, t.ex. genom uppskattning av storlek på program och skattning av arbetstid och ledtid. Vidare lär sig eleven att mäta sin egen prestation, genomföra granskningar och att hantera programvarukvalitet.

Kursen baseras på en ny bok (1995) som rönt mycket stort intresse inom programvaruområdet, där man tror att detta angreppssätt kan vara en väg att komma tillrätta med de problem som råder vid utveckling av stora programvarusystem. Målet är att de metoder och tekniker som man lär sig tillämpa som enskild individ skall kunna tillämpas av personerna i stora programvaruprojekt och därmed är målet att man skall få bättre kontroll och predikterbarhet på programvaruutvecklingen. Det sistnämnda betyder att man skall kunna genomföra projekt inom en given tidsram och till en given kostnad samt med förutsägbar kvalitet.

Projektuppgifter

Projektarbetet genomförs via 10 stycken programmeringsuppgifter, där man successivt förändrar och förbättrar utvecklingsprocessen, dvs de metoder och tekniker man använder för att utveckla programvara. Den första uppgiften genomförs med en ganska enkel utvecklings-process som därefter kompletteras med metoder för skattning av storlek på programvaran, metoder för planering av sitt arbete (i termer av arbetstid och ledtid) och granskningar. Mätningar och protokoll från arbetet produceras successivt och målet är att man via de tio övningarna skall uppleva att man förbättrar sig och utvecklar bättre programvara efter den tionde övningen än man gjorde initialt. Återanvändning och modifiering av tidigare program uppmuntras inom ramen för kursen, dvs programmeringsövningarna följer en linje och dessutom används de utvecklade programmen för att t.ex. planera kommande övningar. De 10 programmeringsuppgifterna kompletteras med att man skriver ett par rapporter angående bland annat kodningsstandard.

Litteratur

Watts S. Humprey: A Discipline for Software Engineering, Addison-Wesley 1995.