Uppgift 2
a) Vid
utvecklingen av ett system har virtual windows använts bland annat för att
undersöka vilka data som systemet skall kunna hantera. Systemet skall främst
stödja ovana anvädare i deras dagliga arbete. Vilka fördelar finns det med att
använda virtual windows? (2p)
b) Matbutik ICA
lillen har givit uppdrag åt dig att utveckla ett system som skall hantera data
om de olika varorna i butiken. Bland annat skall systemet kunna hantera pris,
antal varor i lager etc. Följande personer arbetar i matbutiken fem kassörskor,
tre lagerkillar, en inköpschef och en ekonomiansvarig. Systemet skall vara
kopplat direkt till kassaparaterna och registrera varje köp, köpen skall även
registreras i bokföringsystemet. Kassörskorna skall även kunna använda systemet
för att ge kunden upplysningar om priset på en viss vara. Den ekonomiansvarige
får all informarion han/hon behöver via bokförigsystemet, bokföringsystemet
ingår för övrigt inte i det system som skall utecklas. Inköpschefen skall kunna
använda systemet för att kontrollera vad som finns i lager, men även uppdatera
systemet när nya varor har anlännt. Killarn på lagret får all information som
de behöver för att utföra sitt arbete via inköpschefen, de kan även säga till
inköpschefen när en viss vara har tagit slut. Gör ett context diagram för
illustrera systemets avgränsningar. (4 p)
c) Beskriv
följnade tre begrepp: use case, task och human task (3p)
d) Händelser
(events) i en eventlist kan beskrivas på olika nivåer. I vilka situationer är
det positivt att beskriva händelserna på produktnivå och vilka situationer kan
det rent av vara negativt.(1p)
Rättningsmall
a) Virtual
Windows gör det enkelt för användaren att validera data modellen. Speciellt är
det bra när systemet skall stödja ovana användare. Genom att inkludera data som
relaterar till specialfall kan man lätt få en diskussion med användarna och på
så sätt identifiera data som saknas i datamodellen. (1p)
Virtual Windows gör det lätt att verifiera att alla data som
specifierats finns med i systemet. (1p)
Det är enkelt att utvärdera hur bra de olika fönstrena i
användargränssnittet stödjer användarens arbetsuppgifter.(1p)
Virtual windows att man enkelt kan validera fönstrena i det
grafiska användargränsnitet redan tidigt stadium. (1p)
(varje nämnd positiv effekt ger ett poäng dock max 2 poäng
totalt på fråga a)
b) Ett poäng vid
rätt identifiering av domänen. Varken den ekonomiansvarige eller killarna på
lagret ingår i domänen, eftersom de inte har direkt kontakt med varusystemet.
(1p)
För varje rätt ritad pil. (0,5p)
Inköpschefen får data om olika varor i systemet, men kan
även lägga in data om olika varor. Pilen mellan inköpschefen och varusystemet
skall därför vara dubbelriktad. (0,5p)
Eftersom bokföringssystemet bara får information från
systemet skall pilen vara enkelriktad och peka från varusystemet till
bokföringssytemt. (0,5p)
Kassörskorna kan dels få data om priser, men genererar också
data när de registrerar köp. Pilen mellan systemet och kassörskorna skall
därför vara dubbelriktad. (0,5p)
Lagerkillarna har endast direkt kontakt med inköpschefen och
inte med systemet. Pilen mellan lagerkillarna och inköpschefen skall vara
dubbelriktad, eftersom data flyter i båda riktningarna. Lagerkillarna kan både
få information om varor från inköpschefen, men även lämna data om varor till
honom/henne. (0,5p)
Pilen mellan bokförinsystemet och den ekonomiansvarige skall
vara dubbelriktad, eftersom han/hon både kan läsa och manipulera data i
bokföringsystemet. (0,5p)
(varje nämnd positiv effekt ger ett poäng dock max 4 poäng
totalt på fråga b)
inköpschef
Varusystem
Bokföringssystem
kassörska
ekonomiansvarig
lagerkille
c) Ett use case
beskriver främst vad krav på produkten. Om tex en användare skall utföra en
viss arbetsuppgift och behöver stöd från en produkt, beskriver ett use case
främst vad produkten skall kunna. (1p)
En task beskriver hur användaren och produkten tillsammans
skall uppnå ett givet mål, tex utföra en viss arbetsuppgift. (1p)
En human task beskriver endast den del av uppgift som utförs
av användaren. (1p)
d) Det kan vara
positivt att beskriva events på en produktnivå i de fall då det är önskvärt att
redan på ett tidigt stadium gå in på detaljerad nivå. Om den produkt som
utvecklas skall kunna ta emot data från ett redan befintligt system, behöver
denna del av produkten specifiseras på detaljnivå redan på ett tidigt stadium.
Detta eller annat likande exempel ger ett poäng, det viktiga är att det finns
en motivering till varför situationen kräver en detaljerad beskrivning av
events redan på ett tidigt stadium. (1p)
Om det inte är nödvändigt att gå in på detlajnivå tidigt i
utvecklingsprocessen bör man undvika detta , eftersom man riskerar låsa upp
utvecklarna vid dåliga lösningar. Vid utveckling av användargrännsnitt är det
negativt att använda events på produktnivå, eftersom det berövar utvecklarna
den frihet de behöver för att kunna utveckla en bra produkt. Detta eller annat
likande exempel ger ett poäng, det viktiga är att det finns en motivering till
varför det inte är bra att gå in på en detaljerad beskrivning av events redan
på ett tidigt stadium. (1p)