Teknik 1 · Kapitel 8
Modellering och simulering
Beskriv systemet, prova dess beteende och lär innan den verkliga lösningen byggs.
Lektionsmål
Efter kapitlet ska du kunna...
- förklara modellering och simulering
- ge exempel på modeller inom informationsteknik
- beskriva hur simulering används för att testa scenarier
- resonera om modellers möjligheter och begränsningar
Startfråga
Varför inte bygga direkt?
Den färdiga lösningen kan vara dyr eller farlig att ändra.
Alla antaganden är ännu inte testade.
Teamet behöver kunna diskutera lösningen innan detaljerna finns.
En modell gör idén synlig. En simulering gör beteendet möjligt att prova.
Modellering
Förenkla med ett syfte
Modellering innebär att skapa en förenklad representation av ett system.
- välj vad modellen ska hjälpa oss förstå
- ta med relevanta delar och relationer
- utelämna detaljer som inte behövs för syftet
En modell är användbar när förenklingen hjälper oss fatta bättre beslut.
Exempel på modeller
Olika frågor kräver olika bilder
| Systemdiagram | Hur hänger komponenterna ihop? |
|---|---|
| Databasschema | Hur organiseras och kopplas data? |
| Nätverksdiagram | Hur kommunicerar enheterna? |
| Flödesschema | I vilken ordning sker steg och beslut? |
| Wireframe | Hur organiseras gränssnittet? |
Systemdiagram
Visa komponenter och dataflöde
Modellen visar strukturen men inte all kod, hårdvara eller nätverkstrafik.
Databasschema
Visa data och relationer
Användare
- PK användare_id
- namn
- e_post
Bokning
- PK bokning_id
- FK användare_id
- FK aktivitet_id
Aktivitet
- PK aktivitet_id
- namn
- tid
Schemat planerar hur informationen ska lagras innan databasen byggs.
Programmodell
Flödesschema och pseudokod
Flödesschema
Visar steg, riktning och beslut visuellt.
Pseudokod
Beskriver logiken med strukturerad text.
LÄS in ålder
OM ålder är minst 18
VISA "Myndig"
ANNARS
VISA "Inte myndig"
Simulering
Kör modellen genom ett scenario
Simulering innebär att använda en modell för att undersöka hur ett system beter sig.
Varför simulera?
Testa innan verkligheten
- prova farliga eller ovanliga scenarier säkert
- upptäcka problem tidigt
- jämföra flera lösningar
- minska kostnader för fysiska prototyper
- förutse kapacitet och beteende
Kontrollfråga
Modell eller simulering?
En klickbar wireframe används för att testa om användare hittar från startsidan till bokningen.
Webbplats
Simulera användarupplevelsen
- Skapa wireframes över viktiga sidor.
- Koppla dem till en klickbar prototyp.
- Ge användaren en konkret uppgift.
- Observera vägval och problem.
- Förbättra modellen och testa igen.
Webbprestanda
Simulera olika förutsättningar
- långsam mobil uppkoppling
- svagare telefon eller dator
- många samtidiga användare
- stora bilder och filer
Verktyg som Lighthouse kan simulera vissa miljöer, men resultatet behöver jämföras med verklig användning.
Spelutveckling
Modellera världen och reglerna
- nivåskisser och spelvärldens struktur
- regler för poäng, skada och rörelse
- karaktärers tillstånd och beteenden
- objekt, relationer och händelser
Spelmodellen beskriver vilka regler simuleringen ska följa.
Fysiksimulering
Beräkna rörelse och kollisioner
Spelmotorn uppdaterar modellens värden många gånger per sekund för att skapa rörelse.
Interaktiv fysiksimulering
Ett fallande objekt
Tid: 0 s\nHöjd: 20 m
Modellens antaganden
Vad saknas i fallsimuleringen?
- luftmotstånd
- vind
- objektets form och rotation
- variation i gravitation
- markens material
Den enkla modellen kan ändå vara användbar om syftet bara är att undersöka idealiserat fritt fall.
2D och 3D
Fler dimensioner kräver mer
| 2D | 3D |
|---|---|
| Rörelse på två axlar | Rörelse och djup på tre axlar |
| Enklare geometri och kollision | Mer komplex geometri, kamera och kollision |
| Ofta lägre resurskrav | Ljus, skuggor och perspektiv ökar kraven |
AI i spel
Simulera NPC:ers beteende
Exempel: patrullera, upptäcka spelaren, jaga, söka och återgå.
Beteendet är en modell – inte mänsklig förståelse.
Andra teknikområden
Simulering där verkliga test är svåra
| Flyg | Träna piloter och prova nödsituationer. |
|---|---|
| Trafik | Testa flöden, signaler och vägar. |
| Klimat | Undersöka möjliga framtida scenarier. |
| Ekonomi | Analysera effekter av antaganden och beslut. |
Digital tvilling
En modell kopplad till verkliga data
Digitala tvillingar kan användas för underhåll, belastningstest och planering av förändringar.
Modellen behöver uppdateras när det verkliga systemet förändras.
Begränsningar
Modellen är inte verkligheten
- viktiga detaljer kan saknas
- antaganden kan vara fel
- indata kan vara ofullständig eller vinklad
- reglerna kan förenkla för mycket
- resultatet kan tolkas fel
Garbage in, garbage out
Avancerad modell + dålig data = dåligt resultat
Granska därför datakälla, antaganden, regler och osäkerhet innan resultatet används.
Validering
Stämmer modellen tillräckligt väl?
- Jämför med kända verkliga resultat.
- Testa extrema och oväntade värden.
- Variera ett antagande i taget.
- Låt andra granska modellen.
- Dokumentera osäkerhet och begränsningar.
Interaktivt beslut
Kan resultatet användas?
En trafikmodell förutser kortare köer, men har aldrig jämförts med verkliga trafikmätningar.
Praktisk övning
Modellera och simulera
- Välj ett tekniskt system och formulera en fråga.
- Bestäm vilka delar modellen behöver visa.
- Dokumentera antaganden och indata.
- Skapa modellen.
- Prova minst tre scenarier.
- Bedöm resultat och begränsningar.
Exit ticket
Tre frågor
- Vad skiljer en modell från en simulering?
- Varför kan två modeller av samma system se olika ut?
- Hur kan du kontrollera att en simulering är användbar?
Sammanfattning
Kom ihåg
- Modellering förenklar ett system för ett bestämt syfte.
- Simulering testar modellens beteende i olika scenarier.
- Modeller kan minska kostnad och risk men visar inte hela verkligheten.
- Resultat beror på indata, regler och antaganden.
- Validera modellen innan viktiga beslut fattas.