Los requerimientos no funcionales son aquellos requisitos de un sistema de software que no están relacionados directamente con una tarea específica que el software debe realizar. En cambio, estos requisitos especifican características de rendimiento, fiabilidad, usabilidad, etc. que el software debe cumplir. Los requerimientos no funcionales pueden ser difíciles de cuantificar y evaluar, y a menudo se dejan de lado durante el desarrollo de software. Sin embargo, estos requisitos son cruciales para el éxito de un proyecto de software, ya que un software de calidad debe ser fácil de usar, seguro y confiable.
Algunos ejemplos de requerimientos no funcionales incluyen los siguientes:
Los requerimientos no funcionales deben especificarse antes del desarrollo de software y deben revisarse y actualizarse a medida que cambien las necesidades del negocio. Se debe tener cuidado al especificar estos requisitos, ya que pueden ser difíciles de implementar y pueden aumentar significativamente el costo y el tiempo de desarrollo de un proyecto de software.