Objektorienterad analys och design

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "Objektorienterad analys och design"

Transkript

1 Objektorienterad analys och design Objektorienterad analys och design 1

2 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade strukturer Bra design Objektorienterad analys och design 2

3 Motivation och bakgrund Antag att vi vill göra spelet Pong i C. Hur skulle ni göra? Vad skulle ni börja med? Hur många saker måste vi hålla reda på? Objektorienterad analys och design 3

4 Motivation och bakgrund (forts.) Ett kanske inte helt komplett(?) förslag på data för Pong: left_paddle_y, right_paddle_y, paddle_width, paddle_length ball_x, ball_y, ball_xspeed, ball_yspeed, ball_size upper_wall_y, lower_wall_y left_score, right_score Objektorienterad analys och design 4

5 Motivation och bakgrund (forts.) Pong är rätt simpelt (det kom ju redan på 70-talet). Antag att vi istället vill göra spelet World of Warcraft a. Hur ska vi ta hand om alla karaktärer? Hur många siffror måste vi hålla reda på? Kan vi göra på samma sätt som med Pong? a Bilden tagen från tillverkarens hemsida. Objektorienterad analys och design 5

6 Motivation och bakgrund (forts.) Ju mer information vi måste hålla reda på, desto mer vill vi dela in den i logiska och sammanhängande bitar (begreppet chunks kanske känns igen från kognitionsvetenskapen). Objektorienterad programmering handlar om att hitta lämpliga chunks och göra klasser av dem. Då blir till och med World of Warcraft enkelt att programmera... Objektorienterad analys och design 6

7 Analys Vi vill veta vad det är för data som systemet egentligen behandlar, och hur vi kan dela upp det i vettiga bitar. Vi skapar oss en modell. Hitta klasser vilka data behandlar systemet? Hitta händelser vad görs med klasserna? Tänk på vad som är viktigt ur systemets perspektiv! Objektorienterad analys och design 7

8 Hitta klasser Analysera problemområdet kravspecifikation I kravspecifikationen, hitta lämpliga artefakter (klasskandidater) En primitiv och ofta lämplig metod är att leta efter substantiv Objektorienterad analys och design 8

9 Hitta klasser (exempel) Resebyrån X vill beställa ett nytt system för bokning av resepaket (flygresa och hotellvistelse). Kunderna skall kunna boka resor, och systemet skall kunna ta betalt. Det finns hotell över hela Europa, främst i Spanien och dess öar. Kunderna skall kunna utvärdera resan när de kommit hem, och alla data om en kund (namn, tidigare resor, adress, etc.) skall sparas i systemet. Objektorienterad analys och design 9

10 Hitta klasser (exempel, forts.) Resebyrån X vill beställa ett nytt system för bokning av resepaket (flygresa och hotellvistelse). Kunderna skall kunna boka resor, och systemet skall kunna ta betalt. Det finns hotell över hela Europa, främst i Spanien och dess öar. Kunderna skall kunna utvärdera resan när de kommit hem, och alla data om en kund (namn, tidigare resor, adress, etc.) skall sparas i systemet. Objektorienterad analys och design 10

11 Några klasskandidater: Resepaket Flygresa Hotellvistelse Kund Betalning Hotell Utvärdering Datalagring Hitta klasser (exempel, forts.) Objektorienterad analys och design 11

12 Hitta händelser Vi vill veta vad som skall hända med datan i systemet. Hur påverkar klasserna varandra? I kravspecifikationen och med hjälp av klasskandidaterna, hitta hur artefakterna påverkar varandra Objektorienterad analys och design 12

13 Hitta händelser (exempel) Resebyrån X vill beställa ett nytt system för bokning av resepaket (flygresa och hotellvistelse). Kunderna skall kunna boka resor, och systemet skall kunna ta betalt. Det finns hotell över hela Europa, främst i Spanien och dess öar. Kunderna skall kunna utvärdera resan när de kommit hem, och alla data om en kund (namn, tidigare resor, adress, etc.) skall sparas i systemet. Objektorienterad analys och design 13

14 Hitta händelser (exempel, forts.) Resebyrån X vill beställa ett nytt system för bokning av resepaket (flygresa och hotellvistelse). Kunderna skall kunna boka resor, och systemet skall kunna ta betalt. Det finns hotell över hela Europa, främst i Spanien och dess öar. Kunderna skall kunna utvärdera resan när de kommit hem, och alla data om en kund (namn, tidigare resor, adress, etc.) skall sparas i systemet. Objektorienterad analys och design 14

15 Hitta händelser (exempel, forts.) Den ytterst knappa beskrivningen av systemet har gett oss följande händelser: Boka resa (Kund) Ta betalt (Betalning) Utvärdera resa (Kund) Spara kunddata (Kund, Datalagring) Vi kan tänka oss många fler (registrera kund, söka resa, visa information, etc.), men det här räcker för tillfället! Objektorienterad analys och design 15

16 Funktioner Ett konkretare sätt att se på händelserna vi just tagit fram, fokus ligger på information och dess behandling. Typer av funktioner Händelser består av många funktioner Objektorienterad analys och design 16

17 Typer av funktioner Uppdateringsfunktioner förändrar modellens tillstånd Signalleringsfunktioner modellen upplyser omgivningen om någon form av förändring av dess tillstånd Avläsningsfunktioner en aktör begär information om modellen Beräkningsfunktioner utför en beräkning för att leverera information till någon aktör Objektorienterad analys och design 17

18 Händelser består av många funktioner Alla händelser är en sekvens av någon eller några av de fyra funktionstyperna! En vettig klass tillhandahåller oss med en relevant uppsättning funktioner (som dock i objektorienterade språk brukar kallas metoder) Objektorienterad analys och design 18

19 Händelser och funktioner, exempel Händelse: Boka en resa. Funktioner: Hitta en lämplig ledig resa (avläsning) Välja resa för bokning (signallering) Avgöra totalkostnad för resa (beräkning) Markera resa som bokad (uppdatering) Informera om framgångsrik bokning (signallering) Objektorienterad analys och design 19

20 Efter rasten Använda vår analys för att skapa en design Skapa klasser med metoder Relatera klasserna till varandra med arv Visa sammansättning av klasser Visa beroenden mellan klasser Få några tips om hur man skapar bra design (fler kommer på föreläsningen om programvarukonstruktion, F12) Objektorienterad analys och design 20

21 Objektorienterade strukturer När vi har hittat lämpliga klasskandidater och bestämt vilka av dem som skall ingå i modellen, skall vi relatera dem till varandra på något sätt. Det finns olika typer av relationer, dessa är: Mellan klasser: Generalisering (Arv) en klass är en typ av en annan Kluster relaterade klasser samlas i grupp Mellan objekt: Aggregat ett objekt består av ett eller flera delobjekt Association en meningsfull relation mellan objekt Objektorienterad analys och design 21

22 Unified Modelling Language Unified Modelling Language (UML) är en notation (skrivsätt) för att uttrycka objektorienterad design. Det är inte bundet till något speciellt programspråk. Det är en allmänt vedertagen standard, och vi kommer att använda den under kursens gång. Alla kommande exempel är i UML-notation. Objektorienterad analys och design 22

23 Generalisering En generell klass (superklassen) beskriver egenskaper gemensamma för en mängd specialiserade klasser (subklasser). Exempel: Objektorienterad analys och design 23

24 Generalisering (forts.) Ofta är superklassen i sig inte meningsfull för systemet finns det något generellt däggdjur ute i naturen? Sådana klasser kallas för abstrakta klasser och inga objekt kan skapas från dem. De skrivs kursiverat, som i följande exempel: Objektorienterad analys och design 24

25 Kluster Stora system med många klasser delas upp i kluster, där varje kluster är en samling av relaterade klasser. I Java kallas kluster för paket. Exempel: Objektorienterad analys och design 25

26 Kardinalitet För relationer mellan objekt, måste vi ange hur många som ingår i relationen. Detta anges på följande vis: a..b Mellan minst a och maximalt b stycken objekt a.. Minst a stycken objekt ( betyder många ) a Förkortat skrivsätt för a..a Förkortat skrivsätt för 0.. Om vi inte anger någon kardinalitet antas den vara 1 (alltså 1..1). Objektorienterad analys och design 26

27 Aggregat Ett överordnat objekt (helheten) består av ett antal andra objekt (delarna). Exempel (lägg märke till kardinalitetssiffrorna och var de står): Objektorienterad analys och design 27

28 Aggregat (forts.) En speciell typ av aggregat är komposition. Den innebär samma sak som aggregatrelationen, med tillägg av att det överordnade objektet inte kan existera utan delobjekten. Finns konceptet schackbräde om vi inte har schackrutorna? Objektorienterad analys och design 28

29 Association En meningsfull relation mellan ett antal objekt. Används för att uttrycka att objekt av en klass påverkar objekt av en annan klass på något sätt. Exempel: Objektorienterad analys och design 29

30 Exempel Låt oss uttrycka följande i UML-notation: En student läser kurser vid datavetenskapliga institutionen. En kurs består av ett teorimoment och eventuellt ett praktiskt moment. Båda momenten betygsätts. Studentens slutgiltiga betyg är det sammanlagda betyget från momenten. Det praktiska momentet består i sin tur av ett antal laborationer (minst en). På kursen är såväl lärare som handledare anställda. Båda rättar laborationer. En kurs har en tentamen (ingår i det teoretiska momentet), som rättas av läraren. Objektorienterad analys och design 30

31 Exempel (forts.) Objektorienterad analys och design 31

32 Bra design Vad kännetecknar bra design? Vettig abstraktionsnivå Lös coupling klasserna är självständiga Hög cohesion klasserna är väl sammansatta internt Objektorienterad analys och design 32

33 Vettig abstraktionsnivå Beroende på hur systemet ser ut och vad det skall klara av är olika abstraktionsnivå nödvändig. Är en stol bara en stol, eller är den sammansättningen av ett till flera ben, en sittdyna och noll till ett ryggstöd (och skruvar där det verkar lämpligt)? I ett lagersystem för en möbelfirma kanske det senare, men i ett lagersystem för ett kontor kanske det första. Objektorienterad analys och design 33

34 Coupling Coupling (slående likt svenskans koppling ) är ett mått på hur tätt integrerade två komponenter eller klasser av ett system är. Hög coupling innebär att komponenterna är väldigt beroende av varandras inre struktur. Låg coupling (eftersträvansvärt) innebär att komponenterna inte vet något om hur de andra fungerar internt, men att de samarbetar via att skicka meddelanden till varandra. Hög coupling innebär att om man ändrar en av komponenterna så måste de andra komponenterna också eventuellt ändras. Med många komponenter blir det väldigt mycket extra jobb! Objektorienterad analys och design 34

35 Cohesion Cohesion är ett mått på hur väl funktionerna i en komponent eller klass är sammansatta. Låg cohesion innebär att funktionerna i stort sett bara av ren slump finns i en komponent. Exempel: en klass som kan räkna ut primtal, ta reda på vädret i Umeå och kolla kvällens TV-program. Hög cohesion innebär att funktionerna i komponenten är mycket relaterade till att lösa komponentens uppgift. Exempel: en klass som representerar en triangel, med funktioner för att räkna ut dess area, rita upp den i en bild, ändra färg för uppritning och så vidare. Objektorienterad analys och design 35

Objektorientering. Grunderna i OO

Objektorientering. Grunderna i OO Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys

Läs mer

Objektorienterad konstruktion

Objektorienterad konstruktion Analys - Objektorienterad konstruktion Vad är objektorientering?» Ett sätt att angripa programmeringsproblem» Ett sätt att tänka när man programmerar Vad innebär objektorientering?» Att uppmärksamheten

Läs mer

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

Objektorienterad Systemutveckling 1 (7,5 hp)

Objektorienterad Systemutveckling 1 (7,5 hp) [ sida 1 ] Objektorienterad Systemutveckling 1 (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21OB1B ASYST13h, NGIMI13h, ADAEK13h Datum och tid: 2015-01-14, kl. 09.00 13.00 Hjälpmedel:

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016 Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

Objektorientering Klasser

Objektorientering Klasser Objektorientering Klasser VSA110 1 OOA I analysen upprättas: Klassdiagram Objektdiagram Tillståndsdiagram Scenario Användningsfall Sekvensdiagram Användardialoger (skärmbilder) 2 Analys - en översikt Vi

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Objektorientering Användning

Objektorientering Användning Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering

Läs mer

Lite om databasdesign och modellering

Lite om databasdesign och modellering Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen

Läs mer

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language Ett modelleringsspråk : Exempel Fönster Klassnamn Unified Modelling Language Av Booch, Jacobson, Rumbaugh Exempel: En klass position storlek Attribut (instansvariaböe) Resultatet av en sammanslagning av

Läs mer

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim  Agenda (halvdag) Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer

Läs mer

Kursplanering Objektorienterad programmering

Kursplanering Objektorienterad programmering Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund

Läs mer

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign

Läs mer

Högskolepedagogisk utbildning-modul 3-perspektivkurs nov 2004

Högskolepedagogisk utbildning-modul 3-perspektivkurs nov 2004 Genus och programmering av Kristina von Hausswolff Inledning Under läsåret 3/ var jag med i ett projekt om Genus och datavetenskap lett av Carin Dackman och Christina Björkman. Under samma tid, våren,

Läs mer

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 17 juni 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Unified Modelling Language Grafiskt modelleringsspråk för att beskriva olika aspekter av objektorienterade system. Vi kommer

Läs mer

Målen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1

Målen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1 Objektorienterad programmering Vi började med att programmera i main, sedan gick vi vidare till flera metoder i en klass. Nu är det dags för flera klasser. Objektorienterad programmering Relationer mellan

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (18 januari 2015 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna, Carl, Johan, Tom och ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer Kursmaterial

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14 Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 14 I torsdags & fredags: arrayer Deklaration, initiering, åtkomst Arrayer är referenser Arrayer som parametrar och returvärden Exempel

Läs mer

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha? Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet

Läs mer

Teoridel (svaren direkt på lydelsen)

Teoridel (svaren direkt på lydelsen) NADA, KTH 2D359 & 2D360 999-0-23 Sid () Tentamen i 2D359 & 2D360 Objektorienterad modellering programmering och analys Lördag den 23 oktober 999 kl. 4-9 MED KORTA LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna.

Läs mer

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik UML 1(5) Introduktion till Unified Modeling Language 1 Bakgrund och historik UML är ett objektorienterat modellspråk för att specificera och visualisera system. Det är framtaget i första hand för IT-orienterade

Läs mer

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

Läs mer

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... }

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... } Föreläsning 3 Arv Kategorisering Stora program leder till många klasser (tänk liknelsen med en affär med många varor). Att dela in saker i kategorier är en vanlig strategi för att hantera stora komplexa

Läs mer

Datavetenskapligt program, 180 högskolepoäng

Datavetenskapligt program, 180 högskolepoäng GÖTEBORGS UNIVERSITET UTBILDNINGSPLAN IT-fakultetsstyrelsen 2013-02-14 Datavetenskapligt program, 180 högskolepoäng (Computer Science, Bachelor s Programme, 180 credits) Grundnivå/First level 1. Fastställande

Läs mer

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning 2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten

Läs mer

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Vad gör vi här? Programmeringsteknik fördjupningskurs (EDAA01; 7,5hp) Valfri för F, N & BME (kan läsas från åk 2 eller i sommar!) Avancerad

Läs mer

Välkomna till kursen i grundläggande programmering DVGA08, ISGA04

Välkomna till kursen i grundläggande programmering DVGA08, ISGA04 Välkomna till kursen i grundläggande programmering DVGA08, ISGA04 Presentation av personal på kursen Kerstin Andersson lärare i datavetenskap Johan Öfverberg lärare i informatik Inger Bran kurssekreterare

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (16 januari 2016 F1.1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna Eckerdal och Tom Smedsaas samt ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer

Läs mer

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen (17 januari 2017 F1 1 ) Föreläsning 1: Introduktion till kursen Lärare: Anna Eckerdal och Tom Smedsaas samt ca 20 assistenter Registrering / avregistrering Undervisningsformer: föreläsningar och laborationer

Läs mer

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Armin Nezirevic Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Vad utmärker ett bra användargränssnitt? Kort kursinfo

Läs mer

Föreläsning 13 Innehåll

Föreläsning 13 Innehåll Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?

Läs mer

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015 Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation

Läs mer

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul Föreläsning 8 Programmeringsteknik och Matlab DD1312 er, Self Metoderna:, av metoder, Det är en metod som tillhör klassen och inte objektet. class Skylt(object): antal=0 def init (,r):.reklam=r def antal():

Läs mer

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20. Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:

Läs mer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

Imperativ programmering. Föreläsning 4

Imperativ programmering. Föreläsning 4 Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering

Läs mer

Relationer mellan objekt

Relationer mellan objekt Relationer mellan objekt Att utveckla en applikation När man utvecklar en applikation börjar man självklart inte direkt att programmera. Först måste man analysera problemet och utveckla en design för lösningen.

Läs mer

EDAA01 Programmeringsteknik - fördjupningskurs

EDAA01 Programmeringsteknik - fördjupningskurs EDAA01 Programmeringsteknik - fördjupningskurs Läsperiod lp 1+2 (Ges även lp 3) 7.5 hp anna.axelsson@cs.lth.se sandra.nilsson@cs.lth.se http://cs.lth.se/edaa01ht Förkunskapskrav: Godkänd på obligatoriska

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta

Läs mer

Design och konstruktion av grafiska gränssnitt

Design och konstruktion av grafiska gränssnitt Design och konstruktion av grafiska gränssnitt Peter Börjesson Interaktionsdesign Tillämpad informationsteknologi Chalmers/GU Idag Kort kursinfo Lab info Föreläsning - Vad utmärker ett bra användargränssnitt?

Läs mer

Distanskursen objektorienterad programmering med Java

Distanskursen objektorienterad programmering med Java Distanskursen objektorienterad programmering med Java Sven-Olof Nyström Uppsala Universitet 11 mars 2005 1 Idag Praktiska detaljer Allmänt om kursen Planering i stort Lite om Java 2 Registrering Registrera

Läs mer

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a. Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel

Läs mer

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP) Tentamen INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP) Delkurs 3 Introduktion till objektorienterad programmering och problemlösning Lärare: Johan Petersson, Tanja Mäki-Runsas Datum:

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer

TDIU01 (725G67) - Programmering i C++, grundkurs

TDIU01 (725G67) - Programmering i C++, grundkurs TDIU01 (725G67) - Programmering i C++, grundkurs Introduktion till kursen och programmering Eric Elfving Institutionen för datavetenskap 2 september 2014 Översikt Kursinformation Personal Kursmål Upplägg

Läs mer

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/ Exempel: Implementation av Schackpjäser.

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/ Exempel: Implementation av Schackpjäser. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/4 2014 Innehåll Abstrakta klasser Klasshierarki och typhierarki Polymorfism och dynamisk bindning Polymorfi-exempel: Schack UML-översikt

Läs mer

Handläggningsordning för tillgodoräknande på grund- och avancerad nivå

Handläggningsordning för tillgodoräknande på grund- och avancerad nivå Handläggningsordning för tillgodoräknande på grund- och avancerad nivå Fastställd av rektor 2015-06-23 Dnr: FS 1.1 501-15 Denna handläggningsordning ersätter tidigare fastställd handläggningsordning dnr:

Läs mer

Hur jag lärde mig att älska Datavetenskap

Hur jag lärde mig att älska Datavetenskap Hur jag lärde mig att älska Datavetenskap Vad tänker ni på just nu? Vad tänker ni på just nu? Är det svårt? Vad tänker ni på just nu? Är det svårt? Det bestämmer du! Vad tänker ni på just nu? Är det svårt?

Läs mer

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15 DAVA15 Objekt, klasser Vad är det? Vad är sambandet mellan dem? Vad är skillnaden mellan dem? Tillstånd Signatur Kommunikation Typ Fält, parametrar och lokala variabler Likheter och skillnader Räckvidd

Läs mer

Föreläsning om OO, OOA och UML

Föreläsning om OO, OOA och UML Föreläsning om OO, OOA och UML Modellering Kristian Ekberg Källa bild: video Marie Åsberg, AFA Försäkring Dagens föreläsning Presentation Kristian Ekberg Model och modellering Vad är en modell och vad

Läs mer

Praktikum i programmering

Praktikum i programmering Praktikum i programmering Föreläsning 1 Lärare: Fredrik Degerlund E post: fredrik.degerlund@abo.fi Rum A5051 (denna korridor) Kursens innehåll Att lära sig att programmera moduler som ingår i ett större

Läs mer

Datateknik GR (A), Introduktion till programmering i C++, 7,5 hp

Datateknik GR (A), Introduktion till programmering i C++, 7,5 hp 1 (5) Kursplan för: Datateknik GR (A), Introduktion till programmering i C++, 7,5 hp Computer Engineering BA (A), Introduction to Programming in C++, 7.5 Credits Allmänna data om kursen Kurskod Ämne/huvudområde

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet June 22, 2006 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

729G06 Föreläsning 1 Objektorienterad programmering

729G06 Föreläsning 1 Objektorienterad programmering Översikt Formalia Vad är objektorienterad programmering 729G06 Föreläsning 1 Objektorienterad programmering Definieria klasser Skapa och använda objekt Annika Silvervarg Ciltab, IDA, Linköpings universitet

Läs mer

Poäng. Start v. Applikationsprogramm ering i Python 7.5. Antal registrerade (män/kvinnor) 50 (34/16)

Poäng. Start v. Applikationsprogramm ering i Python 7.5. Antal registrerade (män/kvinnor) 50 (34/16) TEK/NAT Kursrapport Kurs Kurskod Poäng År Start v. Applikationsprogramm ering i Python 5DA 7.5 215 13 Institution Institutionen för datavetenskap Antal registrerade (män/kvinnor) 5 (34/16) Antal aktiva

Läs mer

Fyra i rad Javaprojekt inom TDDC32

Fyra i rad Javaprojekt inom TDDC32 Fyra i rad Javaprojekt inom TDDC32 Analys och design-dokument Version 2.0 Datum 2008-05-19 Dokumentnummer 20080303 Sammanfattning Detta är analys och design-dokumentet för programmet Fyra i rad. Fyra i

Läs mer

Tentamen: INTE 2011-10-26

Tentamen: INTE 2011-10-26 Tentamen: INTE 2011-10-26 Det enda godkända hjälpmedlet är ett exemplar av den personliga fusklappen som lämnats in som inlämningsuppgift tre på kursen. På nästa sida finns ett utdrag ur instruktionerna

Läs mer

SYSTEMUTVECKLARPROGRAMMET, 120 HÖGSKOLEPOÄNG

SYSTEMUTVECKLARPROGRAMMET, 120 HÖGSKOLEPOÄNG INSTITUTIONEN FÖR EKONOMI, STATISTIK OCH INFORMATIK Utbildningsplan Dnr CF 52-44/2007 Sida 1 (5) SYSTEMUTVECKLARPROGRAMMET, 120 HÖGSKOLEPOÄNG Programme of Systems Development, 120 ECTS Utbildningsprogrammet

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Arv i Python UML-diagram Exempel Vanliga mönster när man designar en klass Namngivning

Läs mer

Kursinformation Grundkurs i programmering med Python

Kursinformation Grundkurs i programmering med Python Hösten 2009 Två kurser i en 5DV105 - Programmeringsteknik med Python och MATLAB Programmeringsteori Föreläsningar om Python Färdighetsövning Laborationer i Python 5DV106 - Programmering i Python Praktisk

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016 Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 3 Objektorienterad programmering i Java I Uppgifter: 1 Beräknad tid: ca 3-6 timmar Att läsa: sidan 150,151, 170-174, 200, 201 (arv) sidan 178-179, 360 (abstrakta klasser, metoder) + utdelat

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

WEBBSERVERPROGRAMMERING

WEBBSERVERPROGRAMMERING WEBBSERVERPROGRAMMERING Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets syfte Undervisningen i ämnet

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Instansiering Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Tidshantering. Effektiva studievanor och aktivt lärande

Tidshantering. Effektiva studievanor och aktivt lärande Tidshantering Effektiva studievanor och aktivt lärande Effektiva studier/aktivt lärande Planering Terminsplanering Läsperiodplanering Veckoplanering Att göra-listor Resurser 50 h/vecka = 25 h/kurs Tidshantering

Läs mer

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser.

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/3 2017 Innehåll Abstrakta klasser Klasshierarki och typhierarki Polymorfism och dynamisk bindning Polymorfi-exempel: Schack Klassen Object

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Introduktion HT2 Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Kursens innehåll. Kursens genomförande. Kursens examination. Färdighet och förmåga. Värderingsförmåga och förhållningssätt

Kursens innehåll. Kursens genomförande. Kursens examination. Färdighet och förmåga. Värderingsförmåga och förhållningssätt Ekonomihögskolan INFC55, Informatik: Webbutveckling, 7,5 högskolepoäng Informatics: Web Development, 7.5 credits Grundnivå / First Cycle Fastställande Kursplanen är fastställd av Institutionsstyrelsen

Läs mer

Fakulteten för ekonomi, kommunikation och IT. Utbildningsplan. Högskoleingenjörsprogrammet i datateknik TGDDI

Fakulteten för ekonomi, kommunikation och IT. Utbildningsplan. Högskoleingenjörsprogrammet i datateknik TGDDI Fakulteten för ekonomi, kommunikation och IT Utbildningsplan Högskoleingenjörsprogrammet i datateknik Programkod: Programmets benämning: Inriktningar: TGDDI Högskoleingenjörsprogrammet i datateknik Study

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

Inst. för IT / MDI, Stefan Blomkvist 2003-11-21 Användarcentrerad systemdesign, ht03 Inlämningsuppgift 2

Inst. för IT / MDI, Stefan Blomkvist 2003-11-21 Användarcentrerad systemdesign, ht03 Inlämningsuppgift 2 Inst. för IT / MDI, Stefan Blomkvist 2003-11-21 Användarcentrerad systemdesign, ht03 Inlämningsuppgift 2 Kommentarer på inlupp 2 Användningsfall Här kommer några allmänna kommentarer på inlupp 2. /Stefan

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 4 Objektorienterad programmering i Java I Uppgifter: 1 Beräknad tid: 6 9 timmar Att läsa: Kapitel 7, 8 (stränghantering, arrayer och Vector) Utdelat material (paket) Syfte: Att kunna använda

Läs mer

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15

Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15 Kurs-PM fo r HI1027, Objektorienterad programmering, period 1 HT15 Aktuell kursplan finns på studentwebben, http://www.kth.se/student/kurser/kurs/hi1027. Lärare och examinator Anders Lindström, anders.lindstrom@sth.kth.se,

Läs mer

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

Läs mer

CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING

CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING Lokal examensbeskrivning Dnr: 541-2072-10 Sid 1 (5) CIVILINGENJÖRSEXAMEN MASTER OF SCIENCE IN ENGINEERING INRIKTNING: TEKNISK DATAVETENSKAP SPECIALISATION: COMPUTING SCIENCE AND ENGINEERING 1 Fastställande

Läs mer

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se

Läs mer

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G91/2 Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Ett större exempel på OOP Objektorienterad Analys (OOA)

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

Utbildningsplan Dnr CF 52-66/2007. Sida 1 (7)

Utbildningsplan Dnr CF 52-66/2007. Sida 1 (7) Utbildningsplan Dnr CF 52-66/2007 Sida 1 (7) PROGRAMMET FÖR SIMULERING OCH DATASPELSUTVECKLING, 180 HÖGSKOLEPOÄNG Programme in Simulation and Computer Game Development, 180 ECTS Utbildningsplanen är inrättad

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

Introduktion - Metodik i Produktutveckling

Introduktion - Metodik i Produktutveckling Introduktion - Metodik i Produktutveckling Innehåll i denna föreläsning Allmänt om kursen Produktutvecklingsprocessen Behovet av samarbete vid PU Olika aktörer i PU-processen Kursens mål Efter godkänd

Läs mer

Välkomna till DIT012 IPGO

Välkomna till DIT012 IPGO Välkomna till DIT012 IPGO 1 Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare Joachim von Hacht, hajo@chalmers.se, 772 1003 Handledare (se även kurssida) Alexander Sjösten, sjosten@chalmers.se

Läs mer

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1

Läs mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt

Läs mer

Concept Selection Chaper 7

Concept Selection Chaper 7 Akademin för Innovation, Design och Teknik Concept Selection Chaper 7 KPP306 Produkt och processutveckling Grupp 2 Johannes Carlem Daniel Nordin Tommie Olsson 2012 02 28 Handledare: Rolf Lövgren Inledning

Läs mer

Hisspresentation av programdesign Projektplan: Kommunikation i teknisk utbildning,

Hisspresentation av programdesign Projektplan: Kommunikation i teknisk utbildning, Hisspresentation av programdesign Projektplan: Kommunikation i teknisk utbildning, 2014-2015 Ulf Asklund, Datavetenskap 1. Mål Inom ramen för kursen förbättra studenternas skriftliga och muntliga förmåga

Läs mer

Föreläsning 1, vecka 6: Abstraktion genom objektorientering

Föreläsning 1, vecka 6: Abstraktion genom objektorientering TDA 548: Grundläggande Programvaruutveckling Föreläsning 1, vecka 6: Abstraktion genom objektorientering Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Hur skulle ni implementera detta? (3D demo) Vi återkommer

Läs mer

FÖRETAGSEKONOMISKA INSTITUTIONEN

FÖRETAGSEKONOMISKA INSTITUTIONEN FÖRETAGSEKONOMISKA INSTITUTIONEN FEG30L Företagets logistikfunktion, kandidatkurs, 15 högskolepoäng Business Logistics, Bachelor Course, Fastställande Kursplanen är fastställd av Handelshögskolans fakultetsnämnd

Läs mer