Los requerimientos no funcionales son aquellos requisitos de un software que no son especificaciones de funcionalidad, sino de características del mismo. En otras palabras, los requerimientos no funcionales especifican cómo debe comportarse el software, en lugar de qué debe hacer.
Los requerimientos no funcionales son, por lo tanto, aquellos requisitos que no se pueden medir objetivamente, y que dependen del criterio del usuario. A continuación se detallan algunos ejemplos de requerimientos no funcionales:
En general, los requerimientos no funcionales se pueden clasificar en requerimientos de usuario y requerimientos de sistema. Los requerimientos de usuario especifican cómo debe ser el software desde el punto de vista del usuario, mientras que los requerimientos de sistema especifican cómo debe ser el software desde el punto de vista del sistema.