Eksamen vår 2023 Flashcards

1
Q

Hva er en fordel ved å bruke utformingsmønsteret MVC (Modell Visning Kontroller)?

a) Modellinformasjon kan bare nås og manipuleres av visningen.
b) Visningsobjekter bestemmes ved å finne substantivene i brukstilfellebeskrivelsen.
c) Avhengighetsinversjon (Dependency inversion) er garantert automatisk mellom
modellobjekter.
d) Hver seksjon (modell, visning, kontroller) følger prinsippet om ett enkelt ansvar.
e) Systemer kan bygges på kortere tid og halve kostnaden.

A

d) Hver seksjon (modell, visning, kontroller) følger prinsippet om ett enkelt ansvar.

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

Hva er ikke et prinsipp fra GRASP?

a) Skaper (Creator)
b) Kontroller (Controller)
c) Lav kobling (Low coupling)
d) Motivator (Motivator)

A

d) Motivator (Motivator)

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

Hva er informasjonsekspert fra GRASP?

a) Et prinsipp for å tildele ansvar til klasse.
b) Et prinsipp for å tildele ansvar til arrangement.
c) Et prinsipp for å tildele ansvar til objekt.
d) Et prinsipp for å tildele ansvar til beregninger.

A

c) Et prinsipp for å tildele ansvar til objekt.

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

Hva er en skaper (creator) fra GRASP?

a) Hvem som skal være ansvarlig for å lage en ny forekomst av beregninger.
b) Hvem som skal være ansvarlig for å lage en ny forekomst av en klasse.
c) Hvem som skal være ansvarlig for å lage en ny forekomst av en hendelse.
d) Hvem som skal være ansvarlig for å lage en ny forekomst av et objekt.

A

b) Hvem som skal være ansvarlig for å lage en ny forekomst av en klasse.

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

Et personalsystem (HR-system) må utvides med en ny type feriepenger. Den originale koden må endres betydelig for å støtte funksjonen. Hvilket prinsipp fra SOLID bryter da den eksisterende koden med?

a) Åpen/lukket (Open/closed)
b) Avhengighetsinversjon (Dependency inversion)
c) Liskov-utskiftbarhet (Liskov substitutability)
d) Enkelt ansvar (Single responsibility)
e) Grensesnittsegregering (Interface segregation)

A

a) Åpen/lukket (Open/closed)

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

En utledet klasse overskriver en arvet metode ved å kaste en
UnsupportedOperationException. Hvilket prinsipp fra SOLID bryter dette med?

a) Åpen/lukket (Open/closed)
b) Avhengighetsinversjon (Dependency inversion)
c) Liskov-utskiftbarhet (Liskov substitutability)
d) Enkelt ansvar (Single responsibility)
e) Grensesnittsegregering (Interface segregation)

A

c) Liskov-utskiftbarhet (Liskov substitutability)

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

Hvis en metode i en klasse har mange mulige valg av utføringsstier, er den vanskelig å teste.
Hvilket prinsipp fra SOLID bryter dette med?

a) Åpen/lukket (Open/closed)
b) Avhengighetsinversjon (Dependency inversion)
c) Liskov-utskiftbarhet (Liskov substitutability)
d) Enkelt ansvar (Single responsibility)
e) Grensesnittsegregering (Interface segregation)

A

d) Enkelt ansvar (Single responsibility)

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

Hvilket prinsipp fra SOLID bryter følgende kodebit med?
public interface StudentLife {
void drink();
void eat();
void move();
void rent();
void block();
void run();
void purchase();
void packForTrip();
}

a) Åpen/lukket (Open/closed)
b) Avhengighetsinversjon (Dependency inversion)
c) Liskov-utskiftbarhet (Liskov substitutability)
d) Enkelt ansvar (Single responsibility)
e) Grensesnittsegregering (Interface segregation)

A

e) Grensesnittsegregering (Interface segregation)

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

Hvilken kodebit implementerer følgende grensesnitt slik at den følger prinsippet om
avhengighetsinversjon (Dependency inversion)?
public interface Driveable {
void accelerate();
void steerRight();
void steerLeft();
void steerStraight();
void brake();
}

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

Hvilken av følgende kodebiter fullfører åpent/lukket-prinsippet (open/closed) for følgende
kodebiter på riktig måte? Merk: Random.get(0, 6) er en tenkt metode i Random.
public interface Rollable {
Integer roll();
}
public class Game {
private Rollable r;
public void setRollable(Rollable roller) {
r = roller;
}
public void takeTurn() {
r.roll();
}
}

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

I Scrum, hvilken av følgende artefakter leveres på slutten av hver sprint?

a) Et dokument som inneholder test-tilfeller for gjeldende sprint.
b) En arkitektonisk utforming av løsningen.
c) Ett inkrement mot ferdig produkt.
d) Trådmodeller som viser utforming av brukergrensesnitt.

A

c) Ett inkrement mot ferdig produkt.

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

På hvilket grunnlag bør oppgavene i produktkøen prioriteres?

a) Verdien av oppgavene som leveres.
b) Kompleksiteten til oppgavene som leveres.
c) Størrelsen på oppgavene som leveres.
d) Risikoen forbundet med oppgavene.
e) Basert på Scrum-lagets valg.

A

a) Verdien av oppgavene som leveres.

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

I programvareutvikling, hva er oppgavene og målet med testing?

a) Lage test-scenarier og test-tilfeller.
b) Finne feil.
c) Lage automatiserte tester.
d) Dele testrapporter til alle interessenter.
e) Alle første 4 nevnte punkt.
f) Ingen av de første 4 nevnte punktene.

A

e) Alle første 4 nevnte punkt.

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

Har Scrum en test-rolle?
a) Ja.
b) Nei.

A

b) Nei.

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

Hva bør et utviklingslag gjøre under et planleggingsmøte for neste iterasjon når de innser at de må gjøre flere oppgaver enn de kan fullføre i iterasjonen?

a) Få flere utviklere om bord (utvide laget).
b) Søke hjelp fra de andre lagmedlemmene.
c) Jobbe overtid.
d) Diskutere utfordringene med kunden for å endre produktkøen.

A

d) Diskutere utfordringene med kunden for å endre produktkøen.

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

Når er en Sprint ferdig i Scrum?

a) Når alle oppgavene i Sprint-køen er fullført.
b) Når produkteieren foreslår det.
c) Når de endelige testene for sprinten er fullført.
d) Når tidsboksen utløper.

A

d) Når tidsboksen utløper.

17
Q

Ekstremprogrammering har 5 verdier, hvilken av følgende er ikke en av dem?

a) Enkelhet.
b) Mot.
c) Dokumentasjon.
d) Respekt.
e) Tilbakemelding.
f) Kommunikasjon.

A

c) Dokumentasjon.

18
Q

Hva mener vi med et tverrfunksjonelt utviklingslag?

a) Hvert medlem i utviklingslaget bør være tverrfunksjonell.
b) Utviklerne skal være i stand til å lage tester og å utføre dem.
c) Utviklingslaget må samarbeide med de andre medlemmene.
d) Utviklingslaget består av utviklere og testere.
e) Utviklingslaget bør ha all kompetanse som er nødvendig for å levere det ferdige inkrementet.

A

e) Utviklingslaget bør ha all kompetanse som er nødvendig for å levere det ferdige inkrementet.

19
Q

Hva viser et nedbrenningsdiagram?

a) Prosjektfremdrift.
b) Mengde gjenstående arbeid i forhold til tid.
c) Hastigheten til laget.
d) Kapasiteten til lagmedlemmene.
e) Hvor mange flere oppgaver som kan gjøres i en Sprint.

A

b) Mengde gjenstående arbeid i forhold til tid.

20
Q

Hvilken verdi er ikke blant de fire fra det agile manifestet?

a) Personer og samspill fremfor prosesser og verktøy.
b) Samarbeid med kunden fremfor kontraktsforhandlinger..
c) Strukturert planlegging foran tilpasset planlegging.
d) Å reagere på endringer fremfor å følge en plan.
e) Programvare som virker fremfor omfattende dokumentasjon.

A

c) Strukturert planlegging foran tilpasset planlegging.

21
Q

Hva er parprogrammering?

a) To personer jobber sammen for å kode på en datamaskin.
b) En person koder på to datamaskiner.
c) To personer som jobber på to datamaskiner.
d) Et par av personer som jobber med koding alene.

A

a) To personer jobber sammen for å kode på en datamaskin.

22
Q

Hvilket av følgende utsagn beskriver kontinuerlig integrasjon best?

a) En teknikk for kontinuerlig testing og distribusjon av kode.
b) En teknikk for kontinuerlig integrering av data fra ulike kilder.
c) En teknikk for kontinuerlig overvåking av tjenerytelse.
d) En teknikk for kontinuerlig optimalisering av kode med hensyn på ytelse.

A

a) En teknikk for kontinuerlig testing og distribusjon av kode.

23
Q

Hvilket av følgende lag får prioritet i DevOps?

a) Driftslag.
b) Utviklingslag.
c) Både a) og b).
d) Ingen av de ovennevnte.

A

c) Både a) og b).

24
Q

I Scrum, hvilken av følgende aktiviteter er ikke tidsbokset?

a) Sprint retrospektiv.
b) Sprint.
c) Gjennomgang av produktkø.
d) Daglig Scrum.
e) Gjennomgang av Sprint.

A

c) Gjennomgang av produktkø.