Kursen ger en översikt över metoder, verktyg och språk för att understödja utvecklingen av stora programvarusystem. Särskild tonvikt läggs på kvalitetssäkring och kunskaper och färdigheter som direkt kan tillämpas i arbetslivet.
Kursen behandlar
Utvecklingsmodeller och faser för iterativ och inkrementell (agile) utveckling;
Kravhantering och objektorienterad analys och design (scenario-driven utveckling, UML);
Design heuristics, patterns och refactoring;
Systematisk testning (test-driven utveckling);
Programvarukvalitet, mätetal, processförbättring, versionshantering och dokumentation.