Göm menyn

TDDC76 Programmering och datastrukturer

Projekt


Se även kursens materialsida!

Projektet ska genomföras i grupper om fyra-sex personer. Nedanstående planering gäller.

Dokumenttexter ska vara maskinskrivna (något text- eller dokumentverktyg), figurer får ritas för hand. Dokumentens innehåll beskrivs kort på sidor som finns länkade under respektive projektmoment nedan. Se kursmaterialet "Objektorienterad programutveckling i ett nötskal" samt det analysdokumentetexempel som finns men som även ska kunna användas som mall för kravspecifikationen och designdokumentet, efter innehållsmässig anpassning.

För de projektgrupper som önskar finns versionshanteringsstöd (t.ex. med Subversion, SVN).

Projektgrupper har på eget initiativ och med framgång använt olika verktyg och bibliotek, t.ex.

  • Doxygen — dokumentationssystem för, bland annat, C++
  • Git — verionshanteringssystem (alternativ till SVN)
  • LaTeX — dokumentframställningssystem
  • SFML — multimediabibliotek
  • SDL — multimediabibliotek
  • WebCollab — webbaserat system för projekthantering
SFML — Simple and Fast Multimedia Library

Exempel på projekt som gjorts tidigare.


För frågor som kan vara av allmänt intresse finns en sida med svar.

Bilda projektgrupper och föreslå projekt

Projektgrupperna ska registrera sig genom anmälan till assistenten senast ett visst datum, se kursens schema för Ht1.

I samband med projektgruppsregisteringen — helst innan — ska gruppen välja ett projekt. Projektförslaget ska diskuteras med assistenten, som får göra en bedömning om dess lämplighet och genomförbarhet. Detta måste vara avklarat i så god tid att gruppen hinner skriva kravspecifikationen innan deadline för denna.


Kravspecifikationen

En kravspecifikation ska tas fram. Av denna ska det blivande systemets funktioner klart framgår och användargränssnitt och andra externa egenskaper ska beskrivas. Detta ska vara användarens syn och krav på systemet, dvs vad systemet ska klara, ej hur. Uppdelning kan göras i absoluta krav på det levererade systemet samt tilläggsfunktionalitet, vilken utlovas endast i mån av att det kan utföras inom projektets tidsram.

Vad bör en kravspecifikation innehålla?

Kravspecifikationen ska lämnas till handledaren för bedömning i slutet av Ht1, se exakt när i kursens schema för Ht1


Objektorienterad analys

OOA genomförs med utgångspunkt från kravspecifikationen. Analysen dokumenteras med objekt- och klassdiagram, scenarion, tidsdiagram, etc., med tillhörande beskrivande texter.

OOA-dokumentet ska vara handledaren tillhanda senast ett visst datum, se kursens schema läsperiod Ht2.

Klasskort och beskrivningsformulär

Vad bör ett analysdokument innehålla?

Värt att notera: En väl genomförd OOA och tillika OOD framhålls genomgående i tidigare års studenters erfarenhetsredovisningar som synnerligen viktigt för att projekt kunnat genomföras framgångsrikt och i tid (eller inte, om man slarvat...).

Objektorienterad design

OOD genomförs med utgångspunkt från OOA-dokumentet. Denna omfattar en överordnad systemdesign, infrastrukturdesign (t.ex. design av användargränsytor och permanent datalagring), samt detaljdesign av klasser. Resultatet ska vara förfinade och kompletterade diagram, scenarion och tillhörande beskrivningar, samt avslutade klassbeskrivningar.

Designdokumentet lämnas till handledaren senast ett visst datum, se kursens schema för Ht2.

Klasskort och beskrivningsformulär

Vad bör ett designdokument innehålla?


Objektorienterad programmering

Programmering av systemet görs i C++ och en "testmiljö" skapas, så att man på något sätt kan prova systemet. En möjlighet är att skriva ett huvudprogram som tillåter interaktiv testning av programmet. En annan möjlighet är att koda scenarion och låta programmet skriva ut olika resultat då ett scenario exekveras. Resultatet av detta moment ska vara ett välstrukturerat och välkommenterat program, inklusive nödvändiga datafiler, Make-fil för systemets generering, samt en användarhandledning.

Kodmallar (exempel)

Se stilguiden för anvisningar om hur koden ska utformas i olika avseenden.

Projektet ska vara avslutat och slutdokumentation (kod) inlämnad senast då läsperiod Ht2 slutar, se kursens kursens schema för Ht2.

Varje grupp ska lämna in en kort erfarenhetsrapport. Den kan utformas antingen så att gruppen skriver tillsammans om sina erfarenheter av projektet eller att var och en skriver om sina egna erfarenheter och att dessa sätts ihop i ett gemensamt dokument, se exempel på det senare (ett autentiskt dokument från tidigare år, lätt redigerat samt anonymiserat).


Sidansvarig: Tommy Olsson
Senast uppdaterad: 2012-08-13