Syfte:

Frågans syfte är att kontrollera att studenten har lärt sig innebörden och användandet av 4 utvalda sätt att skriva funktionella krav på (4 sätt som vi tycker är viktiga att kunna).

 

Tentamensfråga:

Det finns ett antal olika sätt att notera funktionella krav på som passar olika bra beroende på vilken typ av produkt som ska utvecklas och vilka som är delaktiga i kravprocessen. Här nedan presenteras fyra av dem. Din uppgift är att ge en kort beskrivning av hur metoden fungerar samt nämn en fördel och en nackdel med metoden.

 

a)      Händelselista och funktionslista (Eventlist and functionlist)

b)      Skärmbilder och prototyper (Screens and prototypes)

c)      Uppgift och lösning (Task and support)

d)      Användningsfall (Use cases)

 

Svar:

a)      Händelselistan beskriver de händelser som systemet ska stödja. Dessa händelser kan skrivas både på domännivå eller på produktnivå (eller både och). Ett exempel på en domännivåhändelse kan t ex vara ”Boka platsbiljett på tåg” och ett exempel på en produktnivåhändelse kan vara ”Hitta ledig plats”. En fördel med händelselistor är att det är en bra och lättförstålig checklista på vad man ska utveckla, och en nackdel är att det lätt blir designkrav vilket kanske inte efterfrågas. (s 80-82)

b)      Skärmbilder och prototyper går ut på att man tar fram exempel på hur den färdiga produkten ska se ut och att man sedan sätter dessa exempel som krav (för att senare skapa innehåll bakom fasaden). En fördel med prototyper är att det är lätt att få feedback från kunder redan i kravstadiet viket oftast leder till en bättre kundacceptans när produkten väl är färdig. En nackdel är att metoden passar dåligt om inte uppgifterna som systemet ska stödja är väl definierade från början. (s 88-91)

c)      Uppgift och lösning är en variant av ”task descriptions” och beskriver en domännivåaktivitet (t ex ”Sälja tågbilett”) som bryts ner i ”sub-tasks” (t ex ”skriv ut biljetten”) vilka i sin tur får förslag på lösningar. En fördel är att de är lätta för kunden att utvärdera samt att kunden kan vara delaktig i hur uppgifterna ska lösas istället för att det helt och hållet ligger på utvecklarnas ansvar. En nackdel är att det är mycket jobb med att ta fram alla ”task’s”. (s 104- 113)

d)      Ett use case beskriver hur en funktion i produkten används och genom att täcka in produktens all funktioner får man fram hur den ska se ut och vad den ska klara av. En fördel med use cases är att de är relativt lättförståliga och en nackdel med dem är att de ofta hamnar nere på designnivå och att uppgifter som inte har ett bestämt händelseschema blir svåra att få med.

 

Kommentar:

Poängsättningen bör vara jämnt fördelad mellan de fyra uppgifterna och inom vare deluppgift ska metodbeskrivningen tilldelas lika många poäng som för-och nackdelar tillsammans. Möjligtvis är frågan lite väl omfattande men i så fall går det bra att ta bort en eller två metodbeskrivningar.