Kursplan för Avancerad mjukvarudesign

Advanced Software Design

Kursplan

  • 5 högskolepoäng
  • Kurskod: 1DL242
  • Utbildningsnivå: Avancerad nivå
  • Huvudområde(n) och successiv fördjupning: Datavetenskap A1F, Teknik A1F

    Förklaring av koder

    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 (3), icke utan beröm godkänd (4), med beröm godkänd (5)
  • Inrättad: 2017-03-09
  • Inrättad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Reviderad: 2022-10-17
  • Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Gäller från: HT 2023
  • Behörighet:

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

  • Ansvarig institution: Institutionen för informationsteknologi

Mål

Efter godkänd kurs ska studenten kunna:

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

Innehå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.

Undervisning

Föreläsningar, projekthandledning.

Examination

Muntlig och skriftlig redovisning av uppgifter inom ett projekt.

Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild 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 för studenter med funktionsnedsättning.

Litteratur

Litteraturlista

Gäller från: HT 2023

I bibliotekets söktjänst kan du se om en titel finns elektroniskt.

Rekommenderad litteratur

  • Larman, Craig Applying UML and patterns : an introduction to object-oriented analysis and design and iterative development

    3. ed.: Upper Saddle River, N.J.: Prentice Hall PTR, cop. 2005

    Se bibliotekets söktjänst

Referenslitteratur

  • Gamma, Erich Design patterns : elements of reusable object-oriented software

    Reading, Mass.: Addison-Wesley, cop. 1995

    Se bibliotekets söktjänst

  • Fowler, Martin; Gamma. Erich, Beck, Kent Refactoring : improving the design of existing code

    Boston: Addison-Wesley, cop. 2000

    Se bibliotekets söktjänst