Presentationer Bild 1/1

Teknik 1 · Kapitel 7

Modeller, dimensionering och rimlighet

Att planera tekniska system med begrepp, teorier, modeller och beräkningar.

Lektionsmål

Efter kapitlet ska du kunna...

  • använda tekniska begrepp korrekt
  • förklara hur teorier och modeller hjälper oss
  • beskriva konstruktion och dimensionering
  • göra enkla kapacitetsberäkningar
  • bedöma om ett resultat verkar rimligt

Startfråga

”Servern klarar många användare”

Hur många är ”många”?

Vad gör användarna?

Hur mycket data skickas?

Under hur lång tid?

Tekniska beslut kräver tydliga begrepp och mätbara antaganden.

Tre verktyg

Begrepp, teori och modell

BegreppGer namn åt tekniska delar och egenskaper.
TeoriFörklarar hur och varför något fungerar.
ModellFörenklar ett system så att det kan förstås och analyseras.

Tillsammans gör de tekniska resonemang precisa och möjliga att granska.

Tekniska begrepp

Orden bär information

AlgoritmSteg som leder till ett resultat.
DatabasStruktur för lagring och organisering av data.
ServerDator eller tjänst som levererar data eller funktioner.
NätverkEnheter som kommunicerar med varandra.
BandbreddDatamängd som kan överföras per tidsenhet.

Precision

Liknande ord – olika betydelse

500 GB lagring

Beskriver hur mycket data som får plats. Byte används för datamängd.

100 Mbit/s bandbredd

Beskriver hur många miljoner bitar som kan överföras per sekund.

1 byte = 8 bitar
500 GB × 8 = 4 000 Gbit
4 000 Gbit ÷ 0,1 Gbit/s = 40 000 s ≈ 11,1 timmar

Lagringen är som en behållare. Bandbredden är hastigheten genom röret. Tiden ovan är ett teoretiskt minimum.

Teorier

Förklara det vi observerar

  • nätverksteori förklarar hur data överförs
  • databasteori förklarar hur information organiseras
  • algoritmteori hjälper oss jämföra lösningar

Teori gör att vi kan förutsäga beteende innan hela systemet byggs.

OSI-modellen

Dela upp kommunikationen i lager

LagerExempel på vad som ingår
7 · ApplikationHTTP, DNS och tjänster som program använder
6 · PresentationDataformat, kodning, komprimering och kryptering
5 · SessionStart, hantering och avslut av kommunikationssessioner
4 · TransportTCP, UDP, portar och tillförlitlig leverans
3 · NätverkIP-adresser och routing mellan nätverk
2 · DatalänkEthernet, Wi-Fi, MAC-adresser och ramar
1 · FysiskKablar, radiovågor, kontakter och elektriska signaler

Lagerindelningen hjälper oss lokalisera var ett kommunikationsproblem kan finnas.

Algoritmers komplexitet

Vad händer när datamängden växer?

IndataLösning ALösning B
10 poster10 steg100 steg
1 000 poster1 000 steg1 000 000 steg

Två lösningar kan verka lika snabba i liten skala men bete sig helt olika när datan växer.

Modeller

Förenkla för att förstå

En modell visar utvalda delar av verkligheten för ett bestämt syfte.

  • systemdiagram visar komponenter och kopplingar
  • databasscheman visar tabeller och relationer
  • nätverksmodeller visar kommunikation
  • UML visar programstruktur och beteende

Modellens gräns

En modell visar inte allt

Detaljer tas bort för att det viktiga ska bli tydligt.

Samma system kan därför behöva flera modeller.

Översiktsmodell

Visar systemets huvuddelar.

Detaljmodell

Visar en viss komponent eller process.

Kontrollfråga

Vilken modell passar?

Teamet behöver visa hur elever, kurser och lärare hänger ihop i ett datasystem.

Exempel · databasschema

Elever läser kurser

Elev

  • PK elev_id
  • namn
  • e_post
1 → flera

Registrering

  • PK registrering_id
  • FK elev_id
  • FK kurs_id
  • registreringsdatum
flera ← 1

Kurs

  • PK kurs_id
  • kursnamn
  • poäng

PK identifierar en rad. FK kopplar tabellerna. Tabellen Registrering gör relationen många-till-många möjlig.

Konstruktion

Planera hur delarna samverkar

  • vilka komponenter behövs?
  • vilket ansvar har varje komponent?
  • hur skickas data mellan delarna?
  • vilka tekniska lösningar väljs?
  • hur ska systemet kunna ändras senare?

Exempel · webbplats

En enkel systemmodell

WebbläsareWebbserverApplikationDatabas

Modellen hjälper teamet att diskutera ansvar, dataflöde, säkerhet och möjliga flaskhalsar.

Dimensionering

Anpassa kapaciteten till behovet

  • antal samtidiga användare
  • lagringsbehov
  • nätverkskapacitet
  • processor och arbetsminne
  • förväntad tillväxt och reservkapacitet

Överdimensionering kostar resurser. Underdimensionering ger dålig funktion.

Antaganden

Beräkningen är bara så bra som underlaget

Besökare per dagHur många använder tjänsten?
SamtidighetHur många använder den samtidigt?
Data per besökHur mycket skickas till varje användare?
TopplastNär är belastningen som störst?
TillväxtHur förändras behovet över tid?

Beräkning

Datamängd vid samtidig användning

total datamängd = antal användare × data per användare

500 användare × 4 MB = 2 000 MB ≈ 2 GB

Beräkningen beskriver datamängden, men inte ensam hur snabbt den måste överföras.

Interaktiv dimensionering

Beräkna trafikbehovet

Resultat
Ändra värden och beräkna.

Enheter

Byte och bit är inte samma sak

Filstorlek anges ofta i MB eller GB.

Nätverkshastighet anges ofta i Mbit/s eller Gbit/s.

1 byte = 8 bitar
100 MB = 800 Mbit

Fel enhet kan göra beräkningen åtta gånger fel.

Lagringskapacitet

Räkna på tillväxt över tid

2 000 användare laddar upp 5 MB per vecka.

2 000 × 5 MB = 10 000 MB ≈ 10 GB per vecka
10 GB × 52 ≈ 520 GB per år

Sedan behövs marginal för säkerhetskopior, metadata och tillväxt.

Serverbelastning

Genomsnitt döljer toppar

1 000 besök jämnt fördelade över ett dygn kan verka enkelt.

Om 600 besök sker under samma tio minuter blir kravet helt annorlunda.

Dimensionera efter relevanta toppar – inte bara dygnsmedel.

Exempel · Unity

Dimensionera för spelarens dator

  • grafikens detaljnivå och upplösning
  • processorbelastning
  • arbetsminne och grafikminne
  • antal objekt och fysikberäkningar

Ett spel som bara fungerar på utvecklarens dator är inte färdigbedömt.

Rimlighetsbedömning

Ställ frågor till resultatet

  • Är storleksordningen rimlig?
  • Är enheterna korrekta?
  • Vilka antaganden styr resultatet?
  • Har något viktigt utelämnats?
  • Stämmer resultatet med mätningar eller liknande system?

Snabb kontroll

Överslagsräkning hittar stora fel

Exakt beräkning: 487 användare × 3,8 MB = 1 850,6 MB.

Överslag: 500 × 4 MB = 2 000 MB.

Resultaten ligger nära varandra. Storleksordningen verkar rimlig.

Om den exakta beräkningen i stället gav 20 MB skulle något sannolikt vara fel.

Interaktivt beslut

Är påståendet rimligt?

”Den billigaste servern klarar säkert hundratusen samtidiga användare.”

Modell + beräkning + test

Tre underlag för beslut

Modell beskriver systemet+Beräkning uppskattar behovet+Test mäter verkligt beteende

Ingen del räcker alltid ensam. Tillsammans ger de ett starkare beslutsunderlag.

Praktisk övning

Dimensionera en digital tjänst

  1. Beskriv systemet med en enkel modell.
  2. Formulera antaganden om användning.
  3. Beräkna trafik eller lagringsbehov.
  4. Lägg till rimlig reservkapacitet.
  5. Gör en överslagskontroll.
  6. Beskriv vilket test som kan bekräfta beräkningen.

Exit ticket

Tre frågor

  1. Vad skiljer en teori från en modell?
  2. Varför måste topplast ingå i dimensioneringen?
  3. Hur kan en överslagsräkning avslöja ett orimligt resultat?

Sammanfattning

Kom ihåg

  • Begrepp gör tekniska resonemang precisa.
  • Teorier förklarar och modeller förenklar.
  • Dimensionering anpassar kapacitet till verkliga behov.
  • Beräkningar kräver tydliga antaganden och korrekta enheter.
  • Rimlighet kontrolleras med överslag, jämförelser och tester.