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.