Skriv ut som pdf om du vill ha en pdf! Om du vill ha en snyggare utskrift, klicka bort webbläsarens automatiskt tillagda sidhuvud och sidfot.

Blekinge Tekniska Högskola
Institutionen för programvaruteknik

Revision: 2
Dnr: BTH-4.1.14-0440-2024


Kursplan

Objektorienterad design

Object-oriented Design

6 högskolepoäng (6 credits)

Kurskod: PA1472
Huvudområde: Programvaruteknik, Datavetenskap
Utbildningsområde: Tekniska området
Utbildningsnivå: Grundnivå
Fördjupning: G1F - Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav

Undervisningsspråk: Undervisningen ges i normalfallet på svenska, men undervisning på engelska kan förekomma
Gäller från: 2024-05-02
Fastställd: 2024-05-02

1. Beslut

Denna kurs är inrättad av dekan 2021-03-01. Kursplanen är fastställd av prefekten vid institutionen för programvaruteknik 2024-05-02 och gäller från 2024-05-02.

2. Förkunskapskrav

För tillträde till kursen krävs att den studerande har avklarat programmering motsvarande 6 högskolepoäng.

3. Syfte och innehåll

3.1 Syfte

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.

3.2 Innehåll

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

4. Lärandemål

Följande lärandemål examineras i kursen:

4.1. Kunskap och förståelse

Efter genomförd kurs ska studenten kunna:

  • 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.

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten kunna:

  • 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.

4.3. Värderingsförmåga och förhållningssätt

Efter genomförd kurs ska studenten kunna:

  • analysera källkod för eventuella förbättringar
  • analysera och kritiskt diskutera en design för eventuella förbättringar.

5. Läraktiviteter

Undervisningen består av föreläsningar och laborationer. Föreläsningarna behandlar centrala begrepp, tekniker och metoder inom objektorienterad design. Laborationerna syftar till att ge förståelse för hur begrepp, metoder och tekniker kan tillämpas i praktiken.

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
2205 Salstentamen 1,0 hp AF
2215 Laboration 5,0 hp AF

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredställande, E Tillräckligt, FX Underkänd, något mer arbete krävs, F Underkänd.

Betyget på Salstentamen bestämmer kursens slutbetyg vilket utfärdas först när samtliga examinationsmoment godkänts. Slutbetyget på kursen kan höjas om betyget på laborationsserien är A eller B.
Examinator har möjlighet att muntligen följa upp skriftliga examinationer.

I kurstillfällets information inför kursstart framgår i vilka examinationsmoment som kursens lärandemål examineras samt gällande bedömningsgrunder.

Examinator kan, efter samråd med högskolans FUNKA-samordnare, fatta beslut om anpassad examinationsform för att en student med varaktig funktionsvariation ska ges en likvärdig examination jämfört med en student utan funktionsvariation.

7. Kursvärdering

Kursvärdering ska göras i enlighet med BTH:s beslut om frågeställning i kursvärderingar och beslut om process för hantering och uppföljning av kursvärderingar.

8. Begränsningar i examen

Kursen kan ingå i examen men inte tillsammans med annan kurs vars innehåll, helt eller delvis, överensstämmer med innehållet i denna kurs.

9. Kurslitteratur och övriga lärresurser

Huvudbok:
- C. Larman, /Applying UML and Patterns/, Prentice Hall, 3rd Edition.


Referenslitteratur:
\- Gamma, Helm, Johnson, Vlissides, /Design Patterns, Elements of Reusable Object-Oriented Software/, Addison-Wesley Professional.
\- R. Nystrom, /Game Programming Patterns/, Genever Benning, 2014.

10. Övrigt

Denna kurs ersätter kursen PA1459