Systembeskrivning Tjoho Maj 2003

Storlek: px
Starta visningen från sidan:

Download "Systembeskrivning Tjoho Maj 2003"

Transkript

1 Systembeskrivning Tjoho Maj 2003 Uppdragsgivare: Ylva Dalén, KI Starthus Projektmedlemmar: Sophia Demnert, Elina Eriksson, Kamilla Johansson Per-Jonny Käck, Ingela Linered, Åsa Moum, Michael Stockman, Stefan Trolle

2 Innehåll Bakgrund... 2 Designmål... 2 Oberoende... 2 Händelsebaserat... 2 Användarvänlighet... 3 Loggmöjligheter... 3 Utvecklingsbarhet... 3 Applikationsvision... 3 Moduler... 4 Huvudmodulen crm... 5 crmsrv... 5 CRMServer... 5 Meddelanden... 5 Trådar... 5 configuration... 6 ConfigurationManager... 6 Configuration... 7 jcapi... 7 JCManager... 7 Trådar... 7 tracking... 8 Klientmodulen, crmclient... 8 Trådar... 8 Meddelanden... 9 Plattformssimulatorn, pfsim Anpassa simulatorn till framtida prototyper Ändra plattformsegenskaper Ändra knappsatsen Funktionalitet som saknas på nuvarande plattform Vibrationer Hopp Lutning i sidled Idéer för vidareutveckling Grafisk konfiguration Fler klientbibliotek

3 Bakgrund Huvudmålet för producerandet av vår programvara var att tillhandahålla roliga och stimulerande applikationer för handikappade barn, som kan kommunicera med en kommande version av plattformen HoppOLek. För att uppnå att applikationerna blir roliga och stimulerande, krävs att de testas och vidareutvecklas i ett nära samarbete med barnen och vuxna i deras omgivning. Då vi inte har haft möjlighet till ett sådant samarbete, har vi istället fokuserat oss på att förenkla skrivandet av nya applikationer så långt det är möjligt, och denna tanke kommer igen i våra designmål. Designmål Designmålen är de riktlinjer som vi försökt följa under utvecklingen av systemet Tjoho och då främst under designfasen. Oberoende Systemet skall fungera oberoende av vilka applikationer som körs. Antalet applikationer skall inte påverka möjligheterna till funktionalitet hos systemet. Applikationer skall kunna läggas till och tas bort från systemet utan att det påverkar funktionaliteten. Systemet skall kunna användas mot den existerande plattformen, den kommande plattformen Tjoho samt vilken annan plattform som kan komma att användas i framtiden. Kommunikation med systemets serverdel skall ske via specificerade XMLmeddelanden över TCP/IP(se bilaga tjohoxml). Systemet blir på detta sätt oberoende genom att det kommer att fungera på samma sätt oavsett vilken utvecklingsmiljö som väljs för applikationer. Det enda kravet som finns på utvecklingsmiljön är att stöd för kommunikation via TCP/IP ska vara möjligt. Kommunikation via XML gör det bland annat möjligt att programmera applikationer i andra programmeringsspråk än JAVA. Händelsebaserat Systemet skall vara händelsebaserat. Att systemet till största delen är uppbyggt av händelsebaserade rutiner gör det enkelt att programmera och eventuellt modifiera systemet i framtiden. Att systemet är händelsebaserat gör det ganska 2

4 resurseffektivt, samt att det passar bra ihop med händelsebaserade fönstersystem. Användarvänlighet Systemet bör kunna användas av ovana användare utan att fel uppstår. Plattformen ska styras av ett konfigurationsnät och det ska inte finnas någon begränsning på hur man ska kunna styra plattformen. För att underlätta för användaren ska en bra konfiguration skapas automatiskt med hjälp av tips (hintar) som ska finnas hos plattform och applikationer. Den applikation som blir ansluten sist är den som ska få högst prioritet. Loggmöjligheter Det ska finnas en möjlighet i systemet att spara information om hur plattformen har använts av olika användare (barn). För att underlätta att man inte loggar fel händelser till fel användare kan man inte använda sig av systemet utan att en aktiv användare har valts. Utvecklingsbarhet Det ska vara möjligt att på ett enkelt sätt utveckla applikationer som kan köras mot plattformen via systemet. Detta ska göras möjligt genom att ett klientbibliotek i programmeringsspråket JAVA ska finnas. Även utveckling av applikationer i andra programmeringsspråk än JAVA ska vara möjligt, genom att all kommunikation med servern sker via specificerad XML (se bilaga tjohoxml). Det ska också vara möjligt att utveckla systemet i framtiden och detta ska underlättas av god dokumentation samt kommentering av koden i form av javadoc. Applikationsvision Beskrivning om hur en applikation optimalt skulle utnyttja den funktionalitet som systemet erbjuder. Visionen är att det i systemet ska vara möjligt att kombinera enkla (med avseende på hanteringen av plattformen) applikationer till ett varierande och utmanande system för användaren. För att uppmuntra en sådan utveckling är systemet utvecklat för att transparent hantera interaktionen mellan samtidiga applikationer och den anslutna plattformen. Systemet avser alltså att förenkla applikationsutveckling mot liknande plattformar men även att erbjuda mervärdet att en applikation kan samverka i system med flera applikationer. Detta bör vara vägande skäl vid framtida val av utvecklingsmiljö för applikationer mot sådana plattformar. Hur skulle då en applikation fungera? När en applikation startas av 3

5 en användare, försöker applikationen ansluta sig till en server med hjälp av klientbiblioteket. När den har lyckats med detta använder den sig av det grafiska gränssnitt för login som finns i klientbiblioteket, för att användaren ska kunna välja svårighetsgrad med mera. Därefter registrerar applikationen de signaler och funktioner som applikationen har, samt de tips (hint) som applikationen vill använda för att bygga konfigurationsnätet. När all registrering är utförd börjar applikationens egentliga huvudsyfte, att köra det program som ska göra barnets användning av plattformen till en njutningsfull upplevelse. När användaren känner sig färdig avslutar användaren körningen av applikationen och därmed avregistrerar applikationen sina signaler och funktioner från servern. På detta sätt kan systemet fortsätta att köras utan just denna applikation. Moduler Övergripande beskrivning av systemet vi har skapat. Detaljerad information finns i form av javadoc. Med anledning av våra designmål har vi valt att dela upp programvaran i moduler, först i tre stycken övergripande moduler: - crm (Communication and Resource Manager), är den centrala modulen som sköter koordineringen mellan plattform och olika applikationer. - crmclient, är en modul som ger ett enkelt gränssnitt för applikationer och virtuella plattformar (exempelvis simulatorn) gentemot modulen crm. - pfsim, är en plattformssimulator som utvecklats för att underlätta testning vid applikationsutveckling. Simulatorn är ett grafiskt gränssnitt som visualiserar plattformens nuvarande läge och kan simulera samma knapptryckningar som kan utföras på HoppOLekplattformen. Se tjohouml, bilaga 1, Allmän bild av systemet. Utöver de tre ovan nämnda modulerna tillkommer en modul pc/ms som består av alla existerande och kommande applikationer som skrivs till vår programvara. Således är denna modul alltså inte någon modul i vanlig mening, och kommer därför ej att behandlas särskilt ingående. Dock beskrivs hur det är tänkt att applikationer ska kommunicera med crm via crmclient. Detta för att ge en bättre bild av hur systemets delar hänger ihop. Som redan nämnts i designmålen sker all kommunikation med crm-modulen via specificerade XML-meddelanden över TCP/IP. För information om dessa XML-kommandon se bilagan tjohoxml. 4

6 Huvudmodulen crm Huvudmodulen crm består i sin tur av fyra mindre moduler som alla ansvarar för ett begränsat område Se tjohouml, bilaga 2, Allmän bild av crm. crmsrv crmsrv är en kommunikationsmodul som kommunicerar med en plattform och publicerar dess funktioner som tjänster till applikationer. Exempel på tjänster är möjligheten att styra plattformen, eller möjligheten att bli meddelad när något intressant på plattformen inträffat. crmsrv erbjuder alltså ett gränssnitt för kommunikation med en plattform, och sköter denna uppgift genom att hantera näthändelser, som består av meddelanden mellan applikation och plattform. CRMServer Servern är skapad enligt designmönstret Singleton. Det ska alltså bara finnas en server som alla klienter kopplar upp sig mot. Servern kan lägga till lyssnare till sig och håller reda på de klienter som har registrerat sig. Klienterna består av både applikationer och plattform. Ska detta inte vara med? Är det inte sant? Vad menar Micke? Eller ska det stå högre upp i dokumentationen att systemet är byggt för kommunikation med en plattform åt gången? Meddelanden Alla klienter har en egen associerad socket via vilken de skickar sina meddelanden till servern på porten som används. Servern skickar sina meddelanden till varje klient via klientens associerade socket. Klienten får dock bara meddelanden om de händelser som klienten verkligen är intresserad av. Vilka händelser som klienten är intresserad av registreras via de hintar som klienten har registrerat. Se tjohouml, bilaga 5, Diagram över crmsrv. Trådar CRMServer körs på en tråd. Det är via denna tråd som CRMServer skapas och det är också via denna tråd som klienter kan ansluta sig. Det är även via denna tråd som CRMClient-objekten läser de XML-kommandon som skickas till servern och genererar sedan händelser utifrån meddelandena. Dessa händelser skickas sen till CRMServer som i sin tur skickar dem till de olika CRMClient-objekten via signaler till tråden AWT-EventQueue-0. När CRMServer-tråden använder sig av tråden AWT-EventQueue-0 lägger den sig och sover tills hanteringen av det 5

7 event som skickades till AWT-EventQueue-0 är klar. Orsaken till detta är att CRMServer vill vara säker på att meddelanden från klienterna hela tiden hanteras i sekventiell ordning. Se bilaga Diagram CRM tråd. configuration Konfigurationen består av många klasser som gemensamt håller reda på användare, signaler och operationer. Det går att göra sig en mental bild av vad den viktigaste funktionen i configuration är. Denna mentala bild benämns som konfigurationsnät och är den del som vidarebefordrar och eventuellt påverkar signalerna mellan applikationerna och plattformen. Konfigurationsnätet kan ses som ett kopplingsnät mellan plattform och applikationer i vilket det finns enkla ledningar för signalerna samt även operationer. Operationerna kan på olika sätt förändra signalerna. Eftersom de flesta applikationer kommer att använda samma logik vid hantering av signaler kan den logiken delas och finns då i konfigurationsnätet. Likaså kan plattformen då den används utan applikation använda sig av samma logik. Logiken utgörs av operationer som till exempel gör det enkelt att förändra plattformens beteende beroende på svårighetsgrad. Även funktionalitet som att en viss funktion på plattformen ska ske under en viss tidsperiod eller dylikt kan hanteras av operationerna. Framför allt är det fördelaktigt att placera logiken i konfigurationsnätet om man i framtiden vill ha en möjlighet att via ett grafiskt gränssnitt hantera konfigurationsnätet. Förutom logiken är konfigurationsnätet även bra då den gör kopplingen mellan plattform och applikation mer dynamisk. När en applikation läggs till eller tas bort gör konfigurationsnätet det enklare att enkelt koppla om signalerna så att systemet fortfarande fungerar optimalt. Se tjohouml, bilaga 4, Diagram över configuration. ConfigurationManager ConfigurationManager är den klass till vilken applikation och plattform registrerar sina kända signaler. Håller reda på registrerade användare samt det konfigurationsnät som används. Varje gång en hint eller känd signal läggs till eller tas bort uppdateras konfigurationsnätet. Detsamma sker varje gång en användare väljs som aktiv användare. Är designad enligt designmönstret Singleton, det ska alltså bara finns bara en enda ConfigurationManager. 6

8 Configuration Configuration är en klass som fungerar som en sammanbindande länk mellan konfigurationsnätets alla olika delar. Klassen innehåller ett antal konfigurationselement (ConfigurationElement) som i sin tur är antingen noder eller kanter. Noderna kan vara signaler som kommer in till, eller går ut ur, nätet. Noderna kan även vara operationer som på olika sätt kan påverka signalerna i nätet. Konfigurationsnätet byggs utifrån kända signaler, användarens svårighetsgrad och de hintar som applikation och plattform har skickat in till ConfigurationManager. Den applikation som har registrerat sina hintar sist är den som har högst prioritet. Plattformen har lägst prioritet oavsett när den ansluts. Hintarna består av beskrivningar av objekt (ObjectDescription) som kan vara signaler eller operationer samt kanter (LinkDescription) mellan objekten. Se tjohouml, bilaga 10, Diagram över crmclient/hint. jcapi Eftersom det kommer att finnas olika versioner av plattformar existerar det virtuella plattformar, så kallade plattformshanterare, som ska förenkla kommunikationen med de verkliga plattformarna. Det är bara en enda plattform åt gången som kan köras mot crmsrv. jcapi (Java Communications API) kommunicerar med plattformen via javax.comm. jcapi har två huvuduppgifter. Den ena är att omvandla data från en plattformshanterare till händelser som sedan skickas via konfigurationsnätet till crmsrv. Den andra huvuduppgiften är att omvänt omvandla styrkommandon från crmsrv till plattformsformat, och sedan skicka dessa vidare till plattformshanteraren. Se tjohouml, bilaga 6, Diagram över jcapi. JCManager Huvudklassen i jcapi är JCManager, och det är denna klass som hanterar händelser från plattformshanteraren samt meddelar plattformshanteraren när något har hänt i konfigurationsnätet. Förutom att meddela servern om händelser på plattformen skickar JCManager också meddelanden till LogManager som loggar de funktioner som användaren utnyttjar på plattformen. Trådar JCManager körs på en egen tråd men skickar dessutom signaler till tråden AWT- EventQueue-0 för att meddela crmsrv om att något inträffat på plattformen. Till skillnad från CRMServer anropas här tråden i AWT-EventQueue-0 med 7

9 invokelater-metoden, vilket innebär att JCManager-tråden inte väntar på att koden i AWT-EventQueue-0 ska exekvera klart. Orsaken till detta är att uppgiften för JCManager endast är att meddela crmsrv om alla händelser på plattformen, och för denna uppgift behöver JCManager inte ta något ansvar för i vilken ordning händelserna ska processas. Se bilaga Diagram JCManager tråd. tracking tracking är den del av systemet som innehåller den funktionalitet som gör det möjligt att logga användarens utnyttjande av plattformen. Huvudsakliga klassen är LogManager och det är LogManager som sparar ner användarens logg i en fil i den hemkatalog som valdes vid skapandet av en ny användare. Klientmodulen, crmclient Klientmodulen kan sägas bestå av två olika delar. Dels ett gränssnitt för applikationer mot crmsrv och dels ett gränssnitt för virtuella plattformar mot crmsrv. Gränssnittet för applikationer är det centrala i modulen, medan gränssnittet för virtuella plattformar är avsett för simuleringsmodulen och är främst användbar vid applikations- eller systemutveckling i testsyfte. Se tjohouml, bilaga 8, Diagram över crmclient. CRMClient, En Singleton-klass som erbjuder ett fullständigt gränssnitt för kommunikation med en CRMServer för en applikation eller för en virtuell plattform. DataHandler, En hjälpklass till CRMClient som är implementerad som en egen tråd. Ansvarar för att lyssna på den Socket som CRMClient är ansluten till, och meddela CRMClient när ett korrekt XML-meddelande mottagits. Trådar I de fall instansen av CRMClient är ansluten till crmsrv exekveras modulen DataHandler på en egen tråd. Denna tråd ligger hela tiden och lyssnar på en socket och väntar på att data ska anlända till servern. När data anländer försöker DataHandler tolka dessa data som ett giltigt XML-meddelande. Metoderna som anropas i CRMClient exekveras på den tråd från vilken anropet skedde, oftast applikationens main-tråd eller i fallet med grafiska applikationer i JAVA, tråden AWT-EventQueue-0. AWT-EventQueue-0 används även vid behov av DataHandler-tråden för att meddela en applikation om att någon händelse som den är intresserad av har inträffat. 8

10 Meddelanden De flesta meddelanden till servern skickas utan att vänta på något svar. Vissa meddelanden är dock av typen att de begär information från servern, och dessa kräver uppenbarligen ett svar. Detta sker genom att applikationen anropar rätt metod i CRMClient för sin begäran, och denna metod skickar en begäran till servern. Sedan lägger sig denna tråd (applikationstråden) och sover en viss tid. Om DataHandler-tråden under denna tid tar emot svaret från servern, så lagras detta svar undan och applikationstråden som befinner sig i en metod i CRMClient väcks av då av ett avbrott. CRMClient returnerar sedan det undanlagrade svaret tillbaka till applikationen. Om applikationstråden vaknar av sig själv i CRMClient (alltså ej genom ett avbrott) kollar den om ett svar finns undanlagrat och returnerar i så fall detta svar, annars returneras null som indikation på att inget svar från servern erhölls inom rimlig tid. Hela begäran-svar-proceduren döljs alltså för applikationen med undantag för returneringen av null om ingen information kunde erhållas. Om ett giltigt meddelande från servern mottages av DataHandler, så informeras applikationen om detta på olika sätt beroende på typen på meddelandet: Om meddelandet är ett signalkommando så innebär det att en händelse som ändrar värdet på någon av applikationens insignaler har inträffat på plattformen, och i så fall informeras (via tråden AWT-EventQueue-0) alla signallyssnare till den berörda signalen om det ändrade värdet. Om meddelandet är ett administrationskommando eller ett serieportskommando, är det ett svar på ett meddelande från klientmodulen, och i så fall meddelas applikationen genom ett vanligt return från den anropade metoden i CRMClient. Om meddelandet är ett plattformskommando, så meddelas alla plattformslyssnare (via tråden AWT-EventQueue-0) till klientobjektet. 9

11 Plattformssimulatorn, pfsim Plattformssimulatorns main()-funktion är placerad i PfSim i paketet se.kth.nada.tjoho.pfsim. Vid programstart försöker simulatorn skapa en anslutning till servern genom anropet CRMClient.getInstance(). Om anslutningen lyckas fortsätter applikationen att köra. Applikationen är uppbyggd av en mängd grafikelement där SimFrame är huvudfönstret. I SimFrame finns tre olika fönsterdelar; ControlJPanel som visualiserar plattformens knappsats, StatusJPanel som ritar ut fyra stycken tidsgrafer (TimeGraph) och StimulatorViz som ritar ut en bild av plattformen. Klassen som styr hur utseendet på dessa förändras är SimFrame ControlJPanel StatusJPanel TimeGraph TimeGraph StimulatorViz UpdateThread, som uppdaterar plattformens status, och om nödvändigt ritar om grafer och StimulatorViz var 0,08:e sekund. UpdateThread tar in information om nya händelser genom att metoderna newxinput( ) anropas, där X är typen av händelse till exempel Height. Anropen sker genom en PlatformListener i SimFrame. Anpassa simulatorn till framtida prototyper Då HoppOLek endast är en prototyp som planeras ersättas med en ny prototyp med andra egenskaper, har en av de viktigaste delarna i utvecklingen av simulatorn varit att lätt kunna uppdatera den för att passa framtida plattformar. I simulatorn finns stöd för funktioner som inte finns i nuvarande versionen av HoppOLek, men som antagligen kommer att finnas i nästa prototyp. Bland dessa funktioner ses bland annat vridning och lutning. Man kan även lätt göra så att simulatorn rör sig i mjuka funktionskurvor istället som nu i linjära funktioner. Plattformen rör sig med andra ord i nuläget med oändlig acceleration vid speciella tidpunkter, för att därefter följa den maximala förändringshastigheten. 10

12 Ändra plattformsegenskaper Endast ett fåtal konstanter behöver ändras för att anpassa simulatorn till en ny plattform, nämligen UpdateThread.java. Rad 12 till rad 50 innehåller konstanter som definierar olika maxhastigheter, accelerationer och gränslägen för plattformen. Då dessa ändras kommer alla delar i programmet som beror av dessa också att ändras, till exempel förändringsgrafernas skalor och utritningen av plattformen. Vill man ändra de olika förändringsfunktionerna för att skapa mjuka accelerationer ska f-funktionerna i rad skrivas om. För att skriva dessa kan man ta hjälp av variablerna double xcurrentspeed (nuvarande hastighet), double xstartspeed (hastigheten då förändringen skulle inledas) och double xt (hur lång tid förändringen pågått). x ska ersättas av h för höjd, l för lutning eller t för vridning. Ändra knappsatsen För att ändra knappsatsen ska ControlJPanel.java ändras. CRM servern stöder för till fället nio stycken knappar, vilket är antalet som krävs för att kunna styra alla funktioner som simulatorn stöder. Dessa knappar är definierade i ControlJPanel.java, och behöver inte ändras. Det som man istället kan ändra är hur knapparna är placerade på plattformen. I simulatorn är knapparna placerade på enklast möjliga sätt, i två centrerade rader, men detta kan givetvis ändras. Om färre knappar än nio finns på den nya prototypen är det mest praktiskt att kommentera bort de sista överflödiga knapparna, då dessa kan komma att behövas till ytterligare senare prototyper. Funktionalitet som saknas på nuvarande plattform Det finns många funktioner som systemet har men som inte kan visas på den nuvarande plattformen. Dock ska det fungera för den kommande plattformen Tjoho. Vibrationer På den nuvarande plattformen kan man inte styra plattformens vibrationer. Det kommer dock att kunna göras på den kommande plattformen. I konfigurationsdelen av systemet finns operationer som kan omvandla insignaler i form av t ex knapptryckningar till ökning respektive minskning av vibrationen. 11

13 Hopp På den nuvarande plattformen finns endast stöd för att åka upp och ner. Något stöd för den i systemet implementerade hoppsignalen finns inte. Denna funktion är dock planerad att finnas på nästa version av plattformen. Lutning i sidled Den kommande plattformen Tjoho, kommer att ha en funktion som gör att plattformen kan luta i sidled. Den XML som behövs för att styra denna funktion finns och systemet kan redan använda sig av denna XML. Idéer för vidareutveckling Här under kommer vi att beskriva de funktionaliteter vi tänkt på kring det system vi byggt men inte implementerat. Kan ses som möjligheter för vidareutveckling. Grafisk konfiguration En möjlighet att via ett grafiskt gränssnitt direkt ändra i konfigurationen av systemet. Passar kanske en mer van användare. Det finns goda möjligheter att bygga ut systemet med denna funktionalitet. Stöd finns redan i form av specificerad XML (se bilaga tjohoxml). I och med att man går in och ändrar konfigurationen bör det också finnas en möjlighet att spara konfigurationerna. Det ska också vara enkelt att ladda in en gammal konfiguration så att man inte behöver ändra en automatisk genererad konfiguration varje gång användaren vill använda en viss konfiguration till en viss applikation. Fler klientbibliotek Så som systemet ser ut nu finns det endast ett klientbibliotek skrivet i JAVA. Genom att systemet kommunicerar med XML över TCP/IP är det dock oberoende av vilken miljö applikationerna är skrivna i och körs i. Det är således önskvärt att nya klientbibliotek skrivs för andra programmeringsspråk som applikationer kan önskas skrivas i. 12

14 Bilaga Diagram JCManager tråd 13

15 Bilaga Diagram CRM tråd 14

Tjoho. Applikationsutvecklarens handledning. Maj 2003

Tjoho. Applikationsutvecklarens handledning. Maj 2003 Tjoho Applikationsutvecklarens handledning Maj 2003 Uppdragsgivare: Ylva Dalén, KI Starthus Projektmedlemmar: Sophia Demnert, Elina Eriksson, Kamilla Johansson Per-Jonny Käck, Ingela Linered, Åsa Moum,

Läs mer

TJOHO PROJEKTSPECIFIKATION FEBRUARI 2003. Uppdragsgivare: Ylva Dalén, KI Starthus

TJOHO PROJEKTSPECIFIKATION FEBRUARI 2003. Uppdragsgivare: Ylva Dalén, KI Starthus TJOHO - LEK OCH TRÄNING FÖR BARN PROJEKTSPECIFIKATION FEBRUARI 2003 Uppdragsgivare: Ylva Dalén, KI Starthus Projektmedlemmar: Sofia Demnert Elina Eriksson Kamilla Johansson Per-Jonny Käck Ingela Linered

Läs mer

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

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

Objektorientering: Lagring och livstid

Objektorientering: Lagring och livstid TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Objektorientering: Lagring och livstid Tre sorters variabler Tre sorters variabel (1): Lokal 2 Lokal variabel Deklareras inuti en metod Vid varje anrop

Läs mer

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen Realtid eda040project2010 MANUAL dt08es7 dt08co0 dt08dm8 dt08dl4 - Emil Selinder - Christoffer Olsson - David Meyer - Daniel Lehtonen Innehållsförtäckning Introduktion Hur man kör igång programmet Proxy

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

TUTORIAL: SAMLING & KONSOLL

TUTORIAL: SAMLING & KONSOLL TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även

Läs mer

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Objektorienterad Programkonstruktion. Föreläsning jan 2016 Objektorienterad Programkonstruktion Föreläsning 13 19 jan 2016 Tentamen Del I, E del Flervalsfrågor 20/25 krävs för godkänt, ger betyg E Upp till 7 möjliga bonuspoäng Del II, Högrebetygsdel Problemfrågor

Läs mer

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Lab 4: Anti Tower Defence Oskar Mothander Alan Mendez Larsson dit06omr dit06mln Lärare: Handledare: Johan Eliasson Johan Granberg Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Innehåll 1. Problemspecifikation...

Läs mer

Projektrapport. MegaLoad. Nätverksprogrammering EDA

Projektrapport. MegaLoad. Nätverksprogrammering EDA Projektrapport MegaLoad Nätverksprogrammering EDA095 2012-05-16 Av: Pétur Hjartarson, ic08phj@student.lth.se Jelena Mirosavljević, mat08jmi@student.lu.se Elise Ellerstedt, adi09eel@student.lu.se Ann-Louise

Läs mer

LEX INSTRUKTION LEX LDAP

LEX INSTRUKTION LEX LDAP LEX INSTRUKTION LEX LDAP Innehållsförteckning LEX INSTRUKTION LEX LDAP... 1 1 INLEDNING... 1 2 INSTALLATION... 2 3 LEXLDAPSERVICE - KLIENTEN... 3 3.1 HUVUDFÖNSTER... 3 3.2 INSTÄLLNINGAR... 4 3.2.1 Lex...

Läs mer

Bilaga B Specifik programinformation

Bilaga B Specifik programinformation Bilaga B Specifik programinformation Kompileringsinstruktioner 1. Gå till katalogen: cd Joystick/ 2. Skriv: make 3. Vänta tills klar, skriv sedan: make install Minneskortinstruktioner 1. Montera minneskortläsaren:

Läs mer

Beskrivning av gesällprov RMI Chat Mikael Rydmark

Beskrivning av gesällprov RMI Chat Mikael Rydmark Beskrivning av gesällprov RMI Chat Mikael Rydmark rydmark@kth.se Mikael Rydmark 1(8) 12-06-06 Innehållsförteckning Inledning...3 Server...3 Klient... 3 Ansluta till servern...3 Huvudchat...4 Privat kommunikation...5

Läs mer

HexaFlip. Kravspecifikation

HexaFlip. Kravspecifikation HexaFlip Kravspecifikation Dokumentversion 1.0 Martin Larsson marla316@student.liu.se Carl Lindwall carli914@student.liu.se Senast modifierad 2009 02 17 Sammanfattning Detta dokument skall ligga som grund

Läs mer

Godkännande av kundapplikationer

Godkännande av kundapplikationer samhällsskydd och beredskap 1 (9) Godkännande av kundapplikationer MSB-50.2 samhällsskydd och beredskap 2 (9) Innehållsförteckning 1 Alla applikationer måste godkännas... 3 1.1 Hur går ansökan om godkännande

Läs mer

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI NG STRESS LUNDS TEKNISKA HÖGSKOLA - 2013-05-22 Projektmedlemmar: Emil Apelgren adi10eap@student.lu.se Fredrik Helander gda10fhe@student.lu.se Jonathan Klingberg

Läs mer

Webservice & ERP-Integration Rapport

Webservice & ERP-Integration Rapport Webservice & ERP-Integration Rapport Hardwood AB Mustafa Lazem 930916-9713 Jonas Ahrne 920325-0379 Hasan Nerjovaj 940130-7195 Stefan Liden 920628-0639 2014-05-18 Innehåll Bakgrund... 2 Syfte... 2 Projektbeskrivning...

Läs mer

Handbok Simond. Peter H. Grasch

Handbok Simond. Peter H. Grasch Peter H. Grasch 2 Innehåll 1 Inledning 6 2 Använda Simond 7 2.1 Användarinställning.................................... 7 2.2 Nätverksinställning..................................... 9 2.3 Inställning

Läs mer

TDDD78 Objektorientering: Lagring och livstid

TDDD78 Objektorientering: Lagring och livstid jonas.kvarnstrom@liu.se 2017 TDDD78 Objektorientering: Lagring och livstid Tre sorters variabel (1): Lokal 3 Deklareras i en metod Lokal variabel Varje anrop får sin egen "kopia": Två anrop till foo()

Läs mer

Objektorientering: Lagring, räckvidd och livstid

Objektorientering: Lagring, räckvidd och livstid TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Objektorientering: Lagring, räckvidd och livstid Tre sorters variabler, två sorters metoder Räckvidd och livstid 2 Variabler (lokala och medlemsvariabler)

Läs mer

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt Kravhantering / Testprocess - Agenda AGENDA Grundläggande kravhanteringsprocess. Insamling, dokumentation, prioritering, Test och förvaltning

Läs mer

Uppdrag för LEGO projektet Hitta en vattensamling på Mars

Uppdrag för LEGO projektet Hitta en vattensamling på Mars LEGO projekt Projektets mål är att ni gruppvis skall öva på att genomföra ett projekt. Vi använder programmet LabVIEW för att ni redan nu skall bli bekant med dess grunder till hjälp i kommande kurser.

Läs mer

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool Installation och konfiguration av klientprogramvara 2c8 Modeling Tool Hämta programpaket, MSI Aktuell version av klientprogramvaran finns tillgänglig för nedladdning på vår hemsida på adress http://www.2c8.com/

Läs mer

Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen

Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen 1 (6) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv din tentamenskod på varje blad (så att

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

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

Åtkomst och användarhandledning

Åtkomst och användarhandledning Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...

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

Mobila applikationer. Mobil applikationer. Java ME. Konfigurationer. Grunderna i ME

Mobila applikationer. Mobil applikationer. Java ME. Konfigurationer. Grunderna i ME Johan Eliasson Tentan 12/1 9-12 i skrivsal 7 östra paviljongen (om de inte flyttat den till ngn annan lokal) Förklara begrepp Ex: Vad är en tråd? Vad gör en LayoutManager? Hur fungerar Observer-Observable

Läs mer

TENTAMEN. Objektorienterade applikationer CHALMERS. 2018/2019, lp 3 DAT055. Uno Holmer

TENTAMEN. Objektorienterade applikationer CHALMERS. 2018/2019, lp 3 DAT055. Uno Holmer informationsteknik TENTAMEN KURSNAMN Objektorienterade applikationer PROGRAM: DAI 2 (TIDAL-2) 2018/2019, lp 3 KURSBETECKNING EXAMINATOR DAT055 Uno Holmer TID FÖR TENTAMEN Torsdagen den 21/3 2019 14.00-18.00

Läs mer

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal Tentamen DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl 14.00 17.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna

Läs mer

Projektuppgift - Gymmet

Projektuppgift - Gymmet Projektuppgift - Gymmet 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper

Läs mer

Piff och Puffs Chatsystem

Piff och Puffs Chatsystem Lunds Tekniska Högskola Piff och Puffs Chatsystem EDA095, Nätverksprogrammering - Projektrapport Gruppnummer: 1 Gruppmedlemmar: Alves-Martins, Rebecka adi10ral@student.lu.se Bredberg, Frida adifbr@student.lu.se

Läs mer

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0 Regelverk Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag Bilaga A Tekniska ramverk Version: 3.0 Innehållsförteckning 1 Bakgrund och syfte... 1 1.1 Definitioner 1 2 Inledning...

Läs mer

Projektuppgift - Biblioteket

Projektuppgift - Biblioteket Projektuppgift - Biblioteket 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper

Läs mer

Projektrapport EDA095

Projektrapport EDA095 Projektrapport EDA095 Grupp 8 Fredrik Stål, dt08fs5@student.lth.se Per-Gustaf Stenberg, dt08ps5@student.lth.se Mattias Frisk, dt08mf3@student.lth.se Joakim Hembrink, dt08jh8@student.lth.se 16 maj 2012

Läs mer

Projekt Fake för Virtutech

Projekt Fake för Virtutech Kungl. Tekniska Högskolan NADA 2D1954, Programutvecklingsprojekt för D3 Period 3-4, 2003 Grupp A6, Uppdrag 30e för Virtutech Projekt Fake för Virtutech User Requirements Document (URD) Lars Dobos Marcus

Läs mer

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande: MOI Ämnet mobila applikationer behandlar olika tekniker för att utveckla programvara riktad mot mobila enheter samt processen från idé till färdigt program. Ämnet mobila applikationer får bara anordnas

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

Elektronisk tullräkning Sid 1(9) Samverkansspecifikation. Version: 1.0 SAMVERKANSSPECIFIKATION. för. e-tullräkning

Elektronisk tullräkning Sid 1(9) Samverkansspecifikation. Version: 1.0 SAMVERKANSSPECIFIKATION. för. e-tullräkning Elektronisk tullräkning Sid 1(9) SAMVERKANSSPECIFIKATION för e-tullräkning Elektronisk tullräkning Sid 2(9) Innehållsförteckning 1 Inledning...3 1.1 Introduktion...3 2 Identifikation av parterna...4 2.1

Läs mer

Projektarbete 2: Interaktiv prototyp

Projektarbete 2: Interaktiv prototyp Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition

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

Objektorienterad programmering, Java, 5p TDBA63

Objektorienterad programmering, Java, 5p TDBA63 UMEÅ UNIVERSITET Datavetenskap 030219 PRAKTISKT DELPROV Objektorienterad programmering, Java, 5p TDBA63 Datum : 030205 Tid : 9 13 Hjälpmedel : Allt. Kommunikation med andra personer (direkt eller indirekt)

Läs mer

Instruktion för integration mot CAS

Instruktion för integration mot CAS IT-enheten Instruktion för integration mot CAS Per Hörnblad Instruktion 2010-10-29 Sid 1 (7) Instruktion för integration mot CAS Projektnamn Instruktioner för Integration mot CAS Fastställt av Per Hörnblad

Läs mer

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem). 1 (11) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS Individuellt Mjukvaruutvecklingsprojekt (Utvecklare av digitala tjänster) Den 1 juni 2011 ABSTRAKT Rapporten tar upp positiva och negativa erfarenheter som jag erhållit

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ÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

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

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

Distribuerade System, HT03

Distribuerade System, HT03 UMEÅ UNIVERSITET 21 oktober 2003 Institutionen för Datavetenskap Laborationsrapport Laboration Middleware Distribuerade System, HT03 Jini Namn: Anders Holm, c00asm@cs.umu.se Kjell Johansson, c00kjn@cs.umu.se

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

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0 Regelverk Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag Bilaga A Tekniska ramverk Version: 1.0 Innehållsförteckning 1 Bakgrund och syfte... 1 1.1 Definitioner 1 2 Inledning...

Läs mer

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor Papegojor Yanee är fågelentusiast. Sedan hon läst om IP over Avian Carriers (IPoAC), har hon spenderat mycket tid med att träna en flock papegojor att leverera meddelanden över långa avstånd. Yanees dröm

Läs mer

JobOffice SQL databas på server

JobOffice SQL databas på server JobOffice SQL databas på server Nedan följer en instruktion hur du konfigurerar JobOffice kassas SQL databas på en server. Om du känner dig osäker på det här, kontakta någon lokal data- och nätverkstekniker.

Läs mer

progecad NLM Användarhandledning

progecad NLM Användarhandledning progecad NLM Användarhandledning Rel. 19.1 Innehållsförteckning Innehållsförteckning... 2 Introduktion... 3 Hur du börjar... 3 Installation av progecad NLM Server... 3 Registrering av progecad NLM Server...

Läs mer

Trådar. Aktiva objekt

Trådar. Aktiva objekt Föreläsning 11 Trådar 1 Aktiva objekt Det är välkänt från vardagslivet att saker händer samtidigt. Aktiva objekt gör saker på eget initiativ, medan passiva objekt endast gör saker när de blir ombedda.

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

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

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

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

Systembeskrivning.

Systembeskrivning. KTH Institutionen för Numerisk Analys och Datalogi Systembeskrivning RedInc www.nada.kth.se/projects/prom03/redinc Uppdragsgivare: Projektmedlemmar: Harald Kjellin Daniel Oscarsson Rikard Laxhammar Tommy

Läs mer

Azure Designer. Version 1.0 Mats Persson

Azure Designer. Version 1.0 Mats Persson Version 1.0 Distributionslista Befattning Bolag/enhet Namn Åtgärd Info. Student KaU Carl Philip Matsson Konsult/huvudhandledare Sogeti Konsultchef Sogeti Åsa Maspers Projektledare/handledare Sogeti Marcus

Läs mer

Teknisk guide för brevlådeoperatörer. Annika Melin 2015-03-10 Version: 1.1

Teknisk guide för brevlådeoperatörer. Annika Melin 2015-03-10 Version: 1.1 Teknisk guide för brevlådeoperatörer Annika Melin 2015-03-10 Sida 1 av 21 Innehållsförteckning Inledning... 2 1 Dokumentinformation... 3 Syfte... 3 1.2 Avgränsningar... 3 1.3 Målgrupp... 3 1.4 Begrepp

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, 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

Länkning av Prolog under C

Länkning av Prolog under C Länkning av Prolog under C Kent Boortz Swedish Institute of Computer Science Box 1263, S-164 28 Kista, Sweden 1 september 1991 T91:14 Sammanfattning SICStus länkmoduler ger möjlighet att blanda Prolog-

Läs mer

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc.

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc. Microsoft Expression Blend + Sketch Flow Microsoft Expression Blend + Sketch Flow Grafisk utvecklingsmiljö Interaktiva applikationer för dator (WPF) och web (Silverlight) Färdiga byggstenar Hela produktioner:

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

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

Slutrapport Get it going contracts

Slutrapport Get it going contracts Slutrapport Get it going contracts Författare: Anthony Dry Datum: 2011-06-02 Program: Utvecklare av digitala tjänster Kurs: Individuellt mjukvaruutvecklingsprojekt 7.5p Linnéuniversitetet (Kalmar) Abstrakt

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

Detaljbeskrivning av Player

Detaljbeskrivning av Player Detaljbeskrivning av Player Syftet med Playerklassen är att representera det skepp som spelaren styr. Spelarens skepp styrs till skillnad från övriga skepp av spelaren både när det kommer till vilken riktning

Läs mer

Proj-Iteration1. Arkitektur alt. 1

Proj-Iteration1. Arkitektur alt. 1 Proj-Iteration1 PVG/Coaching Boris Magnusson Datavetenskap LTH Proj-Iter1-1 Registrering Registrering Arkitektur alt. 1 Personuppgifter Starttid Sorterare Måltid Efterbehandling Resultat Tre program som

Läs mer

Systemskiss. Redaktör: Anders Toverland Version 1.0. Status. LiTH Fordonssimulator. Granskad Godkänd. TSRT71 Anders Toverland

Systemskiss. Redaktör: Anders Toverland Version 1.0. Status. LiTH Fordonssimulator. Granskad Godkänd. TSRT71 Anders Toverland Systemskiss Redaktör: Version 1.0 Granskad Godkänd Status Sida 1 PROJEKTIDENTITET Grupp 1, 2005/VT, Linköpings Tekniska Högskola, ISY Gruppdeltagare Namn Ansvar Telefon E-post Anders Wikström Kvalitetsansvarig

Läs mer

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING SFÖRTECKNING 1. RFID-Kurser... 2 1.1. RFID Grundkurs... 2 1.2. RFID Fortsättningskurs... 3 1.3. RFID dator programmering... 4 1.4. RFID Systemadministration... 5 1.5. RFID Aktiv Systemadministration...

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

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

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

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Programmering av LEGO-robot Rickard Eriksson 2012-09-06 rieri@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport är till följd

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna.

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna. Modul 1: Molntjänst Publikt moln Privat moln Hybrid moln IaaS PaaS SaaS DaaS DaaS SLA Infrastructure as a Service, leverantör tillhandahåller infrastrukturen, jag tillhandahåller virtuella maskiner eller

Läs mer

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen

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

Idrottsapen. 1. Inledning. 2. Mål och syfte. 3. Projektbeskrivning

Idrottsapen. 1. Inledning. 2. Mål och syfte. 3. Projektbeskrivning Idrottsapen Slutrapport för projektet Idrottsappen. Projekttitel: Idrottsappen Uppdragstagaren: Sandklef GNU Labs, 710413-5137 1. Inledning Under samtal med olika aktiva personer inom olika idrotter framkom

Läs mer

Kör som root handbok. Geert Jansen Översättare: Stefan Asserhäll

Kör som root handbok. Geert Jansen Översättare: Stefan Asserhäll Geert Jansen Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Att använda Kör som root 6 3 Interna funktioner 8 3.1 X-identifiering........................................ 8 3.2 Gränssnitt med

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

WebOrderInstallation <====================>

WebOrderInstallation <====================> WebOrderInstallation 1 För installation av en kund som klient (en yttre användare som via WebOrderHandeln registrerar order) se vidare dokumentationen RdpKlientInstallation.pdf som kan hämtas ner från

Läs mer

Projektuppgift- Mashup- Applikation

Projektuppgift- Mashup- Applikation Projektuppgift- Mashup- Applikation Som avslutning på denna kurs är det tänkt att Du ska bygga en egen mashup- applikation. Du ska bygga en komplett applikation som du utan tvekan skulle kunna vilja visa

Läs mer

+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet.

+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet. Uppgift 1 Ett programmeringsparadigm är i grund och botten ett sätt att arbeta, ett sätt att möta problem. Det finns flera olika paradigm där varje paradigm har sina egna styrkor och svagheter. Det som

Läs mer

CMS, optimerade för programmerare Eller hur kan ett sådan skapas.

CMS, optimerade för programmerare Eller hur kan ett sådan skapas. Examensarbete CMS, optimerade för programmerare Eller hur kan ett sådan skapas. David Strömbom 2011-05-20 Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E Abstrakt Denna rapport fokuserar på att undersöka några

Läs mer

Datainsamling över Internet

Datainsamling över Internet Datainsamling över Internet I den här uppgiften skall du styra ett mätförlopp och hämta mätdata via internet. Från en dator skall du styra en annan dator och beordra den att utföra en mätning och skicka

Läs mer

Instruktioner för uppdatering av enheter med ISP

Instruktioner för uppdatering av enheter med ISP För AP produkter som använder ISP måste flashuppdateringen göras med hjälp av den medföljande MPC Manager. För att utföra en firmware uppdatering, följ dessa instruktioner: 1. Ladda ner och installera

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Android La sa va rden fra n sensorer

Android La sa va rden fra n sensorer Android La sa va rden fra n sensorer Notera att detta endast är en introduktion och inte fullständiga instruktioner. För att komma vidare på egen hand kan du följa de länkar till texter som anges. Sensorer

Läs mer