Uppgift:

a) En kund och en leverantör har kommit överens om att följande krav ska uppfyllas i ett mjukvarubaserat fleranvändarsystem: ”Produkten ska alltid ge svar på en sökning inom 20 sekunder.”

 

Vad ser du för möjliga problem med ovanstående kravformulering? Ge också exempel på hur man skulle kunna ställa kravet istället. (4)

 

b) I användbarhetskrav kan det finnas risker för både leverantören och kunden. Ge ett exempel på krav där leverantören tar den största risken samt ett exempel där kunden tar den största risken. Motivera! (4)

 

c) Förklara hur krav på användarvänlighet och prestanda kan motverka varandra. Ge exempel på två programvaror du stött på som gjort eftergifter av det ena till förmån för det andra.

 

 

Exempellösning:

a) I ett fleranvändarsystem är det svårt att garantera prestandan vid alla situationer. Det är mycket vanskligt att specificera maximal responstid, ty man vet inte hur många användare som samtidigt utför sökningen. Att designa systemet för att alla användare ska kunna göra detta blir ofta mycket dyrare än om det är anpassat för mindre belastning. De flesta system av denna typ har en belastning som normalt ligger på en mycket lägre nivå än den väldigt ovanligt frekventerade maximumnivån. Det är bättre att i kravet kräva att en viss andel av sökningarna ska ge svar inom det specificerade tidsintervallet.

 

Man borde också specificera den nivå på belastningen som systemet väntas utsättas för.

 

Dessutom nämns ingenting om hårdvaran som programmet ska köras på vilket gör det omöjligt att garantera några svarstider.

 

Ett exempel på omformulerat krav: ”Produkten skall i 95 % av fallen ge svar på en sökning inom 20 sekunder. Förutsättningar: I genomsnitt utförs 2 sökningar per sekund. Programmet körs på en Pentium 3 med klockfrekvens 733 MhZ och 128 MB internminne.”

 

 

b) I kravformuleringen ”Kriterierna för sökningen ska anges med hjälp av fem stycken listboxar.” tar kunden den stora risken. För utvecklaren är det lätt att uppfylla och verifiera kravet, men det är inte alls säkert att det är den optimala lösningen för kunden med avseende på användbarhet.

 

I följande krav tar utvecklaren den största risken: ”Det ska ta maximalt en minut att utföra en sökning för en person som saknar tidigare erfarenhet av systemet.” Anledningen till detta är att det krävs användartest för att verifiera kravet. Det är svårt att utföra testen under utvecklingsfasen vilket kan få till följd att man sent i utvecklingsprocessen plötsligt inser att stora delar av programmet måste skrivas om.

 

 

c) Ett visuellt avancerat användargränssnitt kan kräva mycket datorkraft och därmed minska prestandan jämfört mot ett system där en större andel av datorkraften används till programmets egentliga funktionalitet.

 

Ett annat motsatsförhållande är att vill man göra programmet väldigt pedagogiskt så involverar det fler och tydligare steg för användaren vilket leder till sämre effektivitet för en avancerad användare som skulle vilja utföra uppgiften via ett snabbare men mer kryptiskt tillvägagångssätt.

 

Microsoft Windows har tydligt prioriterat användarvänlighet högre än prestanda medan UNIX har gjort det motsatta.

 

 

Bedömningsmall:

a) 1 poäng om man behandlat varför det är riskabelt att ange en hundraprocentig prestandagaranti i ett fleranvändarsystem. 1 poäng för orsaker som rör avsaknad av angiven systembelastning. 1 poäng för orsaker som rör avsaknad av hårdvarukrav.  ½ poäng om en av ovanstående punkter är med i det omformulerade kravet. 1 poäng om minst två punkter är med.

 

b) 1 poäng per krav som tydligt ger risk för den angivna parten. 1 poäng per krav ytterligare om godkänd motivation angivits.

 

c) 1 poäng för svar liknande något av våra alternativ eller annat väl motiverat motsatsförhållande. ½ poäng per programvara som tydligt fokuserat på prestanda alternativt användarvänlighet.

 

 

Referens:

Lausen 238-246, 258-264