Tenta 20190517 Flashcards

1
Q

Mjukvarusystem förändras med tiden och detta medför ändringar både i dokumentationen och i mjukvaran. Hur kan spårbarhet (på engelska: traceability) hjälpa oss att hantera dessa ändringar?

A

Traceability is done in order to keep track the origin, the source of the requirements and
also to what design classes, components or test cases a certain requirement is connected. This
helps to manage changes to requirements and to the whole system because if a change to a class
or to a requirement is done, when there is traceability, it is easy to see which components are
affected by the change and therefore it is easy to change it. So it makes easy maintainability.
(one point if they write half of this)

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

Vad är intressenters roll? Kan du ge fyra exempel på intressenter?

A

Svar
Intressenter (stakeholders) är personer eller roller som direkt eller indirekt påverkas av
systemet. Deras roll är att ge mjukvarutvecklare information (krav, önskemål) om
systemet som ska utveklas

Exemple: Användare –olika typer
Kunder, kundens kunder
Underleverantörer
Marknadsförare
Säljare
Systemarkitekter
Utvecklare
Testare
Produktledare

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

Elicitering är aktiviteten man gör för att samla information man behöver för att beskriva kraven för ett system.

a) Vilken typ av information vill vi samla?

A

Present work, Present problems
Goals and critical issues
Future system ideas
Realistic possibilities
Consequences and risks
Conflict resolution
Requirements, Priorities

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

Elicitering är aktiviteten man gör för att samla information man behöver för att beskriva kraven för ett system.

b) Kan du nämna 6 olika tekniker?

A

Interview,
Focus groups,
document analysis
observations
questionnaires
stakeholders analysis
goals domain analysis
etc.

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

Elicitering är aktiviteten man gör för att samla information man behöver för att beskriva kraven för ett system.

c) Beskriv tekniken ”intressenter analys”.

A

When applying the technique stakeholders analysis, the requirements engineer has to investigate and
get an answer to the following questions:
Who are the stakeholders?
What goals do they see for the system?
Why would they like to contribute?
What risks and costs do they see?
What kind of solution, suppliers and resources do they see?

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

Man kan beskriva krav på fyra olika abstraktionsnivåer. Ge exempel på krav på alla fyra nivåer.

A

Svar
Mål-nivå: these describe the goals of the system from stakeholders viewpoint

Domän-nivå: these describe the context, how the users and the product cooperate for a certain goal

Produkt-nivå: describe the functions of the system

Design-nivå: describe a particular way of implementing the functions

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

Namnge och beskriv 4 olika typer av projekt. Vilken typ av projekt gör vi om vi inte har en kund (kunden är hela marknaden)?

A

Svar:
Internutveckling för egna behov (In-house)

Produktutveckling för öppen marknad (Product Dev.)

Utveckling på löpande räkning (Time&Materials)

Inköp av generisk (hyll-)programvara (COTS)

Kundspecifik anpassning av generisk programvara

Anbudsförfrågan (Tender)
◦ för upphandling av kundspecifik utveckling
◦ för upphandling av generisk programvara

Kontraktsbaserad utveckling med fast/rörligt pris
Underleverantörskontrakt med fast/rörligt pris
Okänd – förstudie för att utreda lämplig projekttyp
Hybrider – kombinationer av ovanstående

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

Vilka av följande meningar är rätt eller fel?

Ett kontextdiagram är inte lämpligt om man vill beskriva vilka gränssnitt som finns mellan systemet och dess omgivning.

A

fel

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

Vilka av följande meningar är rätt eller fel?

Det finns exempel där företag hanterar mer än 10 000 krav.
rätt

A

Rätt

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

Vilka av följande meningar är rätt eller fel?

Spårbarhet underlättar underhåll.

A

Rätt

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

Vilka av följande meningar är rätt eller fel?

Genom att fråga ”varför” kommer man närmare målnivåkrav, medan med frågan ”hur” kommer man närmare designnivåkrav.

A

Rätt

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

Vilka av följande meningar är rätt eller fel?

I praktiken är det oftast inte kostnadseffektivt att uppnå en helt fullständig kravspecifikation.

A

Rätt

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

Vilka av följande meningar är rätt eller fel?

Vid brainstorming är det viktigt att inte direkt kritisera orealistiska idéer.

A

Rätt

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

Vilka av följande meningar är rätt eller fel?

Vid brainstorming är det viktigt att inte direkt kritisera orealistiska idéer.

A

Rätt

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

Vilka av följande meningar är rätt eller fel?

En strukturkontroll (structure check) är inte lämplig för att identifiera motstridigheter (inconsistencies).

A

Rätt

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

Vilka av följande meningar är rätt eller fel?

En strukturkontroll (structure check) är inte lämplig för att identifiera motstridigheter (inconsistencies).

A

Rätt

17
Q

Vilka av följande meningar är rätt eller fel?

Virtuella fönster (virtual windows) är ett för användare mer lättbegripligt sätt att beskriva data jämfört med datamodeller (E/R-diagram).

A

Rätt

18
Q

Vilka av följande meningar är rätt eller fel?

I praktiken kan funktionella och icke-funktionella krav vara svåra att särskilja.

A

Rätt

19
Q

Vilka av följande meningar är rätt eller fel?

I praktiken kan funktionella och icke-funktionella krav vara svåra att särskilja.

A

Rätt

20
Q

Vilka av följande meningar är rätt eller fel?

Icke-fungerande krav hör ofta samman med yttre domänen.

A

Fel

21
Q

Vilka av följande meningar är rätt eller fel?

Krav på domännivå innehåller normalt bara klienter från den yttre domänen.

A

Fel

22
Q

Vilka av följande meningar är rätt eller fel?

Den yttre domänen innehåller aktörer som kommunicerar indirekt med systemet via en aktör i den inre domänen.

A

Rätt

23
Q

Vilka av följande meningar är rätt eller fel?

För hyllprogramvara (COTS) är det lämpligast att ställa krav på designnivå.

A

Fel

24
Q

Vilka av följande meningar är rätt eller fel?

Kravhanteringen för hyllprogramvara handlar till stor del om att välja mellan befintliga produkter med redan existerande användargränssnitt.

A

Fel

25
Q

Vad är skillnaden mellan verifiering och validering?

A

Verifiering görs i syfte av att stämma av att systemet/tjänsten är konsistent med kravspecen.

Validering görs i syfte av att kontrollera att systemet/tjänsten byggs i enighet med vad kunden/användaren vill.

26
Q

I vilken fas använder vi dessa verifiering?

A

Generellt görs verifiering och validering kontinuerligt under hela utvecklingsfasen. Men de faser där detta är extra viktigt är följande:

Verifiering:
- vid hela testfasen är detta viktigt, men även att stämma av att designen är konsistent mot kraven.

27
Q

I vilken fas använder är validering viktigt?

A

Generellt görs verifiering och validering kontinuerligt under hela utvecklingsfasen. Men de faser där detta är extra viktigt är följande:

Validering:
- vid krav-validering efter det att “krav-ingenjören” matchar de insamlade kraven mot vad intressenterna vill.
- Vid acceptanstestning där utvecklarna tillsammans med intressenter checkar av att mjukvaran/tjänsten är den korrekta efter kraven.

28
Q

På vilket sätt är omtest (eng: retest) och regressionstest (eng: regression test) olika?

A

När en avvikelse hittats och åtgärdats gör man ett omtest för att bekräfta att åtgärden var tillräcklig.

Regressionstester genomförs med jämna mellanrum för att se att ändringar över lag inte förstört systemet - ibland kan det vara svårt att se kausalitet mellan genomförda ändringar och felsymptom. Därför är det bra med regressionstester.

29
Q

Förklara den grundläggande idén för BVA (Boundary Value Analysis) och applicera metoden på ett exempel.

a) Förklara den grundläggande idén för BVA (Boundary Value Analysis).

b) Vilka värden att testa med ger BVA om man skall testa en variabel X som kan ha värdena -99 <= X <= 99? (1p)

A

a) “faults often lurk near boundaries”.

b) Testvärden: -100, -99, -98, -1, 0, 1, 98, 99, 100.

30
Q

1) Why do we use formal methods

2) what are the limitations?

A

1) To specify the desired properties of a computer system. To prove that a computer system satisfies its specification.

2)
Push button methods (model checking) has limited applicability
(usually states explosion)

  • More powerful methods (theorem proving) require mathematical
    skills (and very difficult for larger system)
  • Theoretical limitations: decidability, complexity, halting problem,
    incompleteness
  • In practice: speed, simplicity, robustness, money…
  • Summary: It has its limitations to guarantee anything (no absolute guarantees) while at the same time it is
    extremely costly.