Mittefunktsionaalsed nõuded
Mittefunktsionaalsed nõuded täpsustavad tarkvara ja nõuete projekteerimises kriteeriume, mille alusel hinnatakse süsteemi töökäiku, mitte kindlaid omadusi. Nende vastandid on funktsionaalsed nõuded, mis defineerivad kindlad funktsioonid või käitumised. Plaan mittefunktsionaalseid nõudeid käiku viia asub süsteemiarhitektuuris, mitte süsteemidisainis, nagu see on funktsionaalsete nõuete korral. See on nii, kuna need on tavaliselt arhitektuuriliselt olulised nõuded. Üldjoontes defineerivad funktsionaalsed nõuded, mida süsteem peab tegema, ning mittefunktsionaalsed nõuded defineerivad, milline süsteem peab olema. Funktsionaalsed nõuded on üldiselt vormis "süsteem teeb <nõue>", individuaalne tegevus, mis on osa süsteemist, mille juurde see kuulub. Mittefunktsionaalset nõuet esitatakse kujul "süsteem hakkab olema <nõue>" ehk üldine süsteemi omadus või mingi eriline aspekt ja mitte täpne funktsioon. Süsteemi üldised omadused tavaliselt näitavad, kas projektiarendus on õnnestunud või läbikukkunud. Mittefunktsionaalseid nõudeid kutsutakse süsteemi "kvaliteedi atribuutideks" või omadusteks, kvaliteedi eesmärkideks, kitsendusteks, mittekäitumispärasteks omadusteks. Mittefunktsionaalsete nõuete alla kuuluvaid omadusi on võimalik jaotada kaheks põhikategooriaks: Täitmisomadused, nagu turvalisus ja kasutatavus, mis on jälgitavad süsteemi töö ajal. Arengulised omadused, nagu testitavus, hooldatavus, pikendatavus ja suurendatavus, mis on tarkvarasüsteemi staatilises struktuuris.