sammanfatta och förklara relevanta designprinciper.
använda objektorienterad programmeringsmetodik för att designa och implementera större program.
använda ett modelleringsspråk som hjälp för att kommunicera kring verklighetsnära problem och lösningar.
demonstrera förståelse för kopplingen mellan modelleringsspråk och programspråk, till exempel genom att implementera designmodeller.
använda designmönster och andra beprövade lösningar på designproblem.
diskutera olika metoder för programvarudesign, deras egenskaper och tillämpbarhet.
Kursinnehåll
Principer och metoder för programvarudesign med särskilt fokus på objektorienterad design. Domänmodellering, programvaruarkitektur, klass och objektmodellering, beteendemodellering, designmönster, designprinciper för fördelning av ansvar (General Responsibility Assignment Software Principles, GRASP). Utvärdering och förbättring av design samt omstrukturering av kod, refaktorisering. Övning i design för ett större program.
Förutsättningar
120 hp varav 60 hp matematik, datavetenskap eller teknik, inklusive genomgången Metoder och projektledning för mjukvaruutveckling och en fortsättningskurs i programmering i ett objektorienterat språk. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)