Det här är hemtentan som går lördag 29 maj 2010 i kursen Mobiltelefonapplikationer med Java ME.
Ansvarig lärare är
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
telefon 070-73 47 013.
Instruktioner
-
Skriv och provkör programmet som beskrivs i uppgiften,
och skicka sen in det färdiga programmet till mig
(thomas.padron-mccarthy@oru.se)
senast klockan 08:00 söndag 30 maj 2010.
-
Uppgiften ska lösas enskilt, dvs inga grupper av två eller flera studenter.
-
Du får använda dator, böcker och vilka andra hjälpmedel som helst, men
du får inte samarbeta eller fråga någon (utom mig).
-
Om du behöver fråga något, så kontakta gärna mig.
Det är nog bäst att ringa eller SMS:a
(se mobilnumret ovan),
för jag lovar inte att jag kollar e-posten under dagen.
-
Packa ihop hela katalogen med applikationen i en Zip-fil, och skicka den som en bilaga.
Men döp först om Zip-filen från nånting.zip till exempelvis nånting.info för att överlista överambitiösa virusfilter.
Om applikationen bara består av en enda Java-fil kan man i stället skicka bara den filen.
-
Om du inte senast på söndagen fått e-post från mig med en bekräftelse
på att du skickat in uppgiften,
bör du kontakta mig, enklast genom att ringa eller SMS:a mig
(ifall det är e-posten som inte fungerar).
Det kommer förmodligen att ta två veckor innan jag hinner rätta de inlämnade uppgifterna.
-
Godkänt resultat på den här hemtentan ger betyget G på teoridelen av kursen.
Tillsammans med godkända inlämningsuppgifter ger detta betyget G på hela kursen.
Om man vill ha betyget VG ska man dessutom själv hitta på och göra en mindre projektuppgift.
Uppgiften
På en orienteringstävling springer man runt i skogen och letar rätt på kontroller.
Vid varje kontroll brukar det finnas en stämpel,
eller något annat sätt för den tävlande att visa att hon besökt kontrollen.
Vi ska anordna en orienteringstävling med tio kontroller,
och vi vill utnyttja våra kunskaper i Java ME för att göra tävlingen mer modern.
I stället för ett stämpelkort ger vi var och en av de tävlande en mobiltelefonapplikation.
Vid varje kontroll finns det sen en skylt med ett lösenord,
och de tävlande får skriva in lösenorden i mobiltelefonapplikationen.
Så här kan den se ut från början:
Det finns ett kommando för att kontrollera lösenordet.
För varje lösenord som kontrollerats och var rätt,
spärras det så att det inte går att ändra.
Om användaren skriver in fel lösenord på en kontroll,
ska hon få ett meddelande om att det var fel,
och det ska förstås inte markeras som rätt.
När alla tio lösenorden är inmatade och kontrollerade (och de var rätt),
bör programmet visa någon sorts tydligt meddelande,
till exempel en skärm med texten "Alla kontroller klara".
Lösenorden kan lagras i klartext i själva programkoden.
Vi inser att det är en säkerhetsrisk,
men vi räknar inte med att de deltagande ska stå där i skogen med datorer och dekompilera och analysera programmet vi gett dem.
Skriv programmet!
Det behöver inte se ut som i exemplen ovan.
Det här är de krav som finns på programmet:
-
Det ska finnas tio kontroller, med lösenord som har bestämts i förväg.
(Här är en lista som du kan använda: blå burk tio mot fem swordfish password apa båt citron.)
-
Det ska gå att kontrollera ett inmatat lösenord,
och programmet ska avgöra om det är rätt eller inte.
Om lösenordet är rätt ska den kontrollen markeras som klar.
-
Användaren ska få ett meddelande om lösenordet var fel.
Det ska gå att mata in varje lösenord flera gånger.
(Man kan ju råka skriva fel i hastigheten, där i skogen under tävlingen.)
-
Det finns inga särskilda krav på hur programmet ska hantera stora och små bokstäver.
Om rätt lösenord är blå, får du själv välja om programmet ska acceptera Blå och BLÅ.
-
De godkända kontrollerna måste sparas mellan programkörningar.
Om användaren råkar starta om telefonen ska hon inte behöva springa tillbaka, eller komma ihåg de gamla lösenorden.
-
När alla tio lösenorden är inmatade och kontrollerade (och de var rätt),
bör programmet visa någon sorts tydligt meddelande,
till exempel en skärm med texten "Alla kontroller klara".
-
Programmet får inte krascha,
till exempel om man skriver in en lång och konstig textsträng.
-
Var noga med att programmet "bara fungerar".
Användaren ska inte behöva krångla,
till exempel med att skapa extra filer eller köra särskilda installationsprogram,
för att kunna installera och köra programmet.
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
28 maj 2010