Systemudvikling Flashcards

1
Q

Relationel database

A

Data organiseres i rækker og kolonner. Hver værdi er: atomisk, har samme datatype. Ingen rækker er identiske.

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

ER model + hvad viser vores?

A

ER-modellen giver en oversigt over, hvordan data struktureres i databasen, og hvordan tabellerne er forbundet gennem primære og fremmede nøgler (PK og FK). Den hjælper med at designe databasen, så den understøtter systemets funktioner og forretningslogik.

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

Normalisering

A

kvalitetsikringprocess til at skabe godt databasedesign

1.normalform - atomiske værdier og ingen repeterende kolonner

  1. normalform – Fuld funktionel afhængighed

kun en primærnøgle

  1. normalform - Ingen transitiv afhængighed(En ikke primærnøgle attribut er ikke afhængig af en anden ikke primærnøgleattribut)

her splittes de attributter der ikke har en direkte tilknytning til primærnøglen i tabellen, ud i deres egne nye tabeller.

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

Hvordan kommer man fra ER-model til relationel model?

A

Hver entitet bliver til én tabel(typisk én tabel)
Alle tabeller skal have en entydig primærnøgle- indsæt autogenereret ID (kaldes surrogatnøgle, eller kunstig nøgle) hvis der ikke findes attribut, der vil være entydig og som med garanti aldrig ændrer sig

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

UI/UX

A

UI er visuelt Hvor lækkert det ser ud, UX er funktionelt Hvor lækkert det er at bruge

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

Singleton

A

Singleton betyder ‘kun en instans af en klasse’
hvorfor anvende?
hurtigere svartid når vi forbinder til databasen fra vores java program ved kun at have en global forbindelse åben hele tiden.
en klasse bliver singleton ved:
-Gøre konstruktøren privat eller beskyttet, så andre klasser ikke kan oprette nye instanser direkte.
-Oprette en statisk metode (ofte kaldet getInstance()), som returnerer den eneste instans af klassen.

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

Integrationstest

A

Målet med integrationstest er at sikre, at de enkelte dele af applikationen integrerer korrekt og kommunikerer som forventet.

vi testet repositories for at sikre vores repositories fungerer korrekt med databasen.

De er ikke så ”skrøbelige” som UI tests, men de er heller ikke lige så præcise som unit tests. Hvis en integrationstest fejler, kan man ikke altid vide, hvor fejlen er opstået.

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

Automatiseret vha. JUnit

A

JUnit leverer flere assertions, som er udtryk for at teste værdier og forventede resultater:

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

Manuelt med endpoints

A

med HTTP Client i IntelliJ
IntelliJ’s HTTP Client er et praktisk værktøj til at teste API-endpoints manuelt. Ved at oprette en .http-fil kan du skrive, sende og se HTTP-forespørgsler og -svar direkte i IDE’en, hvilket gør det nemt at teste og fejlsøge API’er under udvikling.

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

Unit test (Arrange, Act, Assert)

A

Tester små isolerede enheder af kode, for at sikre at de fungerer som forventet.
De er små, hurtige og præcise tests på kodeniveau. Hvis en unittest fejler, ved man hvor tingene går galt.

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

Grænseværdianalyse

A

Tester grænserne af et inputområde. da det ofte er her der kan opstå fejl.

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

Ækvivalenspartitionering

A

Vi inddeler inputs i grupper, hvor vi tror, at de opfører sig på samme måde.
Så i stedet for at teste hvert enkelt input, tester vi bare ét fra hver gruppe.
På den måde sparer vi tid og undgår unødvendige tests.
Fremgangsmåde
1.Opdel inputs i grupper
2.Vælg én værdi fra hver gruppe
3.Test disse værdier

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

DTO

A

Vi vil gerne mappe 1..N relationer
❏ Formålet med DTO-er er at adskille eksternt view (web front-end) fra entity
objekter
❏ skjule attributter, som ikke
skal være tilgængelige for front-end, f.eks password i et user objekt, eller en
beregnet værdi som age

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

Klassediagram

A

UML-diagram, der anvendes til softwareapplikationsudvikling.
De viser systemets klasser, deres attributter, operationer (eller metoder) og relationerne mellem klasserne.

Det viser ansvarsfordelingen mellem controller-, service- og repository-lagene, hvor:
-Controllers håndterer brugerens anmodninger.
-Services indeholder forretningslogikken.
-Repositories står for dataadgang og interaktion med databasen.

Klasseegenskaber og metoder:

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

Aktivitetsdiagram

A

Aktivitetsdiagrammer illustrerer flowet af kontrol.

beskriver, hvordan forskellige brugere navigerer gennem systemet og udfører specifikke opgaver.

-Den illustrere brugerrejser:
-Den definere arbejdsprocesser:
-Den skaber overblik

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

Domænemodel+ hvad viser vores?

A

En abstrakt beskrivelse af de væsentlige objekter, deres relationer og deres egenskaber (attributter).

Den sikrer et klart overblik over, hvordan data flyder gennem systemet.

17
Q

FURPS

A

FURPS hjælper teams med at sikre, at software opfylder både funktionelle og ikke-funktionelle krav for at levere et produkt af høj kvalitet.
‘Functionality, Usability, Reliability, Performance, and Supportability’
Functionality (Funktionalitet): Funktionelle krav, der beskriver, hvad systemet skal kunne gøre, herunder funktioner, egenskaber, sikkerhed og anvendelighed.
Usability (Brugervenlighed): Hvor let og intuitivt systemet er at bruge, herunder design, brugergrænseflade og tilgængelighed.
Reliability (Pålidelighed): Systemets evne til at fungere stabilt og præcist, herunder fejltolerance, fejlrate og genopretning.
Performance (Ydeevne): Hvor effektivt systemet udfører sine funktioner, herunder hastighed, svartid, ressourceforbrug og skalerbarhed.
Supportability (Vedligeholdelse og support): Hvor let systemet kan vedligeholdes, opdateres, testes og tilpasses til ændringer.

18
Q

Accepttest (system- eller E2E-tests)

A

sikrer, at hele systemet fungerer korrekt fra start til slut i realistiske brugerscenarier. Det verificerer, om systemet opfylder brugerens krav ved at teste alle komponenter sammen.

De simulerer brugeradfærd ved at testen klikker på knapper, indtaster data i felter på siden osv.
*UI testkoden får fat i elementer vha. CSS (f.eks. ID) og laver assertions vha. HTML (tester f.eks. om siden indeholder en bestemt overskrift eller tekst).

19
Q

Fitt’s law

A

handler om brugerenes interaktion (jo større element, des hurtigere klik)

20
Q

Hick’s law

A

færre valgmuligheder=mindre stress,
enklere valgmuligheder=hurtigere beslutninger

21
Q

Heurustik ‘Synlighed af systemstatus’

A

Vi fortæller brugeren hvad der sker, herunder giver vi en klar fornemmelse af hvordan man navigerer rundt på siden.

22
Q

Heurustik ‘Match mellem system og den virkelige verden’

A

Vores system anvender brugernes sprog med ord, vendinger og begreber som er forståelige for den almene, samt vises vores information skal i en naturlig og logisk rækkefølge.

23
Q

The Golden Rules

A
  1. Stræb efter konsistens =Vi har brugt forholdsvis identisk terminologi ses ved log out knap.

6.Tillad let tilbageførsel af handlinger=ses ved ‘cancel’ knapper.