Göm menyn

TDDC76 Programmering och datastrukturer

Projekt


Projektet ska genomföras i grupper om fyra-sex personer. Plan för genomförande finns nedan.

Dokument som ska lämnas in ska vara skrivna med 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 moment i projektplaneringen nedan.

Grunderna i objektorienterad programutveckling och vanliga hjälpmedel beskrivs i dokumentet Objektorienterad programutveckling i ett nötskal

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

Övrigt

• Exempel på projekt som gjorts tidigare.
• Socketar i ett nötskal
• Frågor och svar
• Valgrind — ramverk för att bygga dynamiska analysverktyg — tillgängliga verktyg
• Humor

Plan för genomförande


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.

Projektgrupperna ska bestå av 4-6 personer. Vem ni bildar projektgrupp med väljer ni själva, och det är tillåtet att bilda grupper tvärs över klassgränserna så länge ni känner att gruppen kan arbeta tillsammans på ett bra vis. Om ni inte hittar en grupp så kontakta er labbhandledare som då hjälper er bilda en grupp eller lägger till er i en existerande grupp.

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


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.

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.

Klasskort och beskrivningsformulär

Vad bör ett designdokument innehålla?


Kodning

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.

Exempel på utformning av kodmallar

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


Erfarenhetsrapport

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: Eric Elfving / Klas Arvidsson
Senast uppdaterad: 2017-11-08