DVGB05 Grafiska användargränssnitt. Mjukvarudesign med Model-View-Controller
|
|
- Ola Sundström
- för 7 år sedan
- Visningar:
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 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 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 merModel 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 merObserver 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 merObserver 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 merDet 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 merObjektorienterad 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 merTDDC30. 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 merVad 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 merObserver 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 merDAT043 - 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 merWebbtjä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 merUniverse 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 merSnake 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 merGrafiska 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 merKlient/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 merImperativ 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 merCliMate 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 merFö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 mer729G75: 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 merTENTAMEN 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 merObjektorienterad 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 merVad 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 merArv. 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 merObjektorienterad 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 merNext -> 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 merObjektorienterad 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 merObjektorienterad 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 merViktiga 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 merDesign 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 mer729G75: 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 merDagens 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 merTentamen 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 merProperties. 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 merFö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 merGrafiska 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 merWindows 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 merDesign 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 merL04.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 merFö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 merBuildingPortalSuite. 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 merPROGES 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 merLö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 merNyheter 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 merFö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 merVCON 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 merInkapsling (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 merInlä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 merObjektorienterad 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 merProgramMetodik! 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 merProgrammering = 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 merLaboration 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>
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 merIndustriella 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 merGrundlä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 merFö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 merMå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 merTentamen 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 merKravinsamlingAnalys 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 merANVÄ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 merFö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 merArkitektur 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 merSju 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 merObjektorienterade 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 merRedogö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 merArcus-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 merSpel 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 merTDDC30 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 merObserver 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 mer1 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 merFö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 merFö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 merJavaRats. 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 merSpelet 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 merBoken. 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 merTDA550 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 merLaboration 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 merDesignmö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 merFö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 merTvå 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 merTDTS04: 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 merSPF/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 merObjekt-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 merInnehå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 merObjektorienterad 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 merInnehå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 merSyfte : 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 merWebViewer 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 mer1 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 merProgrammering, 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 merLab5 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 merAxalon 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 merALEPH 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 merObjektorienterad 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 merIntroduktion 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 merLö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 merViktiga 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 merLite 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 merTentamen 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 merThe 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