lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

Avancerad checklista för granskning av kravspecifikation

Denna checklista är en något mer utvecklad variant av den som ingår i kurskompendiet och utgör ett förslag på hur man kan granska ett kravdokument. Tänk dig in i situationen att du har åtagit dig att implementera applikationen som beskrivs i nästa version av kravdokumentet och att när du väl fått nästa version av kraven inte längre har någon kontakt med kravställaren. Granskningen av kravdokumentet är alltså din chans att reda ut obesvarade frågor.

Checklistan är uppdelad i tre huvudsteg

  1. Övergripande dokumentstruktur - identifierar problem med själva dokumentet.
  2. Granskning av varje krav - identifierar problem med respektive krav.
  3. Övergripande frågeställningar - identifierar saknade uppgifter

Referenser
Ref 1: Example Requirements Specification, kurskompendiet
Ref 2: Uppdragsbeskrivning avsnitt 2

Sammanställa synpunkter
Ett vanligt sätt att sammanställa sina synpunkter är att upprätta en tabell med kolumnerna position, kommentar samt under vilken punkt i checklistan problemet identifierades.Exempel:

1. Övergripande dokumentstruktur

Läs igenom kravdokumentet och jämför med malldokumentet [Ref 1] och besvara under tiden följande frågor.

  1. Innehåller kravspecifikationen samtliga avsnitt som finns i malldokumentet [Ref 1]?
    Om inte; beskriv avvikelser?
  2. Innehåller kravspecifikationen avsnitt som inte återfinns i malldokumentet [Ref 1]?
    Om ja; är avvikelserna olämpliga? Motivera!
  3. Ger samtliga avsnitt intrycket av att vara väl genomarbetade?
    Om nej; motivera!

2. För varje krav

Kraven är troligtvis formulerade i olika form, t ex kontextdiagram, användarfall och 'skall'-krav. Studera först uppdragsbeskrivningen.  Bevara därefter följande frågor för varje krav.
OBS! Ska man göra B4 och B7 ordentligt behöver man göra n2-1 jämförelser där n står för antalet krav i dokumentet.

  1. Återspeglas kravet i uppdragsbeskrivningen [Ref2]  Validity
    Om nej 1; Står det i strid med uppdragsbeskrivningen [Ref2]
    Om Ja; Motivera!
    Om nej 2; Är det troligt att kravet är relevant? [Ref2]
           Om nej; Motivera!
  2. Är kravet väl formulerat?   Comprehensibility
  3. Kan kravet missförstås?
  4. Står kravet i konflikt med andra krav?   Consistensy
    Om ja; med vilket annat krav står kravet i konflikt? På vilket sätt?
  5. Kan kravet spåras till uppdragsbeskrivningen [Ref 2] eller tillagda beskrivningar och antaganden i kravdokumentet  Traceability
    Om nej; Motivera!
  6. Kommer man i den slutgiltiga produkten att kunna testa eller på annat sätt verifiera att kravet är uppfyllt?  Verifyibility
  7. Är den funktion eller egenskap kravet beskriver även beskriven på något annat ställe i kravdokumentet?  Adaptability, traceability
    Om ja; finns det referenser till det kravet/beskrivningen?

3. Övergripande frågeställningar

Det är många gånger ganska lätt att analysera sådant som är beskrivet. Det är svårare att fundera ut vad som inte är beskrivet. Studera uppdragsbeskrivningen och dina hittills identifierade problem.

  1. Täcker kraven samtliga önskemål i uppdragsbeskrivningen [Ref 2]?  Completeness
    Om nej; Motivera!
  2. Täcker kraven samtliga tillägg till uppdragsbeskrivningen [Ref 2] och eventuella antaganden som gjorts i kravdokumenten? Completeness
    Om nej; Motivera!
  3. Om de problem du identifierat åtgärdas till nästa version av kravdokumentet; skulle du kunna tänka dig att mot en fast ersättning ta ansvar för att implementera applikationen?