Spørsmål til Eksamen Flashcards

1
Q

Hva er smidig utvikling?

A

Tverrfaglige team, product backlog og sprinter med time boxer.

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

Hva er suksesskriteriene for å utvikle programvare?

A

Lever til deadline, hold budsjettet, møt kundens forventninger og vedlikehold et velfungerende team

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

Hva slags risikotyper har man i sammenheng med utvikling av programvare?

A

Teknologi, Mennesker, Organisatorisk, Verktøy, Krav og Estimering

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

Hvordan oppnå effektive team?

A

En god blanding mennesker, organisere teamet slik at alle kan bidra på sitt beste, en god teamfølelse og kommunikasjon

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

Hva er kjerneideen i smidig utvikling?

A

Iterering gjennom product backlog

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

Hvordan gjøres Systemspesifikasjon i Scrum?

A

User stories

Som [ROLLE] ønsker jeg [FUNKSJON] for å oppnå [NYTTEVERDI]

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

Hva er de viktige prinsippene i LEAN?

A

JIT, Tilfredsstille kunden, Flyt, Visualisering, Unngå Waste og Støtte opp om endringer

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

Hva er JIT?

A

Ikke lag noe før det er etterspurt
Ikke ta endelige avgjørelser for tidlig
Unngå Waste

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

Hva er Waste?

A

Alt som krever ressurser men som ikke gir verdi for kunden

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

Hva er de viktigste årsakene til Waste?

A

Kompleksitet, Skalere opp i stedet for flyt og Teknisk gjeld

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

Hva er Teknisk gjeld?

A

“Shortcuts” som tas i utvikling og vedlikehold for å oppnå kortsiktige fordeler. Men som i det lange løp l føre til økte kostnader på vedlikehold og videreutvikling

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

Hva er hensikten med domenemodellen UML?

A

Forstå objektene og få en oversikt over terminologi

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

Hva er generalisering i UML?

A

Generalisering i UML er en måte å dele inn spesifikke og generelle attributter på gjenstander for å håndtere kompleksitet. Det gjøres når det er felles egenskaper i ulike klasser, for eksempel Person og Student

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

Hva er generalisering i Objektorienterte Språk?

A

Generalisering i objektorienterte språk er implementert ved arv (inheritance)

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

Hva er kjennetegn på god design?

A

Gjør det den skal
Lett å forstå
Enkel og elegant
Gjenbrukbar og Utvidbar

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

Hva er Ekspertprinsippet?

A

La det objektet som har kunnskapen (dataene) også behandle den

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

Hva er Skaperprinsippet?

A

Legg ansvar for å opprette et nytt objekt i klassen som må vite om det nye objektet

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

Hva er Kontrollobjektprinsippet?

A

To typer basert på størrelsen av systemet, handler om hvilken klasse som har ansvar for å behandle en systemhendelse/melding

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

Hva er kohesjon?

A

Kohesjon er et mål på hva slags og hvor fokusert ansvar et objekt har. Et objekt som har moderat ansvar innenfor et begrenset funksjonelt område har høy kohesjon.

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

Hva er kobling?

A

Kobling er et mål på hvor sterkt et objekt er knyttet il andre objekter. Et objekt med høy kobling er avhengig av mange andre objekter, noe som kan gjøre endring vanskelig

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

Hvilke typer angrep kan prosjektoppgaven være sårbar for?

A

DDoS angrep og hvis man legger til en bruker database; SQL injections

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

Hva er de vanligste sikkerhetskontrollene?

A

Input filtrering, Kryptering, Logging, Autentisering, Tilgangskontroll og Backup

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

Hva er versjonshåndtering?

A

Et verktøy som lar oss samarbeide med andre på ett eller flere prosjekter, håndtere og overvåke endringer

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

Hva er Git?

A

Et versjonshåndteringssystem (VCS) for å håndtere og administrere endringer av filer og eventuelt koordinere når flere samarbeider

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Hva er et distribuert versjonshåndteringssystem?
Brukerne speiler hele repoet istedet for å stadig hente ut det nyeste filene (i.e. sentralisert). Med andre ord har alle brukere har en kopi av repoet. Feks. Git
26
Hva inngår i den fundamentale testprosessen?
Planlegge, Analysere og Designe, Implementere og Eksekvere, Evaluere og Test Closure activities
27
Hva er de forskjellige testnivåene?
Unit, Integration, System og Acceptance
28
Hva er de forskjellige testtypene?
Funskjonell, Ikke-funksjonell, Relatert til endringer og Strukturelle
29
Hva er de forskjellige reviewene i stigende formalitetsgrad?
Informal review, Walkthrough, Technical review og Inspection
30
Hvorfor er testing viktig?
Redusere risikoen for problemer, Validasjon og Verifikasjon
31
Hva er de 7 test prinsippene?
``` Testing shows presence of defects Exhaustive testing is impossible Early testing is important Defect clustering Pesticide paradox Testing is context dependent Absence-of-errors fallacy ```
32
Hva er karakteristikker for god testing?
Nysgjerrighet, Profesjonell pessimisme, Detaljorientert, Konstruktiv og God kommunikasjon
33
Hva er typiske feil funnet gjennom statisk testing?
Udefinerte & Ubrukte variabler, Brudd på Syntax, Deadlocks og Sikkerhetshull
34
Hva er de viktigste teknikkene innen dynamisk testing?
Ekvivalens Partisjonering. Grenseverdi Analyse, Use case testing, State transition, Decision tables og Erfaringsbasert testing
35
Hva er ansvaret til en testleder?
Koordinere, planlegge, estimere bruk av ressurser, introdusere metrics, velge hva som skal automatiseres, velge testverktøy og skrive sammendragsrapporter
36
Hva slags testverktøy har vi?
Test management tools, Static testing tools, Test Specification tools, Execution and Logging tools, Performance and Monitoring tools
37
Hva er en stakeholder i et prosjekt?
Et individ, gruppe eller organisasjon som kan påvirke eller bli påvirket av et valg, aktivitet eller utfall av prosjektet
38
Hva er systemarkitektur?
Generell systemstruktur, ett sett med arkitektoniske designvalg og grunnmuren i systemet
39
Hva er vedlikeholdbar kode?
Kan endres og testes
40
Hva er MVP?
Et arkitektonisk mønster som deler opp i tre lag. Model, View og Presenter
41
Hva gjør Model i MVP?
Administrerer hvordan dataene lagres og aksesseres
42
Hva gjør View i MVP?
Viser frem dataene den får fra Presenteren som henter fra Modelen
43
Hva gjør Presenter i MVP?
Mellommannen mellom Model og View, holder all presentasjon logikken. Har ansvar for å gi spørringer til Model og oppdatere Viewet
44
Hvordan unngå teknisk gjeld?
Eneste måten er å ikke ta teknisk gjeld Men i praksis lar det seg ikke gjøre, så sørg for å holde den synlig Bruk Issue tracker, Backlog og verktøy for å iterativt sjekke kodebasen
45
Hva er en kravspesifikasjon?
Et dokument som spesifiserer hva som skal lages Inneholder Bruker- og systemkrav Er ofte en del av kontrakten
46
Hva er Brukerkrav?
Uttrykkes på naturlig språk / diagrammer Viser ønsket funksjonalitet Kunden skal kunne forstå disse kravene uten problemer
47
Hva er Systemkrav?
Detaljert beskrivelse av systemfunksjoner Definerer hva som skal implementeres Basis for kontrakt
48
Hvorfor er det nødvendig å lage en kravspesifikasjon?
Spesifiserer hva som skal lages og ytelsen Basis for anbud, kontrakt, design og implementasjon Skape felles forståelse av systemet Forhindre eventuelle konflikter - Ulike forventninger
49
Hva er hendelsesdrevet modellering?
Viser hvordan systemet responderer på eksterne / interne hendelser Viser hvordan tilstander er knyttet til hendelser i et system Spesielt nyttig for sanntidssystemer
50
Hva er et tilstandsdiagram?
Representerer en tilstandsmaskin Grafisk representasjon av tilstandene et system kan ha Hvordan går vi fra én tilstand og til en annen?
51
Hvorfor er det nyttig å lage tilstandsdiagrammer?
Viser hvilke tilstander systemet kan være i Viser hvordan vi beveger oss mellom tilstander Triggere og Forutsetninger Viser ‘‘deadlocks’’ i systemet
52
Hva er de 12 smidige prinsippene?
1. Tilfredsstille kunden 2. Ønsk kravendringer velkommen 3. Levere hyppig 4. Forretningssiden og utviklere må arbeide sammen 5. Bruk motiverte personer 6. Ansikt til ansikt 7. Fungerende programvare er det primære målet på fremdrift/progresjon. 8. Smidige metoder fremmer bærekraftig programvareutvikling 9. Kontinuerlig fokus på fremragende teknisk kvalitet og solid design fremmer smidighet. 10. Enkelhet er essensielt. 11. De beste produktene vokser frem av selvstyrte team. 12. Reflekter på forbedringspotensialet
53
Hvilke oppgaver har en Scrum master?
Tilrettelegger for Scrum som utviklingsmetodikk Gjennomføre daglige standups Organisere øvrige møter Opprettholder kundekontakt Beskytte utviklere fra eksterne forstyrrelser/påvirkning
54
Hva er retrospective?
Scrum-teamet samles for å diskutere siste sprint Formål: Reflektere over hvordan utviklingen går / identifisere forbedringsområder Hva bør man slutte med? (Stop doing) Hva bør man fortsette med? (Continue doing) Hva bør man starte med? (Start doing)
55
Hva er kanban?
Kanban er et eksempel på en prosessmodell
56
Hvem er ansvarlig for å prioritere produktkøen (product backlog)?
Produkteier
57
Hva er verifisering i testing?
Verifisering i testing av programvare betyr at produktet bygges på riktig måte.
58
Hva betyr “time boxed” innen smidig metodikk?
Fast bruk av tid.
59
Hva er branching?
Oppretting av en ny codeline fra en versjon i en eksisterende codeline
60
Hva er de fire mest populære smidige møtene?
Sprint planning Daily Scrum Sprint review Retrospective
61
Hva er Sprint planning møtet?
Starten på en ny sprint Bestemmer hva som skal utvikles og leveres i løpet av sprinten Oppgaver velges ut fra product backlog og legges inn i sprint backlog Bestemmer hvordan det skal jobbes med de bestemte oppgavene
62
Hva er Daily scrum?
Daglig kort møte, gjerne rundt 15 minutter Hva har jeg gjort siden i går, hva skal jeg gjøre i dag, Evt. hva hindrer meg Sjekke fremdrift mot sprint målene synkronisere aktiviteter og lage en plan for de neste 24 timene.
63
Hva er Sprint Review?
For å konkludere arbeidet som er gjort i sprinten Inspisere arbeidet som er utført som et resultat av sprinten Gå over det generelle omfanget av fremgangen Oppdaterer product backlog
64
Hva er Retrospektiv?
Avsluttningen av sprinter hvor man går over sprinten som har vært, finner ut hva som fungerte og hva som kan forbedres i neste sprint.
65
Hva er produkteiers ansvar?
Har ansvar for å maksimere verdien i produktet som utviklingsteamet lager. Har ansvar for å prioritere og administrere product backlog
66
Hva er et Use Case?
Beskriver hvordan systemet oppnår et mål av verdi for en aktør