Introduktion till software engineering Flashcards

1
Q

Hur kan vi definiera mjukvara?

A

(1) “Program som används av en dator för att utföra en uppgift”, i vilket det ingår

(2) eg. kod, dokumentation, bibliotek eller konfigurationsdata

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

Vad skiljer generic software från customer software?

A

Vid generic software bestämmer företaget som utvecklar mjukvaran dess specifikationer/krav

vid customer software styr kundens krav/behov

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

Hur kan vi definiera ett system?

A

Ett system är en samling relaterade komponenter (mjukvara och hårdvara) som tillsammans arbetar för att leverera *något*

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

What is a software process?

A

Systematic approach to software engineering

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

What affects software?

A
  1. Heterogeneity
  2. Business and social changes
  3. Security and trust
  4. Scale
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad innebär ett socio-teknisk system?

A

Innefattar utöver ett teknisk system också människor som förstår det och processer.

Sociotekniska system har en definierad “operational process” och människor är i en ounviklig del av den processen

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

Vad innebär ett socio-teknisk system?

A

System där omgivning och syfte styr hur systemet utformas.

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

Vad innebär det att ett socio-tekniskt system har “emergent properties”?

A

emergent properties avser att när vi sätter flera delar i ett sammanhang, först då får det ett syfte

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

Vad innebär det att ett socio-tekniskt system är icke-deterministiskt?

A

att vi inte kan förutse hur beteendet kan vara, output i system kan varierar trots samma input beroende på tillfälle

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

Vilka olika aktiviteter ingår i mjukvaruutveckling – även om vi gör ett litet program?

A

(1) Specificera - förstå problem, identifiera behov
(2) Utveckla - design, koda, verifiera delar
(3) Validera - gjorde vi rätt sak, systemtest
(4) Evolution - driftsättning, underhål

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

Vilka kategorier av orsaker ligger bakom de problem man identifierar?

A

(1) Code errors
(2) Design errors
(3) Documentation errors (göra fel saker)
(4) Requirement-errors
(5) Bad fix-errors, dvs. vi fixar introducerar nya fel

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

Hur kan vi definiera Software Engineering?

A

“VAD gör vi, och NÄR gör vi det”

Ämnesområde som tittar på hur vi utvecklar mjukvara och hur olika tekniker/strategier kan användas.

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

Förklara hur software engineering förhåller sig till computer science och system engineering.

A

Alla tre tangera sig på alla sätt men software engineering kan sägas avsees ett systematiserat sätt att använda och tillämpa verktyg och tekniker för att utveckla mjukvara, vilket i sin natur innehåller både datavetenskap och systemvetenskap.

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

Vilka fundamentala aktiviteter kan alltid sägas ingå i software engineering (oavsett systemtyp)?

A

(1) Specificera - vad ska vi göra?
(2) Utveckla
(3) Validera - utvecklade vi det vi skulle?
(4) Evolution - drift och support

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

Vad innebär konceptet ”silver bullet”?

A

Silver bullet är det enkla svaret (dvs det som inte finns inom mjukvaruutveckling).

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

Varför är det osannolikt att vi skulle kunna hitta en ”silver bullet” för mjukvaruutveckling?

A

På grund att mjukvaruutvecklingen komplexitet, t ex heterogenitetet som gör att det inte finns en lösning på alla problem, att vi utvecklar i ett otroligt föränderlig landskap eller olika projekt väsensskilda förutsättningar.

17
Q

Vad innebär begreppet “Complexity” i förhållande till mjukvara och Software Engineering?

A

att mjukvara blir mer och mer komplext, system samverkar mer, fler personer använder mjukvara i fler situationer och den ska vara kompatibel med fler plattformar.

18
Q

Vad innebär begreppet “Conformity” i förhållande till mjukvara och Software Engineering?

A

Mjukvaran måste anpassa sig, det kommer sist in och måste vara nyast. Mjukvaran måste ofta anpassa sig efter hårdvaran.

19
Q

Vad innebär begreppet “Changeability” i förhållande till mjukvara och Software Engineering?

A

Mjukvara ändras ofta, men ersätts mer sällan.

20
Q

Vad innebär begreppet “Invisibility/intangible” i förhållande till mjukvara och Software Engineering?

A

Vi kan inte se den fysiskt, den blir väldigt abstrakt.