DVGB05 Grafiska användargränssnitt. Mjukvarudesign med Model-View-Controller

Storlek: px
Starta visningen från sidan:

Download "DVGB05 Grafiska användargränssnitt. Mjukvarudesign med Model-View-Controller"

Transkript

1 DVGB05 Grafiska användargränssnitt Mjukvarudesign med Model-View-Controller

2 Skärmbildsinvarianter Studera bilden Anteckna vilka regler som gäller för visning av verktygen Dessa regler måste upprätthållas av programmet 2

3 Skärmbildsinvarianter Stängd dörr får inte stängas Knappen Stäng dörr inaktiveras vid stängd dörr Annars är knappen Stäng dörr aktiv Öppen dörr får inte öppnas Knappen Öppna dörr inaktiveras vid stängd dörr Annars är knappen Öppna dörr aktiv Rullningslisten ska alltid visa dörrens läge Rullningslisten får inte dras medan dörren rör sig Radioknapparna ska alltid återspegla dörren Stängd/Öppen intryckt dörren är stängd resp. öppen Stängs/Öppnas intryckt dörren är i angiven rörelse 3

4 Skärmbildsinvarianter Regler för GUI - skärmbildsinvarianter Stängd/öppen dörr får inte stängas/öppnas Stängd/öppen dörr ska återspeglas i radioknapparna 4

5 Invarianter och kopplingsgraf Kopplingsgrafen visar beroenden mellan programdelarna En riktad graf mellan påverkande och påverkade noder Engelsk term: Connectivity Graph Invarianterna måste upprätthållas Av alla operationer som kan påverka dem Stäng dörr Passivera Stäng Aktivera Öppna Tryck in Stängd Öppna dörr Motsvarande 5

6 Invarianter och kopplingsgraf Kopplingsgrafen visar beroenden mellan programdelarna En riktad kant mellan påverkande och påverkad nod Invarianterna måste upprätthållas Av alla operationer som kan påverka dem Stäng dörr dimma ner Passivera Stäng Stäng dörr Öppna dörr Aktivera Öppna aktivera Tryck in Stängd aktivera aktivera Öppna dörr Motsvarande Ej hållbar lösning Stängd Öppen se grafen Stäng dörr dimma ner 6

7 Tolkning av kopplingsgrafen Kopplingsgrafen visar hur en programvarudel (nod) påverkar och påverkas av andra noder Varje sådant beroende skapar en oönskad koppling Gör det svårare att konstruera lösningen, varje dels uppgift är beroende av andra delar, det kan bli svårt att dra ansvarsgränser förstå lösningen, förståelsen av en del är kopplad till förståelse av andra delar förändra, en förändring griper in på flera stället Önskar lösningar med få kopplingar helst inte kopplingar kors och tvärs kan skapas genom modularitet 7

8 Kopplingsgrad Kopplingsgraden g k definieras som antalet riktade kanter / antalet noder g k = k / n Kopplingsgraden i exemplet är g k = 8 / 4 = 2, (15/5 = 3) Kopplingsgraden är ett uttryck för komplexitet Om många delar är logiskt beroende av många andra Hög kopplingsgrad tyder på spagetti -logik En förändring på ett ställe påverkar många andra Försvårar underhåll när systemet blir större Tumregel: En kopplingsgrad under 2 verkar hanterbar 8

9 Problem GUI kan förändras för att bli mer användarvänligt Logiken kan behöva uppdateras för att klara av nya krav Vill inte bygga om hela tillämpningen så fort en liten förändring inträffar Får ej bryta skärmbildsinvarianterna Kan vi få ner kopplingsgraden? 9

10 Lösning MVC Härrör från Smalltalk Konstruktionsmönster - ramverk Separering av Modell - Underliggande informationsmodell (logik) Vy - GUI (utmatning, mätdon) Kontroller - Kontroll av indata (inmatning, styrdon) Objektorientering = klasser Observer/Observable-mönstret 10

11 Lösning MVC Ett MVC-organiserat program fungerar som följer: Användaren interagerar med vyerna och kontrollerna När användaren manipulerar en kontroll skickas ett meddelande om att förändra datan i modellen som kontrolleras av kontrollen När data i modellen ändras, antingen av interna beräkningar, användarinteraktion eller något annat, skickas meddelanden till de associerade vyerna om att visa de nya värdena för användaren 11 Bild från:

12 MVC Normalt påverkar inte en kontroller direkt någon vy, förutom sig själv om det rör sig om en view-controller som en slider. En kontroller påverkar modellen och modellen uppdaterar vyerna. På så sätt upprätthålls en viktig egenskap Det finns inget viktigt på skärmen som inte finns representerat i modellen 12

13 MVC-Triangeln Observatör Observerbar 13

14 MVC - Översikt Vy Presentation Läs av tillstånd, getters Uppdatering, Initiering av GUI Användaren begär förändringar av modellen Meddela förändrin g Val av vy Modell Affärslogik Kontrollant Användarkontroll Uppdater a tillstånd, setters 14

15 Scenario - Logisk vy 1 - Användaren utför en åtgärd 2 - Kontrollern tolkar händelsen och begär en förändring på modellen 3 - Modellen förändrar sitt tillstånd och informerar vyn om förändringen notifychanged() modelchanged() 4 - Vyn frågar modellen om dess tillstånd och förändrar sig därefter getstate() 5 - Användaren ser effekter av åtgärd User sees uses Delbild från The Smalltalk MVC paradigm with pluggable views av Tong Sin Yin, Chow Pui Yee 15

16 Modell Spindeln i nätet Representerar & stödjer kärnan av problemet Affärslogiken Känner inte till mekanismerna som exponerar den för resten av världen Mjukvaruutecklare modellerar & implementerar oftast denna del först Kommunicerar med vyer Visa värdeförändring -> samtliga vyer meddelas (multicast) Kommunikation sker med händelser (Observable) 16

17 Modell (forts) Modellens ramverk skickar händelser till intresserade vyer Kärnan av modellen känner inte till vyerna Ramverket har API för att förändra och avslöja modellens tillstånd Behöver inte styras av kontrollern i GUI Kan styras av annan kontroller i annat GUI Modell som representerar ex. hårdvara Måste fortfarande meddela alla intresserade vyer 17

18 Vy Hanterar utdata Synligt för användaren Mätdon (Styrdon) Visar modellens tillstånd Fönster grafik text Novis- eller expertvy Bilder från 18

19 Vy (forts) Känner till modellen & kontrollern Visar värdeförändringar i modellen (Observer) Skickar användarförändringar av modellen till kontrollern (delegering) Hanterar generell uppdatering (utan förändring av modellen) exempelvis initiering av GUI genom att anropa modellen direkt Innehåller information om vyn (ex. storlek, plats, egenskaper, beteende, representation etc.) 19

20 Kontroller Hanterar indata från användaren som ska påverka modellen Mus, tangentbord Bearbetar händelser från användaren och anropar modellen Kontroll av indata - modellens villkor Känner till modellen & vyn Förändrar modellens status Knapptryck -> modellen anropas som reagerar därefter Nytt värde inmatas -> modellen anropas som uppdaterar med det nya värdet Kan även förändra vyn (ex. GUI-inställning) Vy och kontroll Kan kombineras Starkt kopplade (användarsynpunkt) 20

21 Kopplingsgraf - MVC Stäng dörr dimma ner Öppna dörr dimma ner Stängd aktivera Öppen aktivera Kopplingsgrad = 6/5=1,2 8/6=1, Hållbar lösning Dörrmodell Stäng dörr 21

22 Observer-mönster Definierar ett 1-till-m beroende mellan objekt så när ett objekt förändrar tillstånd, blir alla intressenter varse & uppdateras automatiskt Används för att koppla bort den observerade från de som observerar, den observerade behöver lite information för att meddela observerande Java-listeners,.NET (delegates) & Qtsignal/slots 22

23 Observer-mönstret Observer - Vy Godtyckligt objekt som vill bli varse om tillståndsförändringar i annat objekt Observable - Modell Objekt med ett intressant tillstånd & där andra objekt kan registrera sitt intresse 23

24 Exempel - Observer Controller BankAccount AccountView SummaryView deposit(int) setchanged() notifychanged() modelchanged() getbalance() modelchanged() getbalance() 24

25 Fördelar/Nackdelar - Observer + - Mönstret tillåter modellen att meddela multipla vyer Observer s kan (av)registrera sig själva Kan resultera i stort meddelandeflöde 25

26 Distribuerat system Mellanvara DCOM,COM+ RMI,CORBA 26

27 DS - systemstruktur JDBC, ODBC DCOM,COM+,RMI,CORBA 27

28 MVC - Problem & nackdelar Svårt att särskilja rollerna (logisk teknisk) Vy & kontroller samma objekt Qt, VB etc. IDE stödjer inte MVC på ett tillfredsställande vis Gränserna kan flyta ihop Svårt att se skillnad på GUI-logik & modell-logik Omständligt vid pyttesmå projekt Problem kan uppstå vid interface-förändringar Bakåtkompatibilitet Mycket trafik genereras mellan vy & modell även då små förändringar sker Problem speciellt vid distribuerade tillämpningar 28

29 MVC - Fördelar Flera olika utformade GUI till samma (ovetande) modell Utveckla modell och GUI parallellt eller separat Problemområden separeras tydligt Klarare design & kod Återanvända delar av systemet 29

30 MVC Fler fördelar Mjukvaran kan delas upp i mindre moduler Inkapsling av funktionalitet Separata interna förändringar av M, V, C är lättare att utföra Lätt att byta ut komponenter M, V eller C helt respektive plugga in nya GUI Modellens meddelanden når ut till samtliga vyer Förenklar distribution Klient/Server-lösning (proxy mellan GUI & modell) 30

31 Konstruktionsmönster Mönstervarianter - modell meddelar vyer Typ 1 - Fire and forget modellen initierar ett objekt innehållande förändringarna som undersöks närmare i vyn Modell - model.notifychanged(event e), vy.modelchanged(event e) Event e - innehåller förändringarna som vyn får läsa av - e.getchange Ok vid distribuerade modeller Typ 2 - Modellen meddelar förändring sedan får vyn fråga modellen om vad som egentligen hände Modell - model.notifychanged, vy.modelchanged Vy - model.getchange Typ 3 Hybrid Ex. labb 1, 3. Unika signaler som är informationsbärare + event ex. signalgasändrad(int nygas) 31

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se

Läs mer

Översikt Föreläsning 1. Trivicalc. Vad är trivicalc? En cell. Områden på skärmen. SMD168/SMD135 Fredrik Bengtsson

Översikt Föreläsning 1. Trivicalc. Vad är trivicalc? En cell. Områden på skärmen. SMD168/SMD135 Fredrik Bengtsson Översikt Trivicalc SMD168/SMD15 Fredrik Bengtsson bson@sm.luth.se Föreläsning 1 Introduktion till Trivicalc - problem Föreläsning Grafiska Användargränssnitt Föreläsning del 1 Versionshantering CVS (Johan

Läs mer

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Model View Controller Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Model View Controller Model View Controller (MVC) är ett design pattern (architectural pattern) som är väldigt

Läs mer

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2016

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2016 Observer Pattern och MVC Objekt-orienterad programmering och design Alex Gerdes, 2016 Model View Controller Model View Controller (MVC) är ett design pattern (architectural pattern) som är väldigt vanligt

Läs mer

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Observer Pattern och MVC Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Model View Controller Model View Controller (MVC) är ett design pattern (architectural pattern) som är

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 7 24 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 7 24 nov 2015 Objektorienterad Programkonstruktion Föreläsning 7 24 nov 2015 Observer (GoF) Man definierar ett "ett-till-många"-förhållande mellan objekt så att när ett objekt byter tillstånd så uppdateras alla beroende

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

Vad utmärker ett bra användargränssnitt?

Vad utmärker ett bra användargränssnitt? Vad utmärker ett bra användargränssnitt? Att kommunicera med användarna Feedback och Pliancy Excise kontra Flow GUI = Graphic User Interface GUI = Graphic User Interface GUIn, eller grafiska gränssnitt

Läs mer

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Observer Pattern och MVC Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Model View Controller Model View Controller (MVC) är ett design pattern (architectural pattern) som är

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

Universe Engine Rapport

Universe Engine Rapport 1 Universe Engine Rapport Alexander Mennborg 2017-05-08 2 Inledning I denna rapport diskuteras utvecklingsprocessen till projektet Universe Engine. Denna diskussion omfattar hela utveckling från starten

Läs mer

Snake App Rapport - Snake App Rapport Utskriven/PDF Export: 2011-10-17 Copyright 2011 - Version 1.2 Sidan 1 av 9.

Snake App Rapport - Snake App Rapport Utskriven/PDF Export: 2011-10-17 Copyright 2011 - Version 1.2 Sidan 1 av 9. Snake App Rapport - Snake App Rapport Utskriven/PDF Export: 20-0-7 Copyright 20 - Version.2 Sidan av 9 Snake App Rapport DAT255 - Software engineering project Jesper Sjövall Martin Sonesson Alesandro Sanchez

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

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

CliMate följer Tre-lager-arkitektur. Domänobjekt - domänlogiklagret. Viktiga domänklasser i CliMate. De tre lagren. Paketen i CliMate:

CliMate följer Tre-lager-arkitektur. Domänobjekt - domänlogiklagret. Viktiga domänklasser i CliMate. De tre lagren. Paketen i CliMate: följer Tre-lager-arkitektur De tre lagren presentation: användarhändelser+grafik+resultat domänlogik: håller systemets funktioner databasaccess: databas + sql-hantering Paketen i : climate.ui (inkl climate.ui.action

Läs mer

Föreläsning 3: Händelsestyrda program och användargränssnitt

Föreläsning 3: Händelsestyrda program och användargränssnitt (2 september 2015 F3.1 ) Föreläsning 3: Händelsestyrda program och användargränssnitt Idag Från sekventiella till händelsestyrda program Lyssnare Kontroller Layout för ordning av kontroller (2 september

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

TENTAMEN I DATAVETENSKAP

TENTAMEN I DATAVETENSKAP Umeå Universitet Datavetenskap Marie Nordström Thomas Johansson Jürgen Börstler 030124 TENTAMEN I DATAVETENSKAP PROGRAMMERINGSMETODIK OCH PROGRAMMERING I JAVA, 5P. (TDBA63) Datum : 030124 Tid : 9-15 Hjälpmedel

Läs mer

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets

Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets GUI (forts) Objektorienterad programmering med Java Swing: Händelser, lyssnare och applets Sven-Olof Nyström Uppsala Universitet 18 mars 2005 Skansholm: Kapitel 6 Användaren kan kommunicera med programmet

Läs mer

Vad utmärker ett bra gränssnitt?

Vad utmärker ett bra gränssnitt? Vad utmärker ett bra gränssnitt? Kommunikation med användarna Feedback och Pliancy Excise kontra Flow GUI = Graphical User Interface GUIn, eller grafiska gränssnitt hittar vi på alla sorters skärmar I

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

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015 Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora

Läs mer

Next -> Next -> Finish

Next -> Next -> Finish Next -> Next -> Finish eller? Vad bör man tänka på i samband med uppgradering till eller nyutveckling i EPiServer CMS 7? Oscar Larsson Oscar Larsson Agenda Det Leverantören här är Sogeti lovar Är det verkligen

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Aletta Nylén http://user.it.uu.se/~aletta Epost: aletta.nylen@it.uu.se Rum: 1216 Kursinfo Lärare: Aletta Nylén Jesper Wilhelmsson Litteratur: Object-Oriented Software Development

Läs mer

Objektorienterad programmering, allmänt

Objektorienterad programmering, allmänt Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara

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

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

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Dagens program. Objektorienterad modellering och diskreta strukturer / design. Model/View/Control-implementering. Model/View/Control-arkitektur

Dagens program. Objektorienterad modellering och diskreta strukturer / design. Model/View/Control-implementering. Model/View/Control-arkitektur Dagens program Objektorienterad modellering och diskreta strukturer / design Fler mönster och Paketdesign Lennart Andersson Model View Control Observer Paketdesign Namngivning Reviderad 2011 09 12 2011

Läs mer

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Tentamen i EDAF5 juni 07 Skrivtid: 4-9 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Skriv

Läs mer

Properties. Användbara metoder som kan anropas i propertychanged:

Properties. Användbara metoder som kan anropas i propertychanged: Properties Ett objekt kan ha vissa egenskaper (som beskrivs med instansvariabler). En enkel egenskap X avläses och sätts med metoderna getx() och setx(värde). En indexerad egenskap (från t.ex. en array)

Läs mer

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Föreläsnings 11 - GUI, Händelsestyrda program, MVC Föreläsnings 11 - GUI, Händelsestyrda program, MVC Josef Svenningsson Tisdag 20/11 Boken Denna föreläsning går igenom följande sektioner i boken: 10.1 och 10.2 11.1 Notera att kapitel 11 inte finns i boken

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java jonas.kvarnstrom@liu.se 2017 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Till stor del ersatt av Swing: Mer omfattande,

Läs mer

Windows Forms Winstrand Development

Windows Forms Winstrand Development 2013-01-23 1 Winstrand Development Användargränssnitt Hittills har vi skapat program för kommandoraden. Den bakomliggande koden fungerar som den ska, men vi upptäcker snabbt att programmen är begränsade

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

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!

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

BuildingPortalSuite. Beskrivning. 2012-09-03 BuildingPortalSuite - Beskrivning

BuildingPortalSuite. Beskrivning. 2012-09-03 BuildingPortalSuite - Beskrivning Beskrivning 1 Komma igång Följ dessa steg för att enkelt komma igång med BuildingPortalSuite: 1. Installera BuildingPortalSuite 2. Använd Setup Tool BuildingPortalSuite för att ställa in uppkopplingen

Läs mer

PROGES PLUS THERMOSCAN RF. Instruktionsmanual V. 061115

PROGES PLUS THERMOSCAN RF. Instruktionsmanual V. 061115 ThermoScan RF användarinstruktioner 1 PROGES PLUS THERMOSCAN RF Instruktionsmanual V. 061115 Viktigt! Den här manualen innehåller ett antal lösenord som endast är avsedda för administratörerna. Glöm inte

Läs mer

Lösningar till tentamen i EDAF25

Lösningar till tentamen i EDAF25 Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle

Läs mer

Nyheter i Revit Precast automation for lattice girder slabs API for precast automation

Nyheter i Revit Precast automation for lattice girder slabs API for precast automation Nyheter i Revit 2019 OR in filters Backround fill patterns Vertical text alignment Views usability improvements File version in Open dialog Tabbed views & improved dockin Multi-monitor support Levels in

Läs mer

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys

Läs mer

VCON har stöd för upp till 32 dysor samtidigt. Upp till 3 sekvenscykler per dysa kan specifi ceras.

VCON har stöd för upp till 32 dysor samtidigt. Upp till 3 sekvenscykler per dysa kan specifi ceras. Sekvensiell ventilstyrenhet Operation Den sekvensiella ventilstyrenheten VCON är ett kaskadstyrsystem för gradvis styrning av nålventildysor i varmkanalsverktyg till formsprutningsmaskiner. VCON har stöd

Läs mer

Inkapsling (encapsulation)

Inkapsling (encapsulation) UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.

Läs mer

Inlämningsuppgifter, EDAF30, 2015

Inlämningsuppgifter, EDAF30, 2015 LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Programmering i C++ Inlämningsuppgifter, EDAF30, 2015 Det finns två deluppgifter som båda ska lösas: 1. skriv ett program för att hantera bankkonton

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

ProgramMetodik! Allmänt

ProgramMetodik! Allmänt ProgramMetodik! Allmänt Samtliga program från ADAR är utvecklade via verktyget Visual Basic 6.0 och för drift till DataBasMotorn Pervasive SQL client/server. Program skrivna i VB 6:an ger en körbar kod

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

Laboration 3 GUI-programmering

Laboration 3 GUI-programmering Laboration 3 GUI-programmering Syfte Erbjuder studenterna en möjlighet att lära sig grunderna i gränssnittsprogrammering i Java. Genomförande Genomförs individuellt eller i grupp om 2 personer. Uppskattad

Läs mer

<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

<script src= http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js></script> AngularJS Skriven av: Isak Glans. Datum: 2015-04-29. Kurs: Webbutveckling. Lärare: Per Sahlin. Utbildning: Systemutvecklare i.net, Newtons Yrkeshögskola. 1 Sammanfattning Syftet med denna uppsats är att

Läs mer

Industriella styrsystem, TSIU06. Föreläsning 2

Industriella styrsystem, TSIU06. Föreläsning 2 Industriella styrsystem, TSIU06 Föreläsning 2 Reglerteknik, ISY, Linköpings Universitet Sammanfattning av Föreläsning 1 2(24) Det finns en stor mängd system och processer som behöver styras. Återkopplingsprincipen:

Läs mer

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

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18 Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 18 Igår: Genomgång av dugga Rekursion Idag och på måndag: Om essän Lite, lite teori om konstanter Grafiska användargränssnitt Grundläggande

Läs mer

Fönsterbeteende. Mike McBride Jost Schenck Översättare: Stefan Asserhäll

Fönsterbeteende. Mike McBride Jost Schenck Översättare: Stefan Asserhäll Mike McBride Jost Schenck Översättare: Stefan Asserhäll 2 Innehåll 1 Fönsterbeteende 4 1.1 Fokus............................................. 4 1.1.1 Fokuspolicy..................................... 4

Läs mer

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Entity Framework Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Tentamen i EDAF60 29 oktober 2018 Skrivtid: 14-19 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blått/blyerts.

Läs mer

KravinsamlingAnalys Design Implementation Testning

KravinsamlingAnalys Design Implementation Testning 1 Utvecklingscykler Para ihop följande begrepp med rätt utvecklingscykel Matcha ihop värdena: KravinsamlingAnalys Design Implementation Testning Interaktionsdiagram Systemsekvensdiagram User Stories Enhetstester

Läs mer

ANVÄNDARMANUAL BRUNSTKALENDERN

ANVÄNDARMANUAL BRUNSTKALENDERN ANVÄNDARMANUAL BRUNSTKALENDERN VER 1.0 ANVÄNDARMANUAL BRUNSTKALENDERN 2015-04-20 1 (12) INNEHÅLLSFÖRTECKNING 1 BAKGRUND... 2 1.1 App-version... 2 2 2.1 ANVÄNDARE OCH BESÄTTNING... 2 Inloggning... 2 2.2

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

Arkitektur Michael Åhs

Arkitektur Michael Åhs Arkitektur Michael Åhs Kalle & Hobbe: En utvecklares drömsystem 1. Vad är arkitektur? 2. Arkitektur i UML Innehåll 3. Utveckla en arkitektur 4. Arkitektur i projektet Del 1 - Vad är Arkitektur? Pattern-Oriented

Läs mer

Sju riktlinjer vid utveckling av hemsidor för mobil och desktop

Sju riktlinjer vid utveckling av hemsidor för mobil och desktop Sju riktlinjer vid utveckling av hemsidor för mobil och desktop Denna artikel går igenom hur du gör en hemsida användarvänlig till både vanliga desktopdatorer och mobilanvändare utan att behöva ha två

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

Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers

Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers Ett projekt i kursen TDA367 Objektorienterat programmeringsprojekt och LSP310 Kommunikation och ingenjörskompetens Maxim Goretskyy

Läs mer

Arcus-EDS. Produktbeskrivning. Gateway KNX / DMX. KNX-GW-DMX Art.-Nr. 550017. Maj 2012. LedLab AB Kungegårdsgatan 7 441 57 Alingsås

Arcus-EDS. Produktbeskrivning. Gateway KNX / DMX. KNX-GW-DMX Art.-Nr. 550017. Maj 2012. LedLab AB Kungegårdsgatan 7 441 57 Alingsås Arcus-EDS Gateway KNX / DMX Art.-Nr. 550017 Kungegårdsgatan 7 Maj 2012 410 e11 Funktionsprincip och användningsområde KNX-DMX Gateway är ett gränssnitt mellan KNX-buss och DMX512-buss. Den kombinerar utrustning

Läs mer

Spel som interaktiva berättelser

Spel som interaktiva berättelser Spel som interaktiva berättelser Finns många typer av interaktivt berättande; ska titta närmare på spel eftersom de exemplifierar en rad aspekter av interaktivt berättande väldigt tydligt. Kan förstå spel

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5 Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor 1 Laboration 4 - Introduktion Syfte: Öva på självständig problemlösning

Läs mer

Observer Pa*ern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2018

Observer Pa*ern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2018 Observer Pa*ern och MVC Objekt-orienterad programmering och design Alex Gerdes, 2018 Model View Controller Model View Controller (MVC) är e2 design pa2ern (architectural pa2ern) som är väldigt vanligt

Läs mer

1 Klasser och objektorientering Vad är objektorientering?

1 Klasser och objektorientering Vad är objektorientering? 1 Klasser och objektorientering Vad är objektorientering? Det finns olika synsätt på programmering, dessa olika synsätt kallas för paradigm. De vanligaste paradigmen är det imperativa/proceduriella, det

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08 JavaRats Kravspecifikation Version 1.1 Gustav Skoglund gussk258@student.liu.se Marcus Widblom marwi026@student.liu.se Senast ändrad: 13 / 05 / 08 Sammanfattning Kravspecifikationen för JavaRats har skrivit

Läs mer

Spelet i sig är inte avancerat men projektet ställer en del krav på implementationen bland annat:

Spelet i sig är inte avancerat men projektet ställer en del krav på implementationen bland annat: Problemspecifikation Anti Tower Defence är ett spel som till motsats från klassikern Tower Defence går ut på att förflytta trupper från start till mål utan att bli skjutna och dödade av torn. Tornen placeras

Läs mer

Boken. Kap 2.1-2.4 Kap 11.3

Boken. Kap 2.1-2.4 Kap 11.3 Konceptuell design Boken Kap 2.1-2.4 Kap 11.3 Konceptuell design är helt grundläggande inom interaktionsdesign kan upplevas som abstrakt och svårt att förstå förstås bäst genom att man utforskar och upplever

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Laboration 3 Refaktorering av spelramverket

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Laboration 3 Refaktorering av spelramverket TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Laboration 3 Refaktorering av spelramverket Pelle Evensen 22 november 2011 Sammanfattning I den här laborationen ska vi identifiera och i flera

Läs mer

Laboration 3: Refaktorering av spelramverket Pelle Evensen (2011) & Christer Carlsson (2015)

Laboration 3: Refaktorering av spelramverket Pelle Evensen (2011) & Christer Carlsson (2015) Laboration 3: Refaktorering av spelramverket Pelle Evensen (2011) & Christer Carlsson (2015) TDA550 Sammanfattning I denna laboration ska vi identifiera, och i flera fall åtgärda, tillkortakommanden i

Läs mer

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers. Designmönster - EMW Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.se/~kentp arbetar på Inst. för Datavetenskap, Cth & Gu, 50% och Software

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

Läs mer

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011) Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 8 Två designmönster, MVC och Observer/Observable. Designrekommendation

Läs mer

TDTS04: Distansvektorroutning i java

TDTS04: Distansvektorroutning i java 19 January 2010 TDTS04: Distansvektorroutning i java Juha Takkinen, Ph.D. IDA, Institutionen för datavetenskap 1.0 Översikt Labb 4 består av att utforma, implementera, testa och demonstrera ett program

Läs mer

SPF/MiRiaM Manual avancerad sökning

SPF/MiRiaM Manual avancerad sökning SPF/MiRiaM Manual avancerad sökning 2016-09-15 Skapat av: Fältström Ingrid 1 (31) Innehållsförteckning 1. Inledning... 3 1.1 Begreppsförklaringar... 3 1.1.1 Kolumn... 3 1.1.2 Lista... 3 1.1.3 Posttyp...

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

Innehåll INNEHÅLL. Teckenförklaring... 2. Komma igång

Innehåll INNEHÅLL. Teckenförklaring... 2. Komma igång 2015 INNEHÅLL Teckenförklaring.... 2 Innehåll Komma igång Starta programmet.... 4 Ställ in skärm/projektor... 5 Slå på fönsterläge.... 5 Laddningsskärm.... 6 Ämnesmodul.... 7 Ämnesområde... 8 Ämnesdel....

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

Innehåll. Förändringar i v5.3

Innehåll. Förändringar i v5.3 Innehåll Innehåll... 2 Allmän information... 3 DuoSTATION Manager... 3 Allmänt... 3 Ärenden... 3 Information... 3 Organisationer... 3 Debitering... 3 Utrustningar... 4 Inventering... 4 Metering... 4 IT

Läs mer

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Jonas Kvarnström jonkv@ida.liu.se 2013 Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Rena OO-språk (allt är objekt) Scala, Smalltalk, Eiffel, Ruby,

Läs mer

WebViewer Manual för administratör. 2013 Nova Software AB

WebViewer Manual för administratör. 2013 Nova Software AB WebViewer Manual för administratör 2 Manual WebViewer Innehållsförteckning Innehållsförteckning... 2 1 Introduktion... 3 2 Inställningar... 4 2.1 Uppdatera licensinformation... 4 2.2 Inmatning av användaruppgifter...

Läs mer

1 Kravspecifikation Snake App

1 Kravspecifikation Snake App Kravspecifikation Snake App - Kravspecifikation Snake App Utskriven/PDF Export: 2011-09-07 Copyright 2011 Sidan 1 av 7 1 Kravspecifikation Snake App 1.1 Vad är Snake App? Vi skall gör ett Snake Spel för

Läs mer

Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS

Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS 180325 Idag Idag: Övrig information Vad är projektet? Hur går det till? Strukturerande (I-III) Allmänna tips LaTeX-föreläsning

Läs mer

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

Läs mer

Axalon Process Navigator SP Användarhandledning

Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP 2013, senast reviderad: den 11 juni 2014 Innehåll Innehåll... 2 Om denna användarhandledning... 3 Syfte... 3 Vem är denna handledning

Läs mer

ALEPH ver. 16 Introduktion

ALEPH ver. 16 Introduktion Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. SKRIVBORDET... 1 2. FLYTTA RUNT M.M.... 2 3. LOGGA IN... 3 4. VAL AV DATABAS... 4 5. STORLEK PÅ RUTORNA... 5 6. NAVIGATIONSRUTA NAVIGATIONSTRÄD...

Läs mer

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 Tentamen 2016 03 18, kl. 14.00 17.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del I

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

Läs mer

Lösningar till tentamen i EDAF25

Lösningar till tentamen i EDAF25 Lösningar till tentamen i EDAF25 21 aug 2017 Lösning 1 Javaklasser (många varianter finns naturligtvis): class Client { private Invoker invoker; public void newcommand(string cmdtext) { Command cmd; if

Läs mer

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,

Läs mer

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output Programmering hh.se/db2004 Föreläsning 5: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite mer om Javas stöd för fält Hur många element har ett fält?

Läs mer

Tentamen i Objektorienterad modellering och design Helsingborg

Tentamen i Objektorienterad modellering och design Helsingborg Lunds Tekniska Högskola Datavetenskap Emelie Engström Tentamen EDAF25 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Helsingborg Tentamen består av en teoridel om totalt 5 poäng

Läs mer

The power of simplicity

The power of simplicity The power of simplicity FACTSHEET - 1 - Vertex GRC är ett molnbaserat verktyg som är utvecklat med användaren i fokus det ska vara lätt och intuitivt att implementera, administrera och använda! Verktyget

Läs mer