Presentationer Bild 1/1

Teknik 1 · Kapitel 3

Problemlösning inom IT

Från ett synligt symptom till en testad teknisk lösning.

Lektionsmål

Efter kapitlet ska du kunna...

  • identifiera och analysera tekniska problem
  • använda en systematisk problemlösningsprocess
  • skilja symptom, orsak och lösning åt
  • förklara varför testning och förbättring behövs

Startfråga

Knappen fungerar inte – vad gör du?

  • Ändrar flera kodrader på måfå?
  • Laddar om sidan och hoppas?
  • Bygger om hela funktionen?

Börja med att beskriva exakt vad som händer och när.

Begrepp

Vad är ett tekniskt problem?

Något fungerar inte som det ska.

Ett behov saknar en fungerande lösning.

Ett system behöver förbättras.

Exempel: långsam webbplats, felaktigt resultat eller en spelkaraktär som fastnar.

Viktig skillnad

Symptom är inte samma sak som orsak

SymptomMöjlig orsak
Sidan laddar långsamtFör stora bilder eller långsam kod
Spelet krascharEtt oväntat värde hanteras inte
Knappen reagerar inteHändelsen är inte kopplad till funktionen

Lös orsaken – inte bara det som syns.

Helhetsbild

Fem steg i processen

1 Identifiera2 Analysera3 Föreslå4 Implementera5 Testa

Processen ersätter gissningar med observationer och kontrollerbara beslut.

Algoritmiskt tänkande

Gör problemet hanterbart

Dekomposition

Bryt ner ett stort problem i mindre delar.

Abstraktion

Fokusera på relevanta detaljer och bortse från resten.

Tillsammans gör de problemet lättare att analysera steg för steg.

Steg 1

Identifiera problemet

  • Vad fungerar inte?
  • När och var uppstår problemet?
  • Vem påverkas?
  • Vad förväntades hända?
  • Vad hände i stället?

Bra problembeskrivning

Gör felet observerbart

Otydligt

”Webbplatsen är trasig.”

Tydligt

”På mobil öppnas inte menyn när användaren trycker på menyknappen.”

En tydlig beskrivning begränsar vad som behöver undersökas.

Steg 2

Analysera orsaken

  • reproducera felet
  • studera kod och loggar
  • kontrollera indata och variabler
  • jämför när det fungerar och inte fungerar

En reproduktion visar under vilka villkor felet uppstår.

Tre feltyper

Vilken typ av fel?

FeltypVad händer?Exempel
SyntaxfelProgrammeringsspråket kan inte tolka koden.En avslutande parentes saknas.
ExekveringsfelProgrammet startar men avbryts när felet inträffar.Programmet försöker dividera ett tal med noll.
Logiskt felProgrammet körs men ger fel resultat.Rabatten adderas till priset i stället för att dras av.

Kontrollfråga

Vilken typ av fel?

Ett program ska addera två tal men multiplicerar dem i stället.

Analysverktyg

Beskriv innan du kodar

Flödesschema

Visar processens steg, riktningar och beslut.

Pseudokod

Beskriver lösningens logik med begripliga steg.

LÄS in lösenord
OM lösenordet är korrekt
    VISA startsidan
ANNARS
    VISA felmeddelande

Steg 3

Föreslå flera lösningar

  • ändra kod eller inställningar
  • förbättra design och användarflöde
  • optimera filer eller resurser
  • jämför tid, effekt och risk

Den första idén är inte automatiskt den bästa lösningen.

Konsekvenser

Kan lösningen skapa nya problem?

En ändring kan lösa ett fel men samtidigt påverka:

SäkerhetPrestandaStabilitetAnvändbarhetUnderhåll

Välj den lösning som fungerar bäst för systemet som helhet.

Steg 4

Implementera kontrollerat

  • gör en tydlig förändring i taget
  • dokumentera vad som ändras
  • behåll möjligheten att återställa
  • testa den minsta relevanta delen först

Om allt ändras samtidigt blir det svårt att veta vad som hjälpte.

Steg 5

Testa resultatet

  1. Är det ursprungliga problemet borta?
  2. Fungerar lösningen flera gånger?
  3. Fungerar den även med annan indata?
  4. Har något annat slutat fungera?

”Det fungerade en gång” är inte ett tillräckligt test.

Interaktiv felsökning

Vad är bästa nästa steg?

Ett formulär misslyckas ibland när det skickas, men teamet vet inte vilken inmatning som utlöser felet.

Exempel · webbplats

Knappen gör ingenting

  1. Identifiera: klick ger ingen reaktion.
  2. Analysera: JavaScript-funktionen körs inte.
  3. Föreslå: kontrollera kopplingen mellan knapp och funktion.
  4. Implementera: korrigera kopplingen.
  5. Testa: prova flera klick och olika enheter.

Exempel · Unity

Karaktären faller genom marken

  1. Symptom: karaktären passerar markytan.
  2. Analys: kontrollera collider och fysikinställningar.
  3. Orsak: collider saknas eller är fel inställd.
  4. Lösning: korrigera komponenten.
  5. Test: prova flera platser och rörelser.

Optimering

När inget är trasigt – men för långsamt

Optimering förbättrar exempelvis snabbhet, stabilitet eller resursanvändning.

  • minska bildstorlekar
  • förenkla onödigt arbete i koden
  • anpassa serverkapacitet till belastningen

Mät före och efter ändringen. Annars vet du inte om den hjälpte.

Gummiankemetoden

Förklara problemet högt

  1. Beskriv vad systemet ska göra.
  2. Förklara vad varje steg faktiskt gör.
  3. Säg vilka antaganden du gör.
  4. Notera var förklaringen inte längre håller.

Du kan förklara för en person – eller ett föremål. Poängen är att formulera tanken tydligt.

Problemlösning och lärande

Fel kan ge kunskap

När du undersöker varför något inte fungerar lär du dig hur systemet är uppbyggt.

FelUndersökningFörståelseBättre lösning

Slumpmässiga ändringar ger däremot svag kunskap om vad som faktiskt hände.

Praktisk övning

Felsök systematiskt

  1. Välj ett konkret fel i ett program, en webbplats eller ett spel.
  2. Beskriv förväntat och faktiskt resultat.
  3. Reproducera felet och dokumentera stegen.
  4. Formulera två möjliga orsaker.
  5. Ändra en sak och testa igen.
  6. Redovisa vad testet visade.

Exit ticket

Tre frågor

  1. Vad skiljer ett symptom från en orsak?
  2. Varför ska man ändra en sak i taget?
  3. Hur kontrollerar du att lösningen inte skapade ett nytt fel?

Sammanfattning

Kom ihåg

  • Beskriv problemet tydligt innan du försöker lösa det.
  • Skilj symptom från bakomliggande orsak.
  • Reproducera, analysera och jämför möjliga lösningar.
  • Implementera en kontrollerad förändring i taget.
  • Testa både lösningen och resten av systemet.