Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Relevanta dokument
Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Ansvarig lärare: Håkan Sundell, Tuve Löfström, Anders Gidenstam Telefonnummer: , 4236, 4214

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Viktigt! Glöm inte att skriva TentamensKod (ditt anonyma student-id) på alla blad du lämnar in.

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

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

Systemvetarutbildningen och dataekonomutbildningen

Systemvetarutbildningen och dataekonomutbildningen

Daniel Akenine, Teknikchef, Microsoft Sverige

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.

Android översikt. TDDD80 Mobila och sociala applikationer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Guide för Innehållsleverantörer

Webbtjänster med API er

Windows Forms Winstrand Development

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

Agil användbarhetsutveckling för handhållna enheter. Per Lind

Systemvetarutbildningen och dataekonomutbildningen

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

DAT043 - Föreläsning 7

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

Inledande programmering med C# (1DV402) Introduktion till C#

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

Rättningstiden är i normalfall 15 arbetsdagar och resultat anslås sedan i Ladok inom en vecka (under förutsättning att inget oförutsett inträffar).

Kunskapsbank ICARUS DB

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Molntjänster. Översikt. Lektion 1: Introduktion till molntjänst. Introduktion till molntjänst. Vilka tjänster finns? Säkerhet.

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

PROGRAMMERINGSTEKNIK TIN212

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Tjoho. Applikationsutvecklarens handledning. Maj 2003

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Beskrivning av gesällprov RMI Chat Mikael Rydmark

Objektorienterad programmering. Grundläggande begrepp

Alla rättigheter till materialet reserverade Easec

30 år av erfarenhet och branschexperts

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

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

INNEHÅLLS FÖRTECKNING

Mål med lektionen! Repetera och befästa kunskaperna.

Systemkrav WinServ II Edition Release 2 (R2)

Design och konstruktion av grafiska gränssnitt

Introduktion till Entity Framework och LINQ. Källa och läs mer

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

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

Övning: Arbeta med Azure Explorer

Diagnostisktprov Utveckla i Azure

Kunskapsbank ICARUS DB

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

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

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

Creo Customization. Lars Björs

Innehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser

Så får du Microsofts Office-paket gratis

Laboration 1: Design av applikation för uthyrning av maskeradkläder

Föreläsning 2. Operativsystem och programmering

Instruktion för användande av Citrix MetaFrame

Language Integrated Query, LINQ, och databaser

Arv. Objektorienterad och komponentbaserad programmering

Cloud Computing för arkitekter Sten Sundblad IASA och Sundblad & Sundblad

Grundläggande programmering med C# 7,5 högskolepoäng

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund

TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215/TIG091

ASP.NET Thomas Mejtoft

Komponenter med COM (och COM+/VC++ 7.0)

WINDOWS PRESENTATION FOUNDATION LEKTION 1

Design Collaboration Suite

Android - En översikt samt titt på utvecklingsmiljö. Kalle Prorok 12 nov 2013

Räkna med ASP.NET MVC 3

Instruktion för användande av Citrix MetaFrame

Lab5 för prgmedcl04 Grafik

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

Introduktion till arv

Objektorienterad programmering

Installera SoS2000. Kapitel 2 Installation Innehåll

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

Classes och Interfaces, Objects och References, Initialization

Instruktion för användande av Citrix MetaFrame

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Handbok Simond. Peter H. Grasch

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Kapitel 4 Arkivmenyn Innehåll

Big Data i spelbranchen

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) Slutrapport

Grafiska användargränssnitt i Java

Inlämningsarbete Case. Innehåll Bakgrund bedömning inlämningsarbete... 2 Inlämnade arbeten... 4

Transkript:

Mobila Applikationer Provmoment: Ladokkod: Tentamen ges för: Tentamen NMO011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-06-05 Tid: 09.00 14.00 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på tentamen: 50 poäng För att få respektive betyg krävs: G=28, varav minst 21 poäng på teori-delen. VG=40, varav minst 21 poäng på teori-delen. Allmänna anvisningar: Skriv dina svar på separata blad När du är klar med tentamen: Stäng ner samtliga applikationer, och stäng ner den virtuella maskinen. Rättningstiden är som längst tre veckor Viktigt! Glöm inte att skriva namn på alla blad du lämnar in. Lycka till! Ansvarig lärare: Håkan Sundell, Shirin Tavara, Anders Gidenstam Telefonnummer: 033 435 4426, 4097, 4214

Svarsblankett Namn: (Ifylles av student) Personnummer: (Ifylles av student) Hårddisk: (Ifylles av student) Uppgift 1: A B C D a) b) c) d) e) Uppgift 4: A B C D a) b) c) d) e) Uppgift 7: A B C D a) b) c) d) e) Uppgift 2: A B C D a) b) c) d) e) Uppgift 5: A B C D a) b) c) d) e) Uppgift 3: A B C D a) b) c) d) e) Uppgift 6: A B C D a) b) c) d) e) Observera: Det minimala resultatet på uppgift 1 till 7 är 21 poäng. Om detta inte uppnås, kommer inte uppgift 8 till 10 att beaktas och automatiskt få 0 poäng. 2

1. Svara med något av de angivna alternativen på följande frågor. (a) Den viktigaste begränsningen i hårdvara med moderna mobila plattformar jämfört med stationära, som avsevärt påverkar designen av mjukvara, är? A. Kamerans upplösning. B. Batteriets kapacitet och beräknad körtid. C. Hastigheten på processorn. D. Möjligheter att presentera 3D-grafik. (b) En vanlig form av applikationer för mobila plattformar som utvecklas i Java är? A. Applet. B. Midlet. C. Servlet. D. Beanlet. (c) För att komma till rätta med hårdvaru-begränsningarna på en mobil plattform används ofta? A. Simplified Algorithms, Floating Point Processing, Data Replication, Pre- Computing. B. Simplified Algorithms, Fixed Point Processing, Data Compression, Pre- Computing. C. Parallel Algorithms, Fixed Point Processing, Data Compression, Real-Time Calculation. D. Parallel Algorithms, Floating Point Processing, Data Replication, Real-Time Calculation. (d) Fördelarna med distribuerade system kan karaktäriseras enligt? A. Resource Sharing, Security, Concurrency, Scalability, Fault tolerance. B. Manageability, Openness, Security, Scalability, Fault tolerance C. Resource Sharing, Openness, Concurrency, Scalability, Fault tolerance D. Complexity, Security, Manageability, Unpredictability (e) Modellen där all hantering av logik och data görs på servern, och klienten endast sköter presentationen kallas för? A. Fat client model. B. Thin client model. C. Smart client model. D. Peer-2-peer model. 3

2. Svara med något av de angivna alternativen på följande frågor om system- och nätverkstjänster på Windows Phone 7-baserade enheter. (a) Vilken av följande interaktionsmodeller stöds av potentiellt tidskrävande nätverksoperationer för t.ex. System.Net.Sockets.Socket och System.Net.WebClient i.net för Windows Phone 7.5? Anropande tråd? A. Får omedelbart tillbaka en kod som anger om operationen kunde utföras direkt eller inte utfördes alls. B. Bifogar ett trådobjekt som startas när uppgiften är redo att slutföras. C. Blockeras i metoden tills uppgiften är slutförd. D. Bifogar en delegat som anropas när uppgiften är redo att slutföras. (b) Windows Phone 7.5 medförde vissa skillnader för hur applikationer hanterar sin livscykel gentemot Windows Phone 7. Vilket av följande alternativ hör till dem? A. En deaktiverad men inte utrensad (eng. tombstoned) applikation kan skrivas så att den kan återställas utan att behöva initiera om alla sina objekt. B. En applikation behöver inte spara sitt tillstånd när den förlorar fokus / deaktiveras utan bara när den rensas bort ur minnet (eng. tombstoned). C. En deaktiverad men inte utrensad (eng. tombstoned) applikation kan alltid återställas utan att behöva initiera om alla sina objekt. D. Livscykelhanteringen förenklades för applikationsutvecklaren. (c) Vad utmärker Cloud computing? A. Beräkningsresurser och lagringsplats för data tillhandahålls av en enormt kraftfull server. B. Begreppet cloud computing används främst om system där en organisation äger både hårdvaran och tjänsterna som använder den. C. Beräkningsresurser och lagringsplats för data är spritt över ett stort sammankopplat nätverk av servrar. D. Cloud computing är specifikt för Windows Phone enheter. (d) En applikation skall ta emot/upptäcka externa händelser när de sker (t.ex. att en motspelare har gjort ett drag i en distribuerad spelapplikation). Den av följande systemtjänster som är bäst lämpad för detta är? A. Periodic Background Agent. B. Background Notification. C. Push Notification. D. On Idle Background Agent. (e) Molnplattformen Windows Azure tillhandahåller tjänsterna? A. Identity och Compute. B. Windows Live och Bing. C. ASP.NET och LINQ. D. Compute, Storage, Networking och Identity.. 4

3. Svara med något av de angivna alternativen på följande frågor om användargränssnitt på Windows Phone 7-baserade enheter. (a) Metro är? A. Ett tillägg till Windows Phone 7 SDK. B. Biblioteket för vanliga användargränssnitt på Windows Phone 7. C. En synonym till Silverlight. D. Namnet på den rekommenderade stilen för Windows Phone 7 applikationer. (b) I Windows Phone 7 är XAML-kod? A. Det enda sättet att beskriva vilka element som ingår i ett användargränssnitt. B. Ett sätt att beskriva vilka element som ingår i ett användargränssnitt. C. Enbart ett sätt att beskriva hur elementen i användargränssnittet skall se ut. D. Ett sätt att spara input från användaren. (c) Under körning är användargränssnittets kontroller tillgängliga för applikationsprogrammet som? A. XAML-kod. B. Properties. C. Objekt. D. Inte alls. (d) För att användas i en databindning (eng. data binding) måste datakällan? A. Vara ett objekt med properties. B. Vara en Silverlight kontroll. C. Implementera interface:t IDataSource<T>. D. Implementera interface:t IChangeProperty. (e) När enhetens orientering ändras så innebär det för den aktiva applikationen? A. Att applikationen kan behöva ändra kontrollernas layout. B. Ingenting, eftersom systemet hanterar allt. C. Att applikationen måste rotera sitt GUI. D. Att applikationen måste skapa alla kontrollerna igen. 5

4. Svara med något av de angivna alternativen på följande frågor om Android och Android SDK. (a) Android utvecklades utifrån en grundfilosofi baserad på ett antal principer. En av dessa principer är öppenhet. Att Android är öppet innebär framförallt. A. att utvecklaren har möjlighet att fullt ut utnyttja allt som de mobila enheterna har stöd för. B. att Android tillhandahåller en lång rad bibliotek och verktyg som underlättar utvecklandet av rika applikationer. C. att utvecklaren kan kombinera information från t ex webben med data på en individuell enhet. D. att Android inte skiljer mellan kärnapplikationer och tredje parts-applikationer. (b) Vilket av följande påståenden om Android som plattform är korrekt? A. Mjukvaran för Android är skriven speciellt för mobila enheter hela vägen från botten av mjukvarustacken upp till applikationerna. B. Säkerhetssystemet i Android skiljer på opålitliga applikationer som inte har tillgång till någon information på enheten och betrodda applikationer som får tillgång till alla filer som finns på enheten. C. Plattformens bas är en operativsystemskärna skriven i C. D. En Androidapplikation distribueras som standard Java-byte kod (.class-filer). (c) Vilket av följande påståenden är sant om en Androidapplikations gränssnitt A. Gränssnittet måste definieras i XML-filer. B. För att en aktivitet skall kunna visas så måste den definieras i Application.mk. C. Gränssnittet måste definieras i java-kod. D. En Aktivitet motsvarar en skärmvy i en applikation. (d) Ett Intent är en klass i Android. Vilket av följande påståenden om Intent är sant? A. Varje Intent som applikationen kan komma att använda måste listas i AndroidManifest.xml. B. Ett Intent beskriver vad en applikation vill få gjort i en given situation. C. Vilka Intents som finns är bestämt av Android versionen som används. D. En applikation måste alltid se till att själv tillhandahålla mottagare för de Intents den vill använda. (e) Man kan definiera tjänster (eng. Services) i Android. Vilket påstående är sant avseende tjänster. A. En Androidapplikation kan innehålla antingen Aktiviteter eller Tjänster, men inte både och. B. En tjänst motsvarar en skärmvy i en applikation. C. Alla tjänster har samma prioritet. D. En tjänst kan köras kontinuerligt i bakgrunden utan behov av ett eget gränssnitt. 6

5. Svara med något av de angivna alternativen på följande frågor om Android SDK och NDK. (a) Vilket av följande påståenden är sant om Content Providers? A. Content Providers kan användas för att göra det möjligt för flera Androidapplikationer att få åtkomst till samma data. B. En Content Provider kan endast hantera enkla datatyper. C. Content Providers motsvarar en databas och kallas också för SQLite. D. Den data som hanteras av en Content Provider är alltid endast åtkomlig för den egna Androidapplikationen. (b) Vilket av följande påståenden är sant avseende AndroidManifest.xml? A. AndroidManifest.xml skall endast skapas om det finns särskilda skäl för det. B. AndroidManifest.xml definierar bland annat vilka komponenter som en applikation innehåller. C. AndroidManifest.xml definierar endast vilka aktiviteter som programmet har. D. Det primära syftet med AndroidManifest.xml är att ange vilka rättigheter som applikationen kräver för att få köras. (c) Vilket av följande påståenden är sant avseende hur operativsystemet hanterar Androidapplikationer? A. Varje Aktivitet körs normalt i en egen process. B. Endast den aktuella aktiviteten finns inläst i minnet. Så fort en aktivitet förlorar fokus så rensas den ur minnet. C. Androidapplikationer hanteras i en stack av operativsystemet. D. Varje Androidapplikation körs normalt i en egen process. (d) Vilket av följande påståenden är sant avseende på användning av native-kod (eng. native code) i Androidapplikationer? A. Native-koden i en Androidapplikation kan inte anropa Java-metoder. B. Tekniken som används för att anropa native-kod från Java heter Dalvik. C. En Androidapplikation som använder native-kod kan enbart distribueras för en Android plattform (e.g. ARM eller x86). D. En Androidapplikation som anropar native-kod i ett dynamiskt länkat bibliotek är själv ansvarigt för att ladda de native-bibliotek som native-koden är beroende av. 7

(e) Vilket av följande påståenden om Android versioner och Android API nivåer är sant? A. Android API nivåer används primärt för att skilja på applikationer för enklare enheter (t.ex. billiga enkla mobiltelefoner) från de för mer avancerade enheter (t.ex. surfplattor och high-end mobiltelefoner). B. Android versionerna är namngivna efter den första enhet som släppts för respektive version. C. Android versioner är normalt inte bakåtkompatibla, d.v.s. applikationer skrivna för en tidigare version går inte att köra på en nyare. D. En applikation skriven för en lägre Android API nivå går normalt att köra på en enhet som stödjer en högre Android API nivå. 8

6. Svara med något av de angivna alternativen på följande frågor om språket C++. (a) En användbar konstruktion som finns i språket C# men saknas i språket C++ är? A. Multipelt arv (eng. Multiple inheritance). B. Gränssnitt (eng. Interface). C. Referenser. D. Konstruktor (eng. Constructor). (b) Tidsmässigt kan definitionen av språken i C-familjen ordnas enligt? A. C, Java, C++, C#. B. C, C#, Java, C++. C. C, C++, Java, C#. D. C, C++, C#, Java. (c) För att komma åt privata attribut i en viss klass inifrån definitionen av en annan klass används? A. Går inte, man måste i så fall definiera attributet som internal. B. Nyckelordet friend. C. Genom att definiera en motsvarande egenskap (eng. Property). D. Nyckelordet public. (d) För att få kompilatorn att generera speciella versioner av en metod beroende på argumentets aktuella typ (som kan vara valfri) används? A. Nyckelordet template. B. Destruktorer (eng. destructor). C. Nyckelordet volatile. D. Uttrycket void *. (e) Standard Template Library (STL) är? A. Ett tillägg till Microsoft Visual C++. B. Ett länkbart bibliotek med trådsäkra (eng. Thread-safe) klasser. C. En del av standardbiblioteket (eng. Run-time library) för C++. D. Ett tillägg till språket C++ som går att ladda ner fritt. 9

7. Svara med något av de angivna alternativen på följande frågor om Windows Phone 7- baserade enheter. (a) Applikationer som inte körs för tillfället i förgrunden, sätts av operativsystemet i något av lägena? A. Sleeping eller Blocking. B. Dormant eller Tombstone. C. Waiting eller Pending. D. Running eller Ready. (b) Möjligheten att låta användaren köra flera applikationer samtidigt stöds via? A. Inte på något sätt alls. B. Full multi-tasking capability. C. Endast begränsat via background tasks. D. Full multi-threading capability. (c) Enheten för att kunna bestämma vilken riktning i rummet som den mobila enheten befinner sig i, kallas för? A. Accelerator. B. Sensors library. C. Directional Unit. D. Gyroscope. (d) Filformatet som skall användas för att spela upp specifika ljudeffekter är? A. mp3. B. divx C. wav D. wma (e) Konceptet som används för att ett program skall kunna utföra uppgifter som kan äventyra användares integritet eller säkerhet, kallas för? A. Launchers and Choosers. B. Requesters and Guaranteers. C. Identifiers and Validators. D. Toasts and Notifications. 10

8. Skapa ett nytt projekt av typen Phone Application - Silverlight med språket C# i Visual Studio. Uppgiften går ut på att skapa ett användargränssnitt till en bibliotekskatalog. Användargränssnittet skall bestå av en listvy som visar titel och författare för alla böcker och en detaljvy visar detaljer om en bok enligt bildexempel nedan (det är inte nödvändigt att följa layouten exakt, speciellt förbättringar är välkomna). När en bok väljs i listvyn skall motsvarande detaljvy visas för boken. Om användaren trycker på knappen close i detaljvyn eller back-tangenten skall applikationen återgå till listvyn. Gränssnittet använder ett färdigt logik- och datalager för att hämta information från en lokal databas. DLLerna för detta datalager och databasenfilen själv måste läggas till i ert projekt. Filerna LibraryLogic.dll och LibraryLogicDB.dll skall läggas till som referenser (Add Reference -> Browse). 11

Databasfilen BooksDB.sdf läggs till som content som kopieras till enheten (default). Access till logiklagret sker helt via de abstrakta klasserna i LibraryLogic och en instans av LibraryLogicDB.Library klassen. (T.ex. LibraryLogic.Library library = new LibraryLogicDB.Library(); Library.TitleSearch(..) osv.) Klasserna i LibraryLogic.dll har följande gränssnitt: Användargränssnittet skall använda detta gränssnitt för att hämta informationen och får inte gå direkt till databasen (eller databaslagret). 12

9. Skapa ett nytt projekt av typen Android Application Project med språket Java i Eclipse för Android SDK. Ni skall använda Android API nivå 8 eller högre. Programmets skall visa en skärm som låter användaren ange en titel och ett meddelande i textfält och när man klickar en knapp med texten klar skall programmet växla till en ny skärm som visar titeln och textmeddelandet på ett sådant sätt att de inte kan redigeras. 13

10. Skapa ett nytt projekt av typen Windows Phone Game (4.0) med språket C# och ramverket XNA i Visual Studio. Programmet skall hela tiden presentera ett valfritt grafiskt objekt, med en storlek på 32 gånger 32 pixlar. När användare pekar på en annan position på skärmen skall objektet mjukt (med en hastighet av 30 pixlar per sekund) förflyttas till den valda positionen och därefter stanna. 14