ch 7 Flashcards

1
Q

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

A

Inkrementella och iterativa

Korta feedback-loopar

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

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
10
Q

Beskriv skillnaderna mellan en-till-en- (one-to-one), en-till-många- (one-to-many) och många-till- må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-till- må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
11
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
12
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
13
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
14
Q

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

Vad kallas rollen i ett team som är ansvarig för att team:et följer Scrum-metodiken?

A

Scrum master

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

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

A

Daily scrum (stand-up)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
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

17
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

18
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

Kan utvecklas oberoende av andra moduler

19
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)

20
Q

Beskriv vad en sprint inom agil utveckling med Scrum är?

A

En sprint är en fas/iteration på 2 till 4 veckor som ska leverera något resultat

21
Q

Vad utmärker black-box-testning (black-box testing)?

A

Vid black-box testning har testaren ingen kunskap om programvarans interna struktur

Till skillnad från glass-box testning som innebär att testaren känner till den interna strukturen av programvaran som skall testas och utnyttjar denna information vid konstruktion av testerna

22
Q

Vad är design patterns (designmönster) och vad är de bra för?

A

Generella lösningar på återkommande problem.

Genom att utgå från färdiga och bra lösningar kan man snabba upp utvecklingstiden och också göra program mer robusta då designmönstren ofta är väl beprövade.

Designmönster ger också utvecklare och systemarkitekter en gemensamt vokabulär för att diskutera och referera till olika lösningar

23
Q

Utvecklingsmetoden Scrum har tre olika roller definierade, vilka?

A

Product Owner (produktägare)

Scrum master

Development team. Development teamrollen delas ofta av flera (3-9) personer

24
Q

Vilka tre olika typer av relationer mellan entiteter är viktiga att skilja på vid programvaruutveckling?

A

En-till-en (One-to-one)

En-till-många (One-to-many)

Många-till-många (Many-to-many)

25
Q

Vad kallas programvaruutvecklingsmetoder som värdesätter:
- individer och interaktioner mer än processer och verktyg;
- fungerande programvara mer än omfattande dokumentation; - kundsamarbete mer än kontraktsförhandlingar.
- lyhördhet för förändring mer än att följa en plan

A

Agila. Agile

26
Q

Vad är en programvarumodul?

A

En hanterbar enhet av programvaran som endast hanterar en del av det arbete som hela programvaran ska utföra

27
Q

Vad är syftet med Scrum-mötet “sprint retrospective”?

A

Att förbättra själva arbetsprocessen utifrån erfarenheterna från den senaste sprinten

28
Q

Vad står förkortningen CASE för avseende programvaruutveckling?

A

Computer Aided Software Engineering

29
Q

Vad står förkortningen IDE för avseende programvaruutveckling?

A

Integrated Development Environment

30
Q

Vad heter den roll i Scum som är ansvarig för att prioritera vilken utveckling som skall utföras under nästa sprint?

A

Product owner

31
Q

Hur många medlemmar bör ett utvecklingsteam ha enligt Scrum?

A

3 - 9

32
Q

Ge två exempel på diagram som används vid modellering (vid programvaruutveckling)

A

Strukturdiagram

Dataflödesdiagram

Användningsfallsdiagram

Klassdiagram

33
Q

Vad är ett designmönster (vid programvaruutveckling)?

A

En förutvecklad modell för att lösa återkommande problem

34
Q

Vad heter den roll i Scrum som är ansvarig för att prioritera vilken utveckling som skall
utföras under nästa sprint?

A

Product Owner

35
Q

Vad utmärker glass-box-testning?

A

Vid glass-box testning känner testaren till den interna strukturen hos programvaran som skall testas och utnyttjar denna information vid konstruktion av testerna

Till skillnad från black-box testning då testaren inte har någon kunskap om programvarans interna struktur

36
Q

Vilka 3 frågor skall varje team-medlem kort besvara vid Daily Scrum-mötena?

A

Vad gjorde du igår?
Vad ska du göra idag?
Finns det några hinder som hindrar dig från att utföra ditt arbete?

37
Q

Vad är de fyra värdesätter i Agile Manifesto?

A

Individer och interaktioner (Individuals and interactions)

Fungerande programvara (Working software)

Kundsamarbete (Customer collaboration)

Reagera på förändring (Responding to change)