Kursplan för Arkitektur och designmönster

Architecture and Design Patterns

Kursplan

  • 7,5 högskolepoäng
  • Kurskod: 2IS226
  • Utbildningsnivå: Grundnivå
  • Huvudområde(n) och successiv fördjupning: Programvaruteknik G1F

    Huvudområde(n) och successiv fördjupning

    Koden visar kursens utbildningsnivå och fördjupning i förhållande till andra kurser inom huvudområdet och examensfordringarna för generella examina:

    Grundnivå
    G1N: har endast gymnasiala förkunskapskrav
    G1F: har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
    G1E: innehåller särskilt utformat examensarbete för högskoleexamen
    G2F: har minst 60 hp kurs/er på grundnivå som förkunskapskrav
    G2E: har minst 60 hp kurs/er på grundnivå som förkunskapskrav, innehåller examensarbete för kandidatexamen
    GXX: kursens fördjupning kan inte klassificeras.

    Avancerad nivå
    A1N: har endast kurs/er på grundnivå som förkunskapskrav
    A1F: har kurs/er på avancerad nivå som förkunskapskrav
    A1E: innehåller examensarbete för magisterexamen
    A2E: innehåller examensarbete för masterexamen
    AXX: kursens fördjupning kan inte klassificeras.

  • Betygsskala: Underkänd (U), godkänd (G), väl godkänd (VG)
  • Inrättad: 2016-11-24
  • Inrättad av: Institutionsstyrelsen
  • Reviderad: 2019-01-24
  • Reviderad av: Institutionsstyrelsen
  • Gäller från: vecka 28, 2019
  • Behörighet: 30 hp programvaruteknik eller motsvarande
  • Ansvarig institution: Institutionen för informatik och media

Mål

Vad gäller kunskap och förståelse förväntas studenterna efter genomgången kurs kunna:

  • beskriva arkitekturmodeller inklusive deras styrkor och svagheter,
  • förklara grundläggande designprinciper inom objektorienterad programmering,
  • redogöra för vanligt förekommande designmönster inklusive deras möjligheter och begränsningar,
  • beskriva och exemplifiera hur designmönster är kopplade till designprinciper.
Vad gäller färdigheter och förmågor förväntas studenten efter genomgången kurs kunna:
  • översiktligt modellera IT-system utifrån arkitekturmodeller.
  • använda designmönster för att skapa objektorienterade program som är enkla att underhålla och testa.
Vad gäller värderingsförmåga och förhållningssätt förväntas studenten efter genomgången kurs kunna:
  • värdera objektorienterade program med utgångspunkt från designprinciper. 

Innehåll

Kursen fokuserar på objektorienterad design utifrån designprinciper och designmönster men behandlar även mjukvaruarkitektur. En designprincip inom mjukvaruutveckling beskriver på hög nivå hur objektorienterade program som är enkla att underhålla och testa kan utvecklas. Kursen behandlar designprinciper såsom Single responsibility principle, Open-closed principle och Dependency inversion principle som tillämpas genom vanligt förekommande designmönster såsom State, Observer och Factory Method. Designmönster är mer konkreta lösningar för hur vanligt förekommande problem inom objektorienterad programmering kan lösas, genom att föreslå hur klasser och deras relationer kan struktureras.

En arkitektur inom mjukvaruutveckling beskriver på en hög nivå hur olika delsystem är strukturerade och relaterade till varandra och fungerar som en ritning när system ska utvecklas, utökas eller omstruktureras. Kursen behandlar olika modeller för mjukvaruarkitektur såsom skiktad, händelsedriven och microservices inklusive deras styrkor och svagheter och när de är lämpliga att använda.

Undervisning

Kursen ges i form av föreläsningar och laborationer.

Examination

Kursen examineras genom inlämningsuppgifter och tentamen.

Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare eller beslut om undantag som fattats av institutionens arbetsgrupp för studieärenden.

Versioner av kursplanen

Litteratur

Litteraturlista

Gäller från: vecka 28, 2019

  • Freeman, Eric; Freeman, Elisabeth Head first design patterns : [your brain on design patterns]

    1. ed.: Beijing: O'Reilly, 2004

    Se bibliotekets söktjänst

Software Architecture Patterns
https://www.oreilly.com/library/view/software-architecture-patterns/9781491971437/ch01.html