visa förståelse för grundläggande principer i objektorienterad programvaruutveckling
visa förståelse för UML som modelleringsspråk
visa kunskap om grundläggande designprinciper
visa kunskap om grundläggande designmönster
visa kunskap om grundläggande mjukvaruarkitekturstilar
visa förståelse för hur designarbete skapar förutsättningar för testning av mjukvarusystem.
2. Färdighet och förmåga
uttrycka strukturen och beteendet hos ett system i termer av objektorienterade koncept
korrekt använda UML för att uttrycka struktur och beteende hos ett system
tillämpa grundläggande designprinciper för en objektorienterad design
tillämpa grundläggande designmönster i en objektorienterad design.
3. Värderingsförmåga och förhållningssätt
analysera källkod för eventuella förbättringar
analysera och kritiskt diskutera en design för eventuella förbättringar.
Kursinnehåll
Arkitekturen och designen av ett mjukvarusystem påverkar i hög grad kvaliteten på systemet och kostnaden för utvecklingen. Utgående från grundläggande objektorienterade begrepp och designprinciper analyseras och modelleras ett systems struktur och beteende med hjälp av modelleringsspråket UML (Unified Modelling Language) i en strukturerad arbetsmetodik, Unified Process. Arbetsmetodiken utgår från en beksrivning av kundkrav och bygger en spårbar kedja via olika UML-modeller hela vägen fram till implementation och testning. Den strukturerade arbetsmetodiken och modelleringsspråket UML ger ett stöd till designarbetet, men för att skapa en hållbar programvarudesign krävs också en förståelse för grundläggande designprinciper och designmönster. Designmönster är generella lösningsförslag på vanligt förekommande problem, och som mjukvaruutvecklare förväntas man känna till och kunna anpassa dessa generella lösningar till de konkreta utmaningar man försöker lösa. Grundläggande designprinciper beskriver hur man fördelar olika typer av ansvar mellan klasser för att få löst kopplad och lättunderhållen programvarukod.
Kursen omfattar följande:
Grundläggande begrepp inom objektorienterad modellering
Introduktion till modelleringsspråket UML
Introduktion till arbetsmetodiken Unified Process
Grundläggande designprinciper, t.ex. låg koppling, hög sammanhållning, inkapsling, och polymorfism
Introduktion till, och användning av Designmönster
Testning, i synnerhet ur mjukvarudesignprocess-perspektivet
Förutsättningar
För tillträde till kursen krävs att den studerande har avklarat programmering motsvarande 6 högskolepoäng.