F3 (Introduktion till OOAD) Flashcards

1
Q

Vad är procedurell programmering?

A
  • Sekventiell världsbild: saker sker i steg eller given ordning
  • Arbetar med procedurer och funktioner
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är objektorienterad programmering?

A

Man programmerar med objekt som

  • har egenskaper
  • interagerar med varandra
  • jobba med att modellera och analysera
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är en modell?

A

en bild eller en tolkning av ett system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hur använder vi modeller?

A
  • som verktyg vid kravinsamling (ett sätt att kommunicera med kund/uppdragsgivare)
  • som verktyg för implementation (ha en gemensam bild av ett system)
  • dela upp större system i mindre delar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad står UML för?

A

Unified Modeling Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad beskriver UML?

A

Ett antal diagramtyper som kan användas för att beskriva mjukvarusystem

  • Strukturer
  • Beteende
  • Interaktion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nämn 5 olika sorters diagram

A
  • Klassdiagram
  • Sekvensdiagram
  • Objektdiagram
  • Use-Case diagram
  • Aktivitetsdiagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad är ett meddelande inom OOP?

A

Utbyte av information mellan objekt i ett oop-system, ett meddelande kan ha noll eller flera parametrar och användas OFTAST genom att en metod anropar en annan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad innebär inkapsling?

A

att man skyddar datan från utomstående inblandning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hur kommer man åt inkapslad data?

A

genom fördefinierade vägar in

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad innebär polymorfism?

A

att en subklass kan välja att skriva över funktioner

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är ett objekt?

A

En variabel som är sparad i minnet och identifierbar

Något vi kan tala och tänka kring

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är ett objektdiagram?

A

ett diagram som visar systemets objekt vid en given tidpunkt under exekvering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad kallas associationer mellan objekt i objektdiagram?

A

länk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hur skrivs ett objekt i ett objektdiagram?

A

“Objekt:klassnamn” i en ruta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad är en klass?

A

en bit kod som definierar en samling attribut och metoder

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hur skrivs statiska metoder i ett klassdiagram?

A

Genom att metoden är understrucken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vad är en statisk metod?

A

En metod som kan användas utan att klassen instansieras, alla objekt delar på samma metod

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

När måste man skriva ut konstruktorn i ett klassdiagram och hur görs det?

A

Om konstruktorn tar emot en eller flera parametrar. Metoder skrivs med Stor bokstav.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hur anges synlighet (private/public/protected)?

A

+ (public)
- (private)
# (protected)

Dessa sätts framför attribut eller operation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Hur anges konstanter/final värden i ett klassdiagram?

A

Med STORA BOKSTÄVER

bild motsvarande i kod:

public static final NYTTIG = true;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hur skrivs arv i klassdiagram?

A

På bilden ärver klassen Banan klassen Frukt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Hur anger med att en metod är @overrided i klassdiagram?

A

Genom att även skriva metooden i subklassens (som ärver superklassen) ruta.

24
Q

Hur anges ett interface i UML?

A

Med <> ovanför klassnamnet i diagrammet

25
Q

Vad är ett gränssnitt?

A

ett interface, dvs ett kontrakt som säger VAD en klass ska göra, men inte HUR

26
Q

Vad är ett beroende?

A

När två klasser känner till och använder varandra

27
Q

Hur skrivs beroende i ett klassdiagram?

A

Streckad, öppen pil:

        • >
28
Q

Vad är en association?

A

När två klasser känner till varandra och åtminstone en av klasserna har en referens till den andre

29
Q

Hur skrivs en association i UML?

A

Ett streck, en fiskare har ett fiskespö som han använder

Fiskare ____________ Fiskespö

30
Q

Vad är komposition?

A

Sammansättning där delarna endast existerar i en helhet, delar kan inte existera själva.

Tar vi bort objektet försvinner även delarna.

Komposition är alltid asymmetrisk.

31
Q

Hur skrivs komposition i UML?

A

Ifylld diamant från delarna till helheten.

32
Q

Vad är aggregation?

A

Som komposition fast där delarna kan existera på egen hand, utan helheten

33
Q

Hur skrivs aggregation?

A

som en diamant som inte är ifylld, från delarna till helheten

34
Q

Hur används ofta aggregation och komposition?

A

För att hantera samlingar av objekt (collections)

Associationer kan vara att föredra om det handlar om färre objekt

35
Q

Vad är multiplicitet?

A

multiplicitet anger hur många instanser av ett objekt som en klass känner till

36
Q

Vilka sorters multiplicitet finns?

A
  • 0, 1, n (dvs exakt antal)
  • * (0 eller fler)
    • (en eller fler)
  • m…n (intervall)
37
Q

Hur skrivs beroenden?

A

Streckad pil med öppet huvud

38
Q

När är klass A beroende av klass B?

A
  • en instans av A sänder ett meddelande till B
  • en instans av A skapar en instans av B
  • en instans av A har ett attribut vars värde är en instans av klass B
  • en instans av A får ett meddelande där en parameter är en instans av klass B
39
Q

Vad innebär hel linje i klassdiagram

A

att vi sparar referenser av ett objekt i ett annat

40
Q

Vad innebär deriverade associationer?

A

När en association som inte är direkt, men kanske uppstår genom att dessa är associerade i via andra klasser

41
Q

Hur skrivs abstrakta klasser i UML?

A

Klassnamnet i diagrammet är italic/snedställt

42
Q

Vad är stereotyper och hur skrivs dessa i UML?

A

Boundary (View), Entity (Model) och Controller (Controller), skrivs <> ovanför klassnamnet

43
Q

Vad är logisk programmering?

A
  • Världen ordnas enligt regler
  • Deklarerar logiska predikat och ställer sedan frågor
44
Q

Vad består ett objekt av?

A

Attribut (Data)

Metoder (Funktioner)

45
Q

Hur skriv en klass i ett klassdiagram?

A
46
Q

Hur skrivs attribut i ett klassdiagram?

A
47
Q

Hur skrivs metoder i ett klassdiagram?

A
48
Q

Hur skrivs metoder som har parametrar och/eller returvärde?

A

metodnamn(parameter : datatyp) : returvärde

motsvarande i kod (för bild):

public boolean märk(Märke klisterlapp){

return true;

}

49
Q

På vilka två sätt kan man använda klassers metod utifrån?

A
  • Direkt från klasser (statiska metoder, konstanter)
  • Från instaniserade objekt
50
Q

Hur nås superklassen från subklassen?

A

Med nyckelordet super

51
Q

Hur anges ett interface implementering i UML/klassdiagram?

A

Med en streckad arvspil

52
Q

Vad är ett vanligt scenario där komposition används?

A

När ett objekt skapar andra objekt och håller dess referenser

53
Q

Hur skrivs deriverade associationer i UML?

A
54
Q

Hur skrivs inre klasser i UML?

A
55
Q

Vad är alternativ notation till entity-klasser?

A
56
Q

Vad är alternativ notation till boundary-klasser?

A
57
Q

Vad är alternativ notation till Control-klasserna?

A