Utgå från din lösning på inlämningsuppgift 2.
I den uppgiften fanns inget krav på att sakerna i komihåg-listan skulle finnas kvar
om programmet avslutades, men det ska du lägga till i den här uppgiften.
Programmet ska därför spara sina data i en databas.
Några tips
Man behöver inte följa de här förslagen.
-
Studera lektion 11
om hur man använder ADO.NET och databashanteraren SQL Server CE.
-
Använd programmet SkapaDatabas
för att skapa en databas som innehåller en lämplig tabell för att lagra komihåg-listan.
-
Använd programmet KollaDatabas
under utvecklingsarbetet för att studera innehållet i tabellen,
lägga in exempelrader, och rensa tabellen.
På så vis kan du kolla att ditt eget program gör rätt.
-
Om du lyckades skilja hanteringen av uppgiftslistan i uppgift 2,
till exempel i en särskild klass som heter Uppgiftslista,
från resten av programmet,
så kan det räcka med att göra ändringar i den klassen för att lagra data i databasen.
I stället för att ha en egen lista, så ska programmet nu lägga sina data i databasen.
-
Så fort man gör en ändring i uppgifterna
(dvs lägger till en ny, tar bort en gammal, eller ändrar i en uppgift)
så ska motsvarande ändring göras i databasen.
-
Man kan räkna med att inga andra program samtidigt ändrar i databasen,
så ditt komihåglisteprogram behöver inte kolla ifall saker plötsligt
ändrats i databasen medan programmet kör.
-
För att punkten ovan ska vara sann,
måste du vara försiktig hur du använder KollaDatabas
om du kör det programmet samtidigt som ditt komihåglisteprogram.
-
Om du har både komihåglisteprogrammet och KollaDatabas igång samtidigt,
kan det uppstå problem med att databasen är låst.
Då kan det kastas ett undantag om "file sharing".
Så här ser det ut om det händer i KollaDatabas:
Samma fel kan uppstå om man glömmer att stänga en uppkoppling med con.Close().
-
Create table-kommandot i programmet SkapaDatabas
deklarerar kolumnen Nummer som nyckel.
Därför kommer det att kastas ett undantag från SQL Server CE
om man försöker lägga in två rader med samma värde på Nummer.
Så här ser det ut om det händer i KollaDatabas:
-
Kommunikationen mellan programmet och databashanteraren sker ju i form av SQL-kommandon,
som är textsträngar. Bygg först ihop textsträngen i en variabel.
Om det är något som inte fungerar, så är det ofta en god idé att studera den textsträngen,
antingen i debuggern eller till exempel med en MessageBox.
-
Lägg try-catch-block runt alla databasanrop,
och lägg en felutskrift med MessageBox i catch-grenen,
så du ser om något gick galet, och i så fall vad.
(Titta i programmet KollaDatabas.)
-
Tänk på att läraren ska provköra programmet,
och du vet inte hur hans PDA-emulator råkar se ut just nu.
Därför är det bra om ditt program kollar om databasen finns,
och skapar en lämplig databas om den inte redan fanns.
-
Avsnittet Microsoft SQL Server CE på s 825-860 i läroboken
är förstås lämpligt att läsa när man ska göra den här uppgiften.
Redovisning
Till den här uppgiften ska du lämna in två saker:
- En skriftlig rapport.
- En zip-fil med källkoden.
Rapporten ska innehålla följande:
-
Ett försättsblad med rubrik, namn, e-postadress och datum.
Det måste stå vilken kurs det handlar om.
-
Ett reklamblad, bestående av en enda sida som (gärna med bilder) beskriver
varför man ska köpa just ditt program.
Var informativ - vad är det som faktiskt gör ditt program användbart,
och bättre än konkurrenterna?
Reklamen vänder sig till slutanvändare, inte till programmerare.
-
En kort (2-4 sidor), översiktlig beskrivning av hur ditt program fungerar,
bland annat om hur du valde att göra sparandet av data.
Rita gärna bilder.
Motivera dina designbeslut, i synnerhet valet av sätt att spara av data.
Beskrivningen vänder sig till programmerare, inte till slutanvändare,
och man kan förvänta sig att läsaren har grundkunskaper både om hur man använder Pocket PC
och om hur man programmerar den med C# i .NET Compact Framework.
Syftet med beskrivningen är att underlätta för programmeraren att förstå programkoden,
när hon sen börjar titta på den.
Läs i
Hur man skriver en rapport
om grunderna för rapportskrivning.
Om man vill slippa höra mitt eviga gnäll om svenska språket,
så bör man undvika särskrivningar
och satsradningar.
Packa också ihop applikationen i en Zip-fil.
Du hittar katalogen under till exempel
C:\Documents and Settings\Padrone\My Documents\Visual Studio Projects.
Om ditt projekt heter Komihåglistan,
så heter katalogen med projektet
C:\Documents and Settings\Padrone\My Documents\Visual Studio Projects\Komihåglistan.
Packa ihop hela katalogen med projektet.
Skicka både rapporten och Zip-filen med e-post till läraren.
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.
Några fler praktiska tips, mest för att underlätta för mig:
-
Skriv gärna i mailet vilken kurs det handlar om,
till exempel "PDA-uppgift 3", och inte bara "uppgift 3".
-
Skriv också gärna i mailet vilken version av Visual Studio du använder,
så jag direkt kan välja rätt miljö att provköra i.
-
Testning är en viktig del i all programmering.
Provkör programmet noga för att försöka hitta eventuella fel.
Jag kommer att lägga in, redigera och ta bort uppgifter i olika kombinationer,
med och utan omstarter av programmet,
och om du gör det själv först så slipper du kanske skicka in uppgiften igen.
Om samarbete:
Varje student ska göra en egen lösning, och skicka in den,
men det är inte förbjudet att samarbeta eller fråga andra studenter om hjälp.
Däremot ska man i så fall tydligt ange vilka som man samarbetat med.
|
Föregående lektion |
Lektionslista |
Projektuppgiften
Thomas Padron-McCarthy
(Thomas.Padron-McCarthy@tech.oru.se),
22 maj 2008