KTH
Inda, läsåret 04/05
Nada

Inda förstasida

    Nyheter
    Föreläsningar
    Uppgifter
    > Projekt
    Hederskodex

Projekt

I samband med övning 8 i vecka 15 kommer ni att välja ett projekt och dela upp er i grupper.

Projekten ska göras av tvåpersonersgrupper. I undantagsfall kan man också göra ett något större projekt i en grupp om tre personer. Men då måste ni ha särskilt godkännande av er övningsledare. Man får inte göra projektet själv.

Ert program ska ha ett GUI, ett grafiskt användargränssnitt. Kapitel 11 i programmeringsboken ger en bra introduktion till hur man bygger grafiska användargränssnitt. Projektet måste göra i Java. Ni kan välja mellan tre olika uppgifter: ett spelprogram, ett simuleringsprogram eller ett ritprogram. Ni får gärna, men måste inte, använda bokens exempel som utgångspunkt för ert projekt.

Projektet kommer att redovisas i fyra steg.
  • Övning 9 (vecka 16). Inlämning av projektplan och muntlig lägesrapport.
  • Övning 10 (vecka 17). Muntlig lägesrapport.
  • Övning 11 (vecka 18). Inlämning av slutrapport och körbar prototyp. Muntlig lägesrapport.
  • Övning 12 (vecka 19). Inlämning av färdig kod och muntlig slutrapport.
Det blir alltså fyra muntliga rapporter. Dessa ska göras av en person i gruppen och båda deltagarna i gruppen ska göra två muntliga presentationer var.

De två skriftliga dokumenten, projektplan och slutrapport, beskrivs i detalj nedan. Ni ser på schemat att rapporterna ska lämnas in ganska tidigt. Detta är för att ni ska ha möjlighet att skriva om och förbättra er rapport till nästa vecka. Att skriva rapporter är ett iterativt arbete och det är normalt att man arbetar med rapporten under en längre tid. Rapporterna måste naturligtvis vara tryckta och professionellt utformade. Handskrivna dokument accepteras inte.

Prototypen ska vara ett körbart program och en annan projektgrupp ska ha provkört er prototyp inför övning 11.

Projektplan
Ert dokument måste innehålla följande avsnitt med följande titlar i följande ordning.
  • Användarbeskrivning. Vem kommer att använda ert program? Vilka antaganden gör ni om användarna? Är de vana datoranvändare, är de specialister, nybörjare, små barn, etc.
  • Problembeskrivning. Vilket problem löser programmet.
  • Användarscenarier. Ge två exempel på scenarier där en av era tänkta användare använder programmet. Du måste beskriva i detalj vad de ser, vilken typ av input de måste ge, hur de ger sin input och hur programmets output ser ut.
  • Tekniska frågor. En lista av tekniska frågor som ni måste hantera när ni bygger ert system. Var så detaljerad som möjligt. Ett viktigt steg mot en god design är att få ner så många frågor som möjligt på papper på ett organiserat sätt med så många förslag till lösningar som möjligt.
  • Programdesign.
    a) Ett blockdiagram som visar de huvudsakliga komponenterna i ert program och hur de samverkar. Till diagrammet hör en lista med korta beskrivningar av varje komponent.
    b) En beskrivning av de grundläggande klasserna som ni kommer att implementera med en beskrivning av de viktigaste metoderna i varje klass.
  • Arbetsplan. Beskriv hur arbetet kommer att delas upp mellan personerna i projektet. Gör en tidsplan som visar när olika delmoment i projektet ska vara klara. Gör också en integrationsplan som visar hur de olika delarna ska integreras till en färdig produkt.
  • Testplan. Beskriv hur ni tänker testa programmet. Om ni räknar med att göra användartestning så bör ni beskriva vilka uppgifter som testanvändaren ska utföra och hur man ska testa resultatet.
Försök att skriva ett så komplett och detaljerat dokument som möjligt. Ju mer jobb ni gör nu desto lättare och snabbare kommer den verkliga implementationen att gå. Det är svårt att skriva en bra projektplan och jag räknar med att samtliga grupper kommer att få i uppdrag av sina övningsledare att göra ändringar och tillägg efter att rapporten har lämnats in första gången.

Slutrapport
Er slutrapport kommer att bestå av samma sju avsnitt som projektrapporten (plus lite till) och kommer att ha samma titlar. Men nu ska varje avsnitt att delas in i tre delavsnitt med namnen A, B och C.
  • A ska vara samma text som i projektplanen.
  • B ska vara en uppdaterad text som tar hänsyn till vad som verkligen hände när ni gjorde projektet.
  • C är text som jämför A och B. I er jämförelse måste ni förklara varför ni ändrade på er ursprungliga plan. Om inget har ändrat sig så säg det.
Ni måste göra detta för varje avsnitt. Avsnitt 7B ska innehålla era testresultat och en analys av dessa. Det här typen av post mortem är ett utmärkt tillfälle att reflektera över hur projektet gick och att lära sig så mycket som möjligt för framtiden.

Dokumentet ska också innehålla ett avsnitt 8 med titeln sammanfattning. Här ska ni beskriva vad ni har lärt er av projektet. Om ni har planer på att utveckla projektet ytterligare så vill vi gärna höra om era idéer.

Utöver de åtta avsnitten ovan så ska ert dokument också innehålla en bruksanvisning (User's Manual) för ert system.
Stefan Nilsson
2005-03-23