I kravspesifikasjonen blir det definert funksjonelle krav som angir bestemte resultater som skal komme fra et system. Dette er motsatt av ikke-funksjonelle krav som spesifiserer generelle egenskaper, slik som kostnader og pålitelighet. Funksjonelle krav driver til systemet, mens de ikke-funksjonelle kravene driver den til systemet.