Eksamen vår 2023 Flashcards
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.
d) Hver seksjon (modell, visning, kontroller) følger prinsippet om ett enkelt ansvar.
Hva er ikke et prinsipp fra GRASP?
a) Skaper (Creator)
b) Kontroller (Controller)
c) Lav kobling (Low coupling)
d) Motivator (Motivator)
d) Motivator (Motivator)
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.
c) Et prinsipp for å tildele ansvar til objekt.
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.
b) Hvem som skal være ansvarlig for å lage en ny forekomst av en klasse.
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) Åpen/lukket (Open/closed)
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)
c) Liskov-utskiftbarhet (Liskov substitutability)
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)
d) Enkelt ansvar (Single responsibility)
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)
e) Grensesnittsegregering (Interface segregation)
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();
}
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();
}
}
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.
c) Ett inkrement mot ferdig produkt.
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) Verdien av oppgavene som leveres.
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.
e) Alle første 4 nevnte punkt.
Har Scrum en test-rolle?
a) Ja.
b) Nei.
b) Nei.
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.
d) Diskutere utfordringene med kunden for å endre produktkøen.