Målet med et systems kravspecifikation er at beskrive hvad systemet skal opfylde i forhold til omgivelserne uden at beskrive hvordan systemet skal opfylde dette. En kravspecifikation for et system kan dermed defineres som en model af omgivelserne efter (og eventuelt før for at fremhæve forskellene) udvikling og implementering af systemet.
Generelle krav til kravspecifikationer er at de skal være entydige, konsistente og komplette med henblik på umiddelbart at kunne bruges som udgangspunkt for implementering af en løsning samt til verificering af om en implementeret løsning opfylder kravene i kravspecifikationen.
Formulering af en kravspecifikation kompliceres væsentligt af at anvendelsen af den har meget forskellige formål. Kravspecifikationen udgør en (juridisk) kontrakt mellem kunden og systemudviklingsorganisationen, og den definerer løsningen i form af en beskrivelse af grænsefladen mellem omgivelserne og systemet. Derudover udgør kravspecikationen udgangspunktet for kundens forståelse af løsningen og systemudviklernes forståelse af kunden og systemernes omgivelser.
Ideelt set udarbejdes/foreligger der en fuldstændig/tilstrækkelig kravspecifikation som udgangspunkt for det resterende systemudviklingsforløb. I praksis må det dog forventes, at der afdækkes uafklarede krav/problemer i løbet af systemudviklingsforløbet således at kravspecifikationen løbende må tilpasses, samt at nogle specificerede krav eventuelt ikke umiddelbart kan opfyldes og derfor må revurderes og genforhandles.
Et systems kravspecifikation er oftest blot verbale beskrivelser af krav/ønsker til mange forskellige aspekter ved systemet. Dermed er kravspecifikationen meget fleksibel og forholdsvis let at formulere og forstå for såvel "kunden" som systemudviklerne, men det er vanskeligt at sikre entydighed, konsistens og komplethed i kravspecifikationen.
Alternativt kan kravspecifikationen formuleres som en matematisk/logisk baseret formel specifikation, der (automatisk) kan valideres for entydighed, konsistens og komplethed. En formel kravspecifikation er dog forholdsvis svær at formulere og forstå og er således forbeholdt for eksperter, der skal repræsentere såvel "kunden" som systemudviklerne. Formel specifikation mangler desuden udtryksevne og fleksibilitet til at formulere ikke-kvantificerbare krav/ønsker til systemet og må dermed eventuelt suppleres med andre (verbale) beskrivelser.
Til fortrinsvis teknisk orienterede systemer er formel specifikation således velegnet og tilstrækkelig i det omfang at de nødvendige økonomiske, tidsmæssige og eksperticemæssige resourcer er tilgængelige. Ellers må i hvert fald dele af kravspecifikationen bestå af andre (verbale) beskrivelser med den nødvendige forståelighed og fleksibilitet/udtryksevne til også at specificere krav/ønsker til ikke teknisk orienterede aspekter ved systemet/omgivelserne.
Kravspecifikation foregår altså typisk som en separat fase/aktivitet med en separat model uden direkte sammenhæng med den øvrige systemmodellering, hvilket er problematisk i det omfang at løbende tilpasning er nødvendig for at sikre konsistens og sporbarhed mellem kravspecifikationen og den øvrige systemmodellering.
Generel systemudvikling bør således kunne rumme integreret systemmodellering med en kombination af eller en mellemting mellem verbale og formelle specifikationer som sikrer/muliggør den nødvendige/ønskelige fleksibilitet, forståelighed, entydighed, konsistens og komplethed.
|