Quiz

Datum och tid: 2023-01-09, kl 14-17

Form: Digitalt via canvas

Plats: valfri plats

Hjälpmedel: papper, penna, sudd och dator endast för att besöka canvas för denna kurs för att genomföra quizet.

Innehåll: Består av grundläggande frågor (se del 1 och enklare frågor av gamla tentor) där nästan 80% måste besvaras rätt för att få godkänt på quizet.

Betyg: P/F

Designmönster på tentan

Gäller kursomgången HT20.

För följande mönster krävs ytliga kunskaper, att kunna kort beskriva och känna igen korrekt beskrivning om mönstrets användningsområde: Proxy, Mediator, Facade, State, Template Method.

För följande mönster krävs (utöver ytliga kunskaper) djupare förståelse, att kunna känna igen mönstret i UML-diagram, beskriva och känna igen mönstrets beståndsdelar och funktion, kunna skriva kod som använder mönstret: Strategy, Model-View-Control, Singleton, Iterator, Observer, Composite, Decorator, Factory-teknik.

 

UML-diagram

I materialet till föreläsning 3 finns en genomgång av de UML-symboler vi använder i kursen. Studera detta material! Titta särskilt på hur symbolen romb (engelska: diamond) används.

Kommentarer till F3-materialet:

Objekt av klassen C har (eller känner till) objekt av klassen D. Pilspetsen är vid D, kallas association.   C ──────> D  Bil(C) har ägare (D). Bil och ägare skapas oberoende från varandra. Bil finns även om ingen ägare finns och vise versa. 
Objekt av klassen E består av  flera objekt av klassen F (romben är vid E), kallas aggregation.   E  ─────* F Ett fotbollslag (E) består av ett antal fotbollspelare(F). En eller flera fotbollspelare kan lämna laget men laget är fortfarande kvar som lag. Fotbollspelarna tillhör laget men de ägs inte av laget.
Objekt av klassen G äger exakt fyra objekt av klassen H och det objekt av L (i fyllda romben är vid G), kallas composition.

 

G

─────4 H

────── L

 

Ett bord(G) består av (äger) 4 ben(H) och en träskiva(L). Om ett ben tas bort eller träskivan tas bort då existerar inte bordet. 

 

Inför Quiz:

Att ange multiplicitet är viktigt. Enklast är att sätta endast en asterisk vid den klass som det finns många av i relationen (ett objekt av E har många objekt av F). 

Pilspetsar är mycket viktiga. Sluten pilspets (som en triangel) ska användas vid arv och implementation av interface. Öppen pilspets ska användas vid relationerna "känner till" och "beror av".

Typfrågor

  • När det gäller följande frågor se tentamen 190109 på sidan gamla tentor 
    • fråga 1 (baskunskaper om designmönster).
    • fråga 3 (rita UML-klassdiagram från Javakod).
    • fråga 6 (beskriva i detalj hur Comparable fungerar).
  • Begreppen som har diskuterats och tagits upp på föreläsningar samt övningar, så som begreppen lös koppling, tät koppling, etc...
  • Frågor om det man har lärt sig på labbarna så som testning, detaljer om ett visst designmönster som används på labbarna.