ExamPrepp Flashcards

1
Q

Hvilken type forskningsmetoder har vi?

A
  • Eksperiment
  • Case-studie
  • Etnografi
  • Spørreskjema-undersøkelse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva er kvantitative data?

A
  • Data som uttrykker kvantitet
  • Data som kan tallfestes
  • Brukes i statistikk
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hva er kvalitative data?

A

Data som uttrykker kvalitet på en eller annen måte.
Tekst, bilder og andre formater unntatt tall.
Brukes ikke i statistikk.

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

Hva er ISO 25010

A

ISO 25010 - System and software Quality Requirements and Evaluation - er en software kvalitets standard.

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

Hvilken aspekter beskriver ISO25010?

A

– Functional suitability: Gjør systemet det det skal?
– Reliability: Er det feil (bugs) i systemet?
– Usability: Er systemet greit å bruke?
– Performance efficiency: Hvor raskt og hvor mye
plass trenger systemet?
– Maintainability: Er systemet greit å vedlikeholde
og utvide?
– Portability: Kan det enkelt flyttes til ulike
plattformer?
– Compatibility: Kan det greit fungere sammen
med andre systemer?
– Security: Hvor sikkert er systemet?

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

Hva er funksjonelle krav?

A

Det beskriver HVA systemet skal gjøre.

– Hvilke tjenester (funksjoner) skal systemet tilby?
– Hvordan skal det reagere på ulike typer input?

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

Hva er ikke funksjonelle krav?

A

Hvordan systemet skal implementere de
funksjonelle kravene.

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

Hvilken typer ikke-funksjonelle krav har vi?

A

Vi har tre hovedkategorier av requierments, med flere underkategorier:

  • Produkt
    • Usability
    • Efficiency
    • Security
  • Organizational
    • Environmental
    • Operational
    • Development
  • External
    • Regulatory
    • Ethical
    • Legislative
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hva er ideen med eksperiment som forskningsmetode?

A

Undersøke årsak-virkning, hva fører til hva?

Manipulere (endre) det fenomenet man studerer, og så måler man virkningen.

Et eksperiment nevnt fra forelesning er eksperimentet
- Hva er kost-nytte ved parprogrammering?

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

Hva er ideen med case-studie som forskningsmetode?

A

Case-studier har fokus på “hvordan” og “hvorfor” noe skjer.

Legger vekt på å studere fenomener i sine naturlige omgivelser.

Case-studier har få datapunkter og mange variable. Derfor generaliserer man ved bruk av teori, ikke statistikk som i eksperimenter.

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

Hvor blir intervjuer ofte brukt?

A

I case-studier.

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

Hva er et strukturert intervju?

A

Spørsmålene definert på forhånd, veldefinerte svaralternativer.

Kan kvantifisere (telle opp) hvor mange som svarer hva på hvert spørsmål.

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

Hva er et semistrukturert intervju?

A

Intervjuerne baserer seg på stikkord og spørsmål som evt. kan droppes underveis, og nye spørsmål kan stilles avhengig av hvordan intervjuet forløper.

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

Hva er et åpent (ustrukturert) intervju?

A

Forløper seg mer som en samtale mellom intervjuer og intervjuobjekt.

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

Hva er etnografi?

A

En vitenskapelig metode hvor forskere observerer over lengre tid hva folk gjør og er mer involvert i gruppen som studeres (enn i case-studier).

Dyp forståelse av folk, organisasjon og konteksten for arbeidet.

Personene som studeres trenger ikke forklare hva de gjør.

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

Hvilken type spørsmål kan brukes i et spørreskjema?

A
  • Numeriske verdier, for eksempel alder.
  • Svarkategorier, for eksempel stillingstype.
  • Ja/Nei-svar
  • Ordinalskala (rangering) som vanligvis er bedre for holdninger og preferanser.
  • Åpne spørsmål.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hvilken typer ordinalskala har vi?

A
  • Enighetsskalaer, f.eks. 5-nivå Likert-skala med kategoriene: sterkt uenig, uenig, verken uenig eller enig, enig, sterkt enig

– Frekvensskala, for eksempel aldri, sjelden, av og til, ofte, alltid

– Evalueringsskalaer: svært dårlig, dårlig, passe, god, veldig god

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

Hvilken faser består Microsoft Security Development Lifcycle (SDL) av?

A
  1. Opplæring
  2. Krav
  3. Design
  4. Koding
  5. Test
  6. Produksjonssetting
  7. Forvaltning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Hvilen sikkerhetsrisikoer lister OWASP Top 10 i 2021?

A
  1. Brudd på tilgangskontroll
  2. Kryptografiske feil
  3. Injeksjon
  4. Usikkert design
  5. Feilkonfigurert sikkerhet
  6. Sårbare og utdaterte komponenter
  7. Feil i identifisering og autentisering
  8. Feil i (data og programvare) integritet
  9. Utilstrekkelig logging og overvåking
  10. Server-Side Request Forgery
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hva innbærer sikker smidig programvareutvikling?

A

Noen tilleggsaktiviteter

  • Innhent generelle sikkerhetskrav ved oppstart av prosjektet.
  • Identifisere trusler som må forhindres i hver sprintsyklus.
  • Evaluring av system og sikkerhet ved avsluttende evaluering av system.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Hva er funksjonell sikkerhet?

A

Sikkerhetskrav som utgjør en egen brukerhistorie, og gir en “synlig” tjeneste til bruker.

For eksempel brukerautentisering.

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

Hva er ikke-funksjonell sikkerhet?

A

Sikkerhetskrav som ikke er en egen brukerhistorie, sikkerhet som er “usynlig” for bruker, men er nødvendig for å hindre trusler.

For eksempel inputvalidering mot SQL-injection og XSS.

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

Hva er trusselmodellering?

A

Å identifisere, analysere og beskrive relevante angrepsscenarier.

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

Når skal trusselmodellering og enkel risikovurdering utføres i sikker smidig?

A

I hver sprint.

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

Hva er en agriperhistorie?

A

Beskriver angriper sin målsetting:
Som [angriper] ønsker jeg [funksjon] for å nå [resultat].

Eksempel:
Som angriper ønsker jeg å hacke Flickr-kontoer for å stjele private bilder og personlig info.

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

Hva er en misuse case?

A

Et trusselscenario, sett fra trusselaktøren sitt perspektiv.

Beskrivelse av et sett med trinn og interaksjoner som må utføres av angriperen for å oppnå angrepsmål.

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

Hvilken kategorier er det rammeverket STRIDE beskriver?

A

S - Spoofing (identitetstyveri)
T - Tampering (fikling)
R - Repudiation (avvisning)
– Kan en angriper benekte misbruk fordi vi mangler spor?
I - Information disclosure (datatyveri og - lekkasje)
D - Denail of service (tjenestenekt)
E - Elevation of privilege (utvidede tilganger)

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

Hva er fuzztesting?

A

Forsøker å fremprovosere feil i systemet ved å gi korrupte inputverdier (tilfeldig eller misformet data).

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

Hva er prinsippet med “shift left”?

A

At det fokuseres mer på sikkerhet i utviklingsfasen av DevOps, slik at det blir færre sikkerhetssårbarheter og -hendelser under drift.

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

Hva er GDPR?

A

General Data Protection Regulation (GDPR), som er oversatt til norsk og tatt inn i Personopplysningsloven, er en EUs lov for databeskyttelse og personvern.

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

Hva er person(opplysnings)vern?

A

Å beksytte spesifikke aspekter ved personopplysninger:

  • Forhindre urettmessig innsamling og oppbevaring (av personinformasjon)
  • Forhindre urettmessig bruk (av innsamlet personinformasjon)
  • Sørge for at personinformasjon er korrekt
  • Sørge for åpenhet og innsyn
  • Sørge for bra nokk informasjonssikkerhet (KIT) (rundt personinformasjon)
  • Definere klar ansvarsfordeling
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Hvilken konsekvenser kan dårlig personvern ha?

A
  • Personlig belastning
  • Uønsket oppmerksomhet
  • Identitetstyveri eller -bedrageri
  • Økonomisk tap
  • Skade på omdømme
  • etc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Hvilken GDPR artikkler dekkes i pensum?

A

– Art. 6: Behandlingens lovlighet (behandlingsgrunnlag)
– Art. 25: Innebygd personvern
– Art. 32: Sikkerhet ved behandlingen (innebygd informasjonssikkerhet)
– Art. 35: Vurdering av personvernkonsekvens (DPIA)
– Art. 45: Overføringer på grunnlag av en beslutning om tilstrekkelig beskyttelsesnivå
– Art. 46: Overføringer som omfattes av nødvendige garantier
– Art. 83: Generelle vilkår for ilegging av overtredelsesgebyr

34
Q

Hva er WAD?

A

WAD - Web Accessibility Directive - er EUs webdirektiv om universell utforming av offentlige nettsteder og mobilapplikasjoner.
- Er nå en del av norsk rett.

35
Q

Hva er WCAG?

A

WCAG - Web Content Accessibility Guidelines - er retningslinjer/suksesskriterier for universell utforming.

Etter WAD skal nettsteder og mobilapplikasjoner oppfylle alle suksesskriterier i WCAG 2.1 på nivå A og AA.

36
Q

Hvor mange suksesskriterier i WCAG 2.1-standarden må offentlig og privat sektor følge?

A

Offentlig: 47 av 78
Privat: 35 av 78

37
Q

Hva er DIGDIR sin rolle ifht. UU?

A

Digitaliseringsdirektoratet sin oppgave er støtte, tilsyn, og hjelp rundt universell utforming av ikt.

38
Q

Hva definerer en interessent?

A

For en interessent har utformingen av en løsning eller utfallet av en hendelse betydning.

  • De har derfor et uttalt eller u-uttalt ønske eller behov for å påvirke utformingen eller utfallet.
  • En interessent kan være en person, gruppe, organisasjon eller institusjon.
39
Q

Når kan personopplysninger behandles?

A

Det er kun tillatt å behandle personopplysninger dersom vilkår for å behandle personopplysninger er oppfylt (f.eks. samtykke).

40
Q

Hvilken lov omhandler UU?

A

Likestillings- og diskrimineringsloven.

Forskriften om universell utforming av informasjons- og kommunikasjonsteknologiske (IKT)-løsninger spesifiserer WCAG suksesskriterene (A og AA) som må følges.

41
Q

Hvilken modeller kan vi bruke til å tenke om funksjonshemmning?

A
  • Medisinske modell
  • GAP modellen
  • Sosialt modell
  • Brukbarhetspyramiden
42
Q

Hva er den medisinske modellen for funksjonshemmning?

A

Funksjonshemmning ses på som et individuelt problem med utgangspunkt i en skade eller sykdom hos individet. Og tar videre form i hvilken ressurser som skal til for å “helbrede” personen.

43
Q

Hva er den sosiale modellen for funksjonshemmning?

A

Funksjonshemmning ses på som tvunget (opplevd og skapt) av samfunnet (individuelt og kollektivt).
- Et politisk/økonomiskt, kulturelt, sosialt og fysilogiskt fenomen.

Legger til grunn at funksjonshemmning oppstår grunnet fysiske eller sosiale barrierer i samfunnet.

44
Q

Hva er GAP-modellen for funksjonshemmning?

A

GAP-modellen viser en relasjonell forståelse for hvordan en funksjonshemming oppstår i gapet mellom individets forutsetninger og samfunnets krav.

Gapet kan minskes, og slik fjerne eller minske funksjonshemmingen.

45
Q

Hva er oppgavene til Scrum Master?

A
  • Sørge for at Scrum prosesser blir fulgt.
  • Leder “daily standup”
  • Hindre støy slik at utviklere kan fokusere på arbeid
  • Koordinere SPRINT planlegging, og estimering av Sprint backlog
46
Q

Hva er oppgavene til Produkteier?

A
  • Representere kunden
  • Sette opp mål for hver SPRINT
  • Ansvar for product backlog, og for å prioritere aktiviteter i backlog.
47
Q

Hva går lean prinsippet JIT (Just-In-Time) ut på?

A
  • Ikke lag noe før det er etterspurt.
  • Ikke ta endelige avgjørelser for tidlig.
  • Unngå waste:
    • Kan vise seg at enkelte oppgaver ikke er nødvendige å implementere i det hele tatt.
    • Ved å utsette oppgaver blir de ofte bedre implementert enn om de blir tatt tidlig.
48
Q

Hva er ATEM (Agile Teamwork Effective Model) sine komponenter?

A

Hoved mekanismer:

  • Delte mentale modeller
  • Kommunikasjon
  • Gjensidig tillit

Teamwork komponenter:

  • Shared leadership
  • Team orientation
    • Vurdere alternative løsninger fra teammates
  • Redundancy
    • Fordeling av oppgaver slik at det er delt kunnskap
  • Adaptability
  • Peer feedback
49
Q

Hva ønsker vi å oppnå med testing?

A
  • Sikre at kvaliteten er god
  • Finne feil
  • Forhindre feil
  • Teste krav
    • Ytelse
    • Sikkerhet
    • UU
    • Funksjonelle krav
  • Skaffe informasjon for å kunne si noe om kvalitetsnivået
  • Gi beslutningsgrunnlag
  • Risikostyring
50
Q

Hva er de 7 prinsippene ved testing?

A
  1. Testing viser tilstedeværelse av defekter
  2. Fullstendig testing er umulig
  3. Tidlig testing
  4. Feilklynging
    - Et lite antall moduler inneholder de fleste feilene som oppdages under testen før utgivelsen.
  5. Immunitetsparadokset
    - Hvis de samme testene gjentas igjen og igjen vil det samme settet med testtilfeller ikke lenger finne noen nye feil.
  6. Testing er kontekstavhengig
  7. Fravær av defekter-misforståelsen
    - Å finne og rette feil hjelper ikke hvis systemet ellers ikke oppfyller brukerens behov og forventninger.
51
Q

Hvordan er testpyramiden utformet?

A

Pyramiden har to akser, y aksen som definerer tid og kost, x aksen som definerer antall tester som bør implementeres.

Pyramiden fra toppen og ned:
GUI
- Har høyest tid/kost, og færrest implementasjoner.
- Teknisk testere er ansvarlige.

Integrasjonstester

  • Har middels tid/kost, og litt flere test implementasjoner.
  • Utviklere og tekniske testere har ansvar.

Enhetstester

  • Har lavest tid/kost, og har flest test implementasjoner.
  • Utviklere har ansvar.
52
Q

Hva er en iterasjon i smidig utvikling?

A

En sykel i utviklingen, ofte kalt en sprint.

53
Q

Hva er et inkrement i smidig utvikling?

A

Et subset av krav for systemet.

For eksempel backlog items og user stories.

54
Q

Hva er de 12 smidig prinsippene?

A
  1. Kundefokus
  2. Positiv til endringer
  3. Lever inkrementer hyppig
  4. Kunde-involvering (work together)
  5. Stol på den enkelte
  6. Ansikt-til-ansikt kommunikasjon
  7. Kode er hovedpunktet
  8. Stabile omgivelser
  9. Teknisk kvalitet (continuous attention)
  10. Enkelhet
  11. Selvstyrte team
  12. Kontinuerlig prosessforbedring
55
Q

Hvordan fungerer scrum prosessen?

A
  1. Idee fører til user stories.
  2. User stories fører til produkt backlog.
  3. Start sprint (2-4 uker):
    - Sprint-planleggingsmøte: Evaluere oppgavelisten, mål for sprinten settes, kunden kan sette nye krav eller gi nye oppgaver. Gir en sprint backlog.
    - Daily standups.
    - Sprint review.
    - Sprint retorspective.
  4. Gjenta 3 til produkt/produkt backlog er ferdig.
  5. Deployment.
56
Q

Hva er en sprint review?

A

En gjennomgang etter en sprint hvor inkrementet blir evaluert, og produkt backlogen blir tilpasset om nødvendig.

Deltagere: Teamet, Produkteier og andre nøkkel interessenter.

57
Q

Hva kjennetegner autonome team?

A

Klar myndighet og ansvar, og kan ta avgjørelser som får konsekvenser.

  • Klare mål.
  • Kunne utføre hele jobben.
  • Ta beslutninger sammen.

Ikke for store og kunne lære sammen (retrospective)

58
Q

Hva er stor-skala smidig?

A

En programvareutviklingsorganisasjon med 50 eller flere personer eller minst seks team.

59
Q

Hvilken ikke-funksjonelle kvalitetsattributter har vi for et system?

A
  • Respons
  • Pålitelighet
  • Tilgjenglighet
  • Sikkerhet
  • Brukskvalitet
  • Vedlikeholdebarhet
  • Robusthet
60
Q

Hvilken grunner kan vi ha til feil i programmer?

A

Problem
- Forstår ikke problemet eller problemområdet (domene)

Teknologi
- Programmeringsspråk, bibliotek, IDE, database

Kompleks program
- Mange komponenter som virker sammen, kan være vanskelig å forstå hvordan tilstanden til programmet endres.

61
Q

Hva er “code smell”?

A

Karakteristikker i kildekoden som kan indikere et større problem.

62
Q

Hvilken ‘code smells’ finnes?

A
  • Store klasser.
  • Store/lange metoder/funksjoner.
  • Duplisert kode.
  • Meningsløse navn på variable.
  • Ubrukt kode.
63
Q

Hva er høy kohesjon?

A

Kohesjon er et mål på hva slags ansvar et objekt har og hvor fokusert ansvaret er.

Et objekt som har moderat ansvar og utfører et begrenset antall oppgaver innenfor ett funksjonelt område har høy kohesjon.

64
Q

Hva er lav kobling?

A

Kobling er et mål på hvor sterkt et objekt er knyttet til andre objekter.

Et objekt med sterk kobling er avhengig av mange andre objekter, noe som kan gjøre endring vanskelig.

65
Q

Hva er et designmønster?

A

Et designmønster er en måte å gjenbruke abstrakt kunnskap om et problem og løsningen på problemet.

Et mønster er en beskrivelse av et problem og essensen av løsningen.

«A general reusable solution to a commonly occuring problem within a given context in software design»

66
Q

Hva er Ekspertprinsippet ifht. OOP?

A

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

67
Q

Hva er Kontrollobjektprinsippet ifht. OOP?

A

To typer kontrollere:

  • Fasadekontroller: En kontrollklasse har ansvar for alt (brukes i et lite system).
  • Use case kontroller: Styrer ett use case (brukes i større systemer. Ett kontrollobjekt for hvert use case).
68
Q

Hva er Skaperprinsippet ifht. OOP?

A

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

69
Q

Hvilken tradeoff har vi for å redusere kompleksitet i arkitektur design?

A

Kompleksitets-trekanten består av:

  • Separation of concerns
    • F.eks. MVVM
  • Stable interfaces (API)
    • Om API’et endres endres ofte, så må alle komponentene som bruker det endres med det.
  • Implement once (reusability)
    • Kan være problematisk å få mange interessenter, og kreve mye koordinering ved for mye gjennbruk.
70
Q

Hva er teknisk gjeld?

A

En sub-optimal løsning.
- Sparer tid nå med å ikke bruke den optimale løsningen, men betaler konsekvensene senere.

In software-intensive systems, technical
debt is a design or implementation
construct that is expedient in the short
term, but sets up a technical context that
can make a future change more costly
or impossible.
71
Q

Hvordan defineres en aktør?

A

En aktør for et system representerer en rolle som et menneske eller et annet system som har et mål med systemet.

72
Q

Hva definerer en primær aktør?

A

Primære aktører har egne mål, dvs. de initierer use case (en eller flere) som oppfyller deres mål.

73
Q

Hva definerer en sekundær aktør?

A

Sekundære aktører har ikke egne mål, men er nødvendige for å realisere målene til de primære aktørene.

Kommuniserer også aktivt med systemet.

74
Q

Hva er brukbarhetspyramiden for funksjonshemmning?

A

En pyramide med nivå 1 (bunn) til 4 (topp).

Nivå - Beskrivelse
1 - Universell utforming skal dekke behovene til flest mulig.

2 - Tilrettelegging for grupper med sammenfallende behov for tilrettelegging.

3 - Individuell tilrettelegging og individuelle hjelpemidler.

4 - Personlig assistanse der individuell tilrettelegging og individuelle hjelpemidler ikke strekker til.

75
Q

Hva kjennetegner Kanban?

A
  • Flytbasert
  • Fokus på å få oppgaver (arbeidspakker)
  • Begrense antall arbeidspakker WIP (work in progress)
  • Mindre fokus på estimering av tid og kostnader
76
Q

Hva er et use case?

A

Et use case beskriver hvordan systemet oppnår et mål av verdi for en aktør.

Et use case beskriver en komplett funksjonell enhet.

Eksempler (egne bobbler i diagrammet):

  • “Registrere lånesøknad”
  • “Se status”
  • “Vurdere lånesøknad”
77
Q

Hva er include-relasjonen i et use case?

A

Et use case kan være en del av ett flere andre use case.

Da bruker vi en include relasjon som er en pil fra en basis use case til include use casen som kan være en del av flere.

Brukes typisk for å redusere duplikater i diagrammet.

78
Q

Hva er extend-relasjonen i et use case?

A

Beskriver en alternativ oppførsel som utføres i noen tilfeller. Hvordan å oppnå tilleggsresultat.

Vi har da en pil fra den alternative oppførselen til use casen som den gjelder for.

79
Q

Hva skjer i et sprint-planleggingsmøte?

A

Evaluere backlog, sette mål for sprinten, kunden kan sette nye krav eller gi nye oppgaver.

Gir en sprint backlog.

80
Q

Hvordan skrives user stories?

A

Som X ønsker jeg kunne gjøre Y slik jeg kan oppnå Z.

Eksempel:
Som lånekonsulent
ønsker jeg å kunne vurdere lånesøknader
slik at jeg kan gi en riktig og rask vurdering.

81
Q

Hva er kvalitativ risikoberegning?

A

En beregning av risikonivå hvor risikonivået er produktet av sansynlighet * konsekvens. Og begge defineres som en grad (lav, middels, høy, alvorlig).

En har gjerne en oppslagstabell med forhåndsdefinerte risikonivåer hvor x-aksen er nivå av konsekvens og y-aksen er nivå av sannsynlighet.