Prestanda i mjukvarusystem
I stora och långlivade projekt är det vanligt att man upplever problem med prestanda och skalbarhet. Den här kursen lär ut allt du behöver vet om dessa områden. Vi lär ut allt från hur man bör tänka i kravfasen till hur man åtgärdar befintliga system med stora brister i prestanda och skalbarhet. Förutom att gå igenom teorin så arbetar vi tillsammans med att applicera kunskaperna på ert projekt.
Målgrupp
Utbildningen vänder sig till arkitekter, utvecklare, testare, projektledare och övriga som vill ha förståelse för prestanda och skalbarhet ur ett utvecklingsperspektiv. Bäst är om kursen genomförs i ett befintiligt projekt, så att innehållet kan anpassas efter er situation och era behov.
Mål
Efter att ha gått kursen har du fått en övergripande kunskap om prestanda och varför program har problem med prestanda och skalbarhet. Du har lärt dig:
- Hur man arbetar med prestanda i alla projektfaser.
- Hur datorhårdvara påverkar prestanda.
- Förstå vilka påståenden om prestanda som är sanna och vad som bara är myter.
- Hur last från många samtidiga användare påverkar prestanda och skalbarhet.
- Vad som gör program långsamma och hur vi åtgärdar dessa problem.
- Förutse prestandan i ett program innan koden är skriven.
- Hur arkitektur och design skall göras för att slutresultatet skall få bra prestanda.
Bakgrundskunskaper
Deltagarna förväntas ha grundläggande kännedom om mjukvaruutveckling och gärna erfarenhet från utveckling av minst ett system med problem i prestanda eller skalbarhet.
Språk
Utbildningsmaterialet är skrivet på svenska. Utbildningen genomförs på svenska.
Kurslängd
Kursen genomförs under två dagar. Första dagen går vi igenom teori, där första halvdagen är generellt hållen och andra delen inriktad på de tekniska delarna. Andra dagen tillämpas teorin och viss kompletterande teori gås igenom.
Innehåll
I kursen går vi igenom:
Del 1: Övergripande, förväntningar, generellt, processer
- Introduktion
- Kursmål
- Deltagarnas förväntningar som grupp på kursen
- Kursöversikt
- Två huvudscenarion
- Övergripande prestanda för alla
- Kostnader för prestanda
- Upplevd prestanda
- Ideala testförhållanden
- Prestandakrav
- Prestanda test - och verifieringsprocess
- Förväntad prestandaökning
- Skalbarhetsökning
- Hårdvaruutveckling
- Dagens hårdvara
- Framtidens hårdvara
- Flera saker samtidigt
- Trådar vs kärnor
- Prestandaförbättring 10 år
- Förstå vad som tar lång tid
- Förutse prestanda innan vi skrivit en kodrad
- Prestandamyter
- Bra prestanda
- Läsbarhet
- Vad skall åtgärdas och vad låter vi vara?
- Hur åtgärdar vi långsamma program?
- Mönster
- Databaser och dataströmmar
- Last med många samtidiga användare
- Komplexa system och tidmätning
- Java-specifik prestanda
- Minneshantering
- Extra material
- Genomgång av prestandamål och nuläge
- Systemets arkitektur
- Kända problemområden
- Mätmöjligheter och nuvarande mätresultat
- Analys av befintlig data
- Slutsatser från analysen
- Definiera åtgärder som bör påbörjas omgående
- Definiera vilka ytterligare mätningar som behövs
- Diskussion om hinder för att komma vidare
- Analys av programkod om det anses relevant
- Upprätta plan för fortsatt prestandaarbete
Mer information
För mer information kontakta Åsa Detterfelt, 070-659 58 12, alternativt maila asa.detterfelt@mindroad.se.