Göm menyn

TDP005 Projekt: Objektorienterat system

Kravspecifikation


Information om kravspecifikationen

Kravspecifikationen ska beskriva det spel ni vill implementera i kursen. Tänk på att det ska vara en beskrivning på vad spelet innebär, inte en beskrivning av hur det ska vara implementerat.

Kravspecifikationen är ett kontrakt mellan er och kursledningen. Ert projekt kommer att bedömas utifrån ifall det uppfyller ska-kraven i kravspecifikationen. Tänk att det ska vara möjligt att implementera en första version av spelet enbart genom att titta på kravspecifikationen.

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 ert projekt, så att det passar kursens omfattning.

  • Deadline: Se "Schema" i menyn.
  • Skall omfatta minst 4 sidor.
  • Innehåll:
    • Spelidé: Vad går spelet ut på? - Tänk: vad ska stå på Steam-sidan som säljer ert spel?
    • Målgrupp: Vilka är spelarna?
    • Spelupplevelse: Vad gör spelet underhållande att spela?
    • Spelmekanik: Hur interagerar man med spelet? Vilka kommandon? Vad driver spelet framåt?
    • Regler: Vilka regler styr spelet?
    • Visualisering: Hur skall spelet se ut? (ha med en skiss)
    • Kravformulering: Se beskrivning nedan
    • Kravuppfyllelse: En motivering av hur och vilka av kraven ovan uppfyller vilka av de allmänna kraven på spelet (se projektbeskrivningen)
  • Kravformulering:
    • Kraven på ert projekt delas upp i två grupper: ska-krav och bör-krav.
    • Ska-kraven ska uppfyllas för att ert projekt ska bli godkänt med betyg 3. Dessa krav ska täcka minimikraven som beskrivs i början av kravspecifikationen.
    • Bör-kraven är krav som implementeras i mån av tid. De beskriver funktionalitet som förbättrar spelupplevelsen, men som inte är nödvändiga för att spelet ska fungera. Alla ska-krav och bör-krav ska täcka all funktionalitet som beskrivs i kravspecifikationen.
    • Kraven ska numreras enligt något system. Tänk dock på att alla krav ska ha unika nummer (det ska exempelvis inte finnas fler än ett krav med nummer 3). Om ni under projektets lopp vill ändra i kraven eller flytta dem är det viktigt att kraven behåller sin tidigare numrering. Annars kommer alla andra dokument som refererar till kraven via nummer att referera till fel krav.
  • Att tänka på för kraven:
    • Var tydlig! Det ska tydligt framgå hur spelet är tänkt att fungera, och vilka kraven är. Varje krav ska vara en separat punkt, inga längre meningar eller stycken som beskriver flera krav samtidigt.
    • Använd mätbara krav! Om kraven är vaga är det svårt att bedöma ifall de har uppfyllts. Det ska vara möjligt att bedömma om varje enskilt krav är uppfyllt eller ej!
    • Var realistisk! Tänk verkligen igenom hur mycket som är rimligt att göra under kursen, och vilka ambitioner ni har i gruppen.
    • Var fullständig! Kraven i kravspecifikationifikationen ska beskriva hela spelet, ingenting ska vara underförstått eller implicit. Är det en del av spelet finns det ett motsvarande krav.
  • Information om kravspecifikationar i allmänhet finns också i första föreläsningens slides.

Inlämning

OBS: Första utkast ska skickas till kursledarna via e-post.

Kravspecifikationen lämnas in via e-post till er handledare. Använd dokumentmallen för LaTeX (se Kursmaterial) och bifoga kravspecifikationen som en PDF-fil.

Kravspecifikationens roll som designdokument

Nu är det ju inte meningen att jobba på ett traditionellt sätt på kursen där man börjar med en omfattande analys och skriver en kravspecifikation. När man jobbar agilt arbetar man ju istället med stories och acceptanstester, och själva system utgör en levande och aktuell specifikation.

Men eftersom det är vanligt att jobba med kravspecifikationer vill jag skriva några ord om det:

Det låter hur trist som helst med en kravspecifikation. Ofta är detta också sant. En kravspecifikation kan vara en tjock lunta med diverse dokument fulla med text och tabeller, och skärmbilder som specificerar användargränsnittet.

Vi vill föra in en ny syn på kravspecifikationens roll i systemutvecklingsprocessen. En kravspecifikation ska vara bärare av en vision för hur det färdiga systemet eller den färdiga produkten kan se ut. Det gäller att visionen bärs fram genom hela utvecklingsprocessen, från analys och design till implementation. På det sättet kommer hela projektet att vara delaktigt i förverkligandet av visionen, och resultatet kommer att vara laddat med energi från de som har arbetat med det. Det är ett synsätt som ni kanske aldrig kommer att få läsa om i systemutvecklingslitteraturen, men vad är ett system om inte resultatet av de mentala energier som har format det. Det är denna energi som förs vidare till användarna.

Exempel på kravspecifikationer

De här exemplena kan ge en fingervisning om hur en snygg kravspecifikation kan se ut, men bör inte ses som en fix mall som måste följas och är inte heller nödvändigtvis kompletta. Låt er inspireras!


Sidansvarig: Pontus Haglund & Simon Ahrenstedt
Senast uppdaterad: 2023-10-31