I vid forstand definerer funksjonelle krav definere hva et system som er ment å , og ikke-funksjonelle krav definere hvordan et system er ment å . Funksjonelle krav er vanligvis i form av «systemet <krav>», en individuell handling, en del av systemet, kanskje ved å implementere en matematisk funksjon, en black box beskrivelse av inndata og utdata, med tilhørende prosessering og kontroll som en funksjonell modell eller innputt-prosess-utputt-modell (IPO modell). Motsatt er ikke-funksjonelle krav i form av «systemet <krav>», en samlet kvalitativ egenskap ved hele systemet eller for en begrenset aspekt, men ikke en bestemt funksjon. Systemets er generelle kvalitative egenskaper vil være en indikator på om utviklingsprosjektet har lyktes eller mislyktes.