Fråga:
Beskriv två olika stilar eller sätt att göra kravbeskrivningar på. Berätta
vad stilen kallas, vad som utmärker den, i vilka lägen den är bra att använda
samt dess fördelar och nackdelar.
Förslag på svar:
Händelse- och funktionslista (Event and function list)
En händelselista innehåller en uppradning av de händelser som kommer in
till systemet. En funktionslista innehåller då de funktioner som systemet utför
till följd av en inkommen händelse.
Man skiljer på händelser som kommer till systemet på domännivå och på
produktnivå. Som exempel kan nämnas en vanlig bank. Kunderna kommer in för att
sätta in pengar, ta ut pengar, ordna med pensioner eller liknande. Alla dessa
är händelser som påverkar systemet på domännivå. Alla sådana händelser har
någon form av data knuten till sig. Att ta ut pengar, till exempel, innehåller
data om belopp, konto, uttagare, datum etc. Dessa händelser resulterar i ett
visst agerande av banktjänstemannen en så kallad task eller use case. Med
hjälp av dessa och dataflödesdiagram eller aktivitetsdiagram etc. kan komplexa
funktioner beskrivas på ett överskådligt och detaljerat sätt. De beskrivningar
av händelser på domännivå utgör funktioner som kunden efterfrågar, saker som
systemet ska stödja. Händelser på produktnivå ligger på designnivån och
specificeras av utvecklarna. Det banktjänstemannen gör, på datorsystemet,
produkten, utifrån en domänhändelse utgör en händelse på produktnivå och
resulterar i en funktion. Även dessa händelser innehåller viss data och kallas
ofta messages. När man hanterar
funktionerna får man utgå från händelserna i domännivån och bryta ner dessa i
mindre beståndsdelar. Att ta ut pengar, till exempel, innebär en rad olika
funktioner först teckningskontroll, behörighetskontroll, etc. Förhållandet
mellan händelserna i domännivå och funktionerna är många-till-många.
Händelserna i de olika nivåerna kan beskrivas eller detaljeras av flera
händelser från den andra nivån. Noteras bör att specificeringen av funktioner
är en designfråga och ska bara göras i speciella fall.
Dessa listor är preliminära listor på vad systemet ska innehålla. De
komplexa bitarna måste givetvis kompletteras med mera detaljerad information.
Listan över funktioner utgör ett bra verktyg för verifiering för utvecklarna
medan händelserna på domännivå ger kunden, i alla fall i viss utsträckning,
möjlighet till validering.
Funktionerna är en del av designen vilket egentligen inte ska hanteras i
kravspecifikationen. Designen är upp till utvecklarna i deras designarbete,
vilket därför är en nackdel. Vidare är det inte alltid så lätt för kunden att
validera dessa funktioner. En annan nackdel är att dessa listor kan ge en bild
att hela systemet är specificerat i listorna. Detta är dock inte alltid sant.
Är alla möjliga användarscenario uppräknade?!
Bedömning
Svaret ovan är, i vår mening, värd 5 poäng. För att få tio måste man
beskriva en stil till på motsvarande sätt. De två sista styckena utgör för- och
nackdelar med stilen. Dessa kan vara värda 1 poäng var medan en bra och
uttömmande beskrivning av stilen skulle resultera i 3 poäng.
Just med Event list & Function list är det viktigt att skillnaden
mellan händelse, funktion, domän och produkt framgår och förklaras. Detta
tillsammans med ett väl fungerande exempel tycker vi i vårt fall skulle ge 3
poäng. Vidare är fördelar och nackdelar nämnda och förklarade vilka ger de två
sista poängen.