2 dagar
Om kursen
Objektorientering är idag ett etablerat sätt att modellera och utveckla system som ska vara lättare att underhålla och förändra, eftersom systemen byggs för att spegla en modell av verkligheten. Det objektorienterade synsättet ligger till grund för ett stort antal systemutvecklingsmetoder och programspråk, men för att lyckas med dem krävs en grundförståelse för det objektorienterade synsättet. Syftet med den här kursen är att ge den grunden.
Objektorientering
Kursen beskriver det objektorienterade synsättet och presenterar den terminologi som används inom objektorientering. Vi visar hur objektorientering påverkar de olika faserna i systemutveckling, men tonvikten är hela tiden lagd på att lära ut de generella idéerna och principerna. Kursen lär inte ut specifika systemutvecklingsmetoder, notationer eller programspråk. Däremot ges konkreta exempel för att åskådliggöra hur teorin omsätts i praktiken.
Kursen är riktad till alla som vill bekanta sig med idéer och terminologi inom objektorientering. Den är ett lämpligt första steg för alla som senare ska lära sig en objektorienterad systemutvecklingsmetod eller ett objektorienterat programspråk.
Innehåll
Det objektorienterade synsättet
- Behovet av nya synsätt
- Objektorientering
- Historik
- Objekt
- Objekten modellerar verkligheten
- Ett objekt per företeelse
- Livscykeln för ett objekt
- Objektets beståndsdelar
- Inkapsling
- Tjänster och meddelanden
- Privata data och metoder
- Händelsestyrning
- Objektreferenser mellan objekt
- Objektorienterad programmering
Objektorienterad analys
- Objektmodeller
- Hur hittar vi objekten?
- Relationer mellan objekt
- Attribut hos objekt
- Hur hittar vi tjänsterna?
- Placering av tjänster hos objekt
Klasser
- Att hantera många objekt
- Kategorier av objekt
- Krav för att bilda en klass
- Objektidentitet
- Måste vi använda klasser?
- Objekt i ett exekverande system
- Klasser och instanser
- Klasser i objektorienterad programmering
- Att skapa och initiera objekt
- Självreferens
- Klassdata och klasstjänster
Objektorienterad design
- Utbyggnad av objektmodellen
- Att identifiera och namnge klasser
- Klassbeskrivningar
- Sekvensdiagram
Arv
- Arvsrelationer mellan klasser
- Över- och underklasser
- Krav för att utnyttja arv
- Arv beskriver specialisering
- Polymorfism
- Dynamisk bindning
- Ersättning av metoder
- Hur metoder väljs under exekvering
- Enkelt och flerfaldigt arv
- Abstrakta klasser
Stödet för objektorientering
- Objektorienterade programspråk
- Klassbibliotek
- Ramverk
- Designmönster
- UML (Unified Modeling Language)
- Objektorienterade utvecklingsverktyg
- Lagring av objekt i databaser
- Industrisamarbete
- Att komma igång med objektorientering
Mål
Du ska förstå det objektorienterade synsättet och hur det påverkar olika faser inom systemutveckling. Du ska känna till den centrala terminologin inom objektorientering.
Målgrupp
Kursen är riktad till alla som vill bekanta sig med idéer och terminologi inom objektorientering. Kursen riktar sig i första hand till systemutvecklare men kan även vara till nytta för dem som inte själva arbetar aktivt med systemutveckling.
Förkunskaper
Det krävs inga specifika förkunskaper inom systemutvecklingsmetoder eller programmering för att delta i kursen. En allmän orientering om vanligt förekommande problem inom traditionell systemutveckling är en fördel.
Beskrivning
Kursen presenterar det objektorienterade synsättet och centrala termer inom objektorientering. Teori varvas med praktiska övningar i objektorienterat tänkande.
Kursmaterial
- Egenproducerad kurspärm (vi tillhandahåller ett provavsnitt)
Kurslängd
Två dagar.