Introduktion till software engineering Flashcards
Hur kan vi definiera mjukvara?
(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
Vad skiljer generic software från customer software?
Vid generic software bestämmer företaget som utvecklar mjukvaran dess specifikationer/krav
vid customer software styr kundens krav/behov
Hur kan vi definiera ett system?
Ett system är en samling relaterade komponenter (mjukvara och hårdvara) som tillsammans arbetar för att leverera *något*
What is a software process?
Systematic approach to software engineering
What affects software?
- Heterogeneity
- Business and social changes
- Security and trust
- Scale
Vad innebär ett socio-teknisk system?
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
Vad innebär ett socio-teknisk system?
System där omgivning och syfte styr hur systemet utformas.
Vad innebär det att ett socio-tekniskt system har “emergent properties”?
emergent properties avser att när vi sätter flera delar i ett sammanhang, först då får det ett syfte
Vad innebär det att ett socio-tekniskt system är icke-deterministiskt?
att vi inte kan förutse hur beteendet kan vara, output i system kan varierar trots samma input beroende på tillfälle
Vilka olika aktiviteter ingår i mjukvaruutveckling – även om vi gör ett litet program?
(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
Vilka kategorier av orsaker ligger bakom de problem man identifierar?
(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
Hur kan vi definiera Software Engineering?
“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.
Förklara hur software engineering förhåller sig till computer science och system engineering.
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.
Vilka fundamentala aktiviteter kan alltid sägas ingå i software engineering (oavsett systemtyp)?
(1) Specificera - vad ska vi göra?
(2) Utveckla
(3) Validera - utvecklade vi det vi skulle?
(4) Evolution - drift och support
Vad innebär konceptet ”silver bullet”?
Silver bullet är det enkla svaret (dvs det som inte finns inom mjukvaruutveckling).