Un requisito no funcional es una característica de un sistema que no tiene que ver con una función particular del mismo. Los requisitos no funcionales están relacionados con la calidad del producto final y se pueden dividir en dos grandes grupos: requisitos de usabilidad y requisitos de no usabilidad.
Los requisitos de usabilidad están relacionados con la facilidad de uso del sistema y se pueden subdividir en:
- Ergonomía: se refiere a la comodidad del usuario al interactuar con el sistema. Los requisitos ergonomicos deben estar en concordancia con las características físicas y psicológicas del usuario.
- Usabilidad: se refiere a la facilidad de uso del sistema. Se debe tener en cuenta el contexto en el que se va a utilizar el sistema y asegurarse de que el mismo sea intuitivo.
- Aprendizaje: se refiere a la facilidad con la que un usuario puede aprender a utilizar el sistema. Se debe tener en cuenta el nivel de conocimiento del usuario y asegurarse de que el sistema sea lo suficientemente sencillo de usar.
- Memorabilidad: se refiere a la facilidad con la que un usuario puede recordar cómo utilizar el sistema. Se debe tener en cuenta el nivel de conocimiento del usuario y asegurarse de que el sistema sea lo suficientemente intuitivo.
Los requisitos de no usabilidad están relacionados con la calidad del producto final y se pueden subdividir en:
- Fiabilidad: se refiere a la capacidad del sistema para realizar las funciones requeridas de forma fiable. Se debe tener en cuenta el nivel de exigencia del usuario y asegurarse de que el sistema sea lo suficientemente fiable.
- Rendimiento: se refiere a la capacidad del sistema para realizar las funciones requeridas de forma eficiente. Se debe tener en cuenta el nivel de exigencia del usuario y asegurarse de que el sistema sea lo suficientemente eficiente.
- Escalabilidad: se refiere a la capacidad del sistema para adaptarse a un mayor número de usuarios o un mayor nivel de exigencia. Se debe tener en cuenta el nivel de exigencia del usuario y asegurarse de que el sistema sea lo suficientemente escalable.
- Mantenibilidad: se refiere a la facilidad con la que un sistema puede ser mantenido. Se debe tener en cuenta el nivel de exigencia del usuario y asegurarse de que el sistema sea lo suficientemente mantenible.