Los requerimientos no funcionales se refieren a todos aquellos aspectos de un software que no se relacionan directamente con una tarea específica que este debe realizar.
Algunos ejemplos de requerimientos no funcionales son: seguridad, escalabilidad, usabilidad, rendimiento, disponibilidad, etc.
Estos requerimientos no funcionales se pueden dividir en dos grandes grupos:
- Requerimientos de usuario: se refieren a todos aquellos aspectos del software que el usuario final va a percibir de forma directa. Por ejemplo, la usabilidad de una aplicación.
- Requerimientos de sistema: se refieren a todos aquellos aspectos del software que no son directamente percibidos por el usuario final, pero son necesarios para el correcto funcionamiento del sistema. Por ejemplo, la disponibilidad o el rendimiento del sistema.