Göm menyn

TDP005 Projekt: Objektorienterat system

Designspec


Information kring designspecen

Designspecen ska beskriva hur ni tänker implementera ert spel. Det viktigaste innehållet i designspecen är ett klassdiagram, som visar den objektorienterade designen av spelet. Målet är att designen ska spegla den faktiska uppbyggnaden av spelet, men eftersom ni ännu inte har börjat implementera spelet så är det svårt att få med alla detaljer korrekt ännu. Därför är huvudfokus nu att klasshierarkierna ni beskriver kan representera spelet ni har beskrivit i kravspecifikationen, och att de viktigaste datamedlemmarna och medlemsfunktionerna finns med i ert klassdiagram. Exempelvis: var lagras objektets position på skärmen?, hur förflyttas objektet? och hur sköts kollisioner mellan objekt?. Ni kan göra era UML-diagram antingen i något verktyg, eller rita det för hand. Alla inlämningar ska dock ske i PDF-format om inget annat överenskommet med lärarna. Det ska inte behövas speciella verktyg för att öppna era dokument.

Er kravspecifikation kommer att bedömas utifrån vilken kvalitet dokumentet håller, och hur väl det uppfyller punkterna nedan. Vi kommer även att rimlighetsbedöma er design så att ni har möjlighet att uppfylla bedömningskriterierna för den inlämnade koden, främst med avseende på rubriken Objektorienterad design.

  • Deadline: Se "Schema"
  • Innehåll:
    • Klassdiagram enligt UML som beskriver hela ert system. Diagrammet skall vara kommunikativt och beskriva hela systemets inre uppbyggnad och funktion. Klassdiagrammet ska innehålla alla relationer som finns mellan era klasser. För associationer ska det framgå vilken riktning samt multiplicitet relationerna har.
    • Detaljbeskrivning av två centrala klasser i ert spel. Den ena klassen som beskrivs ska vara den som motsvarar spelaren, den andra får ni välja själva. Detaljbeskrivningen ska innehålla följande:
      • Namn på klassen
      • Syftet med klassen
      • Vilka andra klasser som klassen har relationer till, och på vilket sätt de hänger ihop
      • En beskrivning av konstruktor(erna)
      • En beskrivning av de publika metoder som finns i klassen (get- och setmetoder kan exkluderas)
      • En beskrivning av variabler i klassen, och deras syfte
      Eftersom ni inte har skrivit särskilt mycket kod i projektet ännu, skriv detaljbeskrivningen utifrån frågeställningen: Hur är det tänkt att det här objektet interagerar med andra objekt i spelet? Hur kan spelaren veta när det exempelvis går in i en vägg?
    • En kort diskussion (1/2-1 sida) där ni motiverar er design och tar upp fördelar och nackdelar med den. Diskutera gärna också om det är något ni tycker är dåligt med den, och beskriv alternativa, bättre lösningar.
    • Beskriv de externa filformat ni använt i ert spel, till exempel för highscore-listor eller banbeskrivningar. Detta är kanske inte relevant för alla, då man kan lösa uppgiften utan användning av externa format.

Inlämning

Kravspecifikationen lämnas in via e-post till er handledare. Bifoga kravspecifikationen som en PDF-fil.

Exempel på designspecifikationer

Det här exemplet kan ge en fingervisning om hur en snygg designspecifikation kan se ut, men bör inte ses som en fix mall som måste följas. Låt er inspireras!


Sidansvarig: Filip Strömbäck
Senast uppdaterad: 2017-11-29