Programvaruteknik, kap 7 Flashcards

1
Q

Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?

A

1) Inkrementella och iterativa; 2) korta feedback-loopar; 3) utforskande när det gäller krav.

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

Vad är design patterns?

A

Generella lösningar på återkommande problem.

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

Vad är syftet med use case diagram?

A

Att beskriva det föreslagna systemet från användarens synvinkel.

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

Vad är syftet med klassdiagram (class diagrams)?

A

Att beskriva strukturen av olika typer av objekt (klasser) och relationen mellan olika typer av objekt
(klasser).

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

Vilka är de fyra traditionella utvecklingsfaserna vid programvaruutveckling (the traditional
development phases of the software life cycle)?

A

Kravanalys, design, implementation, testning.

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

Vad är huvudsyftet med att dela upp en programvara i moduler?

A

För att förenkla programvaruutveckling genom att en enskild modul är överblickbar och kan utvecklas
oberoende av andra moduler.

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

Vilka är de tre önskvärda egenskaperna för moduler som man vill uppnå när man delar upp en
programvara i moduler?

A

Hög sammanhållning (cohesion), låg koppling (coupling), information hiding.

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

Ge ett exempel på en lättrörlig utvecklingsmodell (agile development model)?

A

Scrum.

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

Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?

A

1) Inkrementella och iterativa; 2) korta feedback-loopar; 3) utforskande när det gäller krav.

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

Vad är det för skillnad på glass-box-testning (glass-box testing) och black-box-testning (black-box
testing)?

A

Glass-box testning innebär att testaren känner till den interna strukturen av programvaran som skall
testas och utnyttjar denna information vid konstruktion av testerna. Detta till skillnad från black-box
testning som inte bygger på kunskap om programvarans interna struktur.

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

Beskriv skillnaderna mellan en-till-en- (one-to-one), en-till-många- (one-to-many) och många-tillmånga- (many-to-many) relationer, gärna med hjälp av exempel.

A

Ett exempel på en en-till-en-relation är ”man-hustru”, eftersom en man endast kan vara man till en
hustru och en kvinna endast kan vara hustru till en man (enligt svenska lagar). Ett exempel på en en-tillmånga-relation är ”mamma-barn”, eftersom ett barn endast har en (biologisk) mamma men en kvinna
kan vara mamma till många barn. Ett exempel på en många-till-många-relation är ”bror-syster”,
eftersom en pojke kan ha flera systrar och en flicka kan ha flera bröder.

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

Vad kallas programvarutekniken som bygger på att konstruera programvara genom att kombinera
olika färdiga komponenter (istället för att utveckla egna komponenter)?

A

Component architecture eller component-based software engineering

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

Vad kallas den roll i Scrum som upprätthåller en lista med krav och prioriterar mellan dessa krav?

A

Produktägare (product owner).

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

Vad kallas de korta iterationer (2 – 4 veckor) i Scrum, som skall resultera i någonting levererbart till
kund/beställare?

A

Sprintar (sprints).

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

Vad kallas den roll i Scrum som skall säkerställa att Scrum-ramverket följs?

A

Scrum master.

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

Vad kallas de korta iterationer (2 – 4 veckor) i Scrum, som skall resultera i någonting levererbart till
kund/beställare?

A

Sprintar (sprints)

17
Q

Vad kallas i Scrum de korta dagliga möten då varje projektdeltagare skall svara på tre frågor?

A

Daily scrum (stand-up).

18
Q

Vad kallas i Scrum de möten då man diskuterar vad som har gått bra denna iteration och vad som kan
förbättras i nästa iteration?

A

Sprint retrospective.

19
Q

Vad är det för skillnad på glass-box-testning (glass-box testing) och black-box-testning (black-box
testing)?

A

Glass-box testning innebär att testaren känner till den interna strukturen av programvaran som skall
testas och utnyttjar denna information vid konstruktion av testerna. Detta till skillnad från black-box
testning som inte bygger på kunskap om programvarans interna struktur.

20
Q

Beskriv ett exempel på var och en av de olika typerna av relation: en-till-en (one-to-one), en-tillmånga (one-to-many) och många-till-många (many-to-many)!

A

Ett exempel på en en-till-en-relation är ”man-hustru”, eftersom en man endast kan vara man till en
hustru och en kvinna endast kan vara hustru till en man (enligt svenska lagar). Ett exempel på en en-tillmånga-relation är ”mamma-barn”, eftersom ett barn endast har en (biologisk) mamma men en kvinna
kan vara mamma till många barn. Ett exempel på en många-till-många-relation är ”bror-syster”,
eftersom en pojke kan ha flera systrar och en flicka kan ha flera bröder.

21
Q

Vad kallas de korta iterationer (2 – 4 veckor) i Scrum, som skall resultera i någonting levererbart till
kund/beställare?

A

Sprint.

22
Q

Vad är syftet med use case diagram?

A

Att beskriva det föreslagna systemet från användarens synvinkel.

23
Q

Vilka är de fyra stegen i traditionell mjukvaruutveckling (med t ex vattenfallsmodellen)?

A

Kravanalys, design, implementation, testning.

24
Q

Förklara begreppen coupling och cohesion?

A

Coupling är ett mått på hur sammanflätade olika moduler/komponenter är i ett mjukvarusystem (the
linkage between modules). Låg coupling är bra. Cohesion är ett mått på hur väl innehållet i en modul hänger ihop, hur fokuserad den är (the internal
binding within a module). Hög cohesion är bra.

25
Q

Beskriv kortfattat några fördelar med att dela upp program i moduler?

A

Att förenkla programvaruutvecklingen genom att en enskild modul är överblickbar och kan utvecklas
oberoende av andra moduler

26
Q

Vad innebär prototyping?

A

Prototyping innebär att man utvecklar och utvärderar en prototyp (en ofärdig version av det som skall
utvecklas).