Syfte

 

Syftet med frågan är att identifiera de olika abstraktionsnivåerna utifrån ett givet krav, samt att förstå innebörden av de olika nivåerna.

 

Fråga

 

Söva AB tillverkar ställbara sängar. Nu behöver de ett nytt styrsystem som automatiskt ska anpassa madrassen efter hur användaren ligger i sängen. Du arbetar på företagets mjukvaruavdelning och har just fått några produktkrav på ditt skrivbord:

 

R1. Möjlighet att styra funktioner med rösten ska finnas.

R2. Användaren ska inte vakna när madrassen justeras.

R3. Sängen ska anpassa sig efter användaren när denne har lagt sig i sängen.

R4. Det ska finnas en funktion för att sätta på och stänga av automatiseringen.

R5. Användargränssnittet ska täcka en yta av 240 x 180 pixlar och typsnittet som ska användas är Arial.

 

Vilka är abstraktionsnivåerna för de olika kraven R1-R5? Motivera kortfattat! (10p)

 

Bedömningsgrund

 

1 poäng ges för varje rätt identifierad abstraktionsnivå. 1 poäng ges för en motivering motsvarande nedanstående exempel.

 

R1 – Domännivåkrav. ”Rösten” syftar på användaren och ”funktioner” syftar uppenbarligen på systemets funktionalitet. Dessa två egenskaper och det faktum att det inte är specificerat hur man ska åstadkomma denna funktionalitet, gör att kravet ligger på domännivå.

 

R2 – Målnivåkrav.inte vakna” kan likställas med ”sova 100%” vilket är ett klart mål. Detta har programmerarna föga inflytande över, vilket är karaktäriserande för målnivåkrav.

 

R3 – Domännivåkrav. ”Sängen” syftar på systemets funktionalitet. Vidare motivering se R1.

 

R4 – Produktnivåkrav. Det finns tydliga krav på hur produkten skall fungera, men inte hur den skall användas av användaren, vilket kännetecknar denna kategori av krav.

 

R5 – Designnivåkrav. Det finns tydliga krav på hur produkten skall utformas. I det här fallet har utvecklaren ingen frihet eftersom kraven är så specificerade. Detta präglar designnivåkrav.