Un requisito no funcional es una característica del software que no puede ser medida directamente en términos de funcionalidad. Los requisitos no funcionales están relacionados con aspectos del software como la fiabilidad, la usabilidad, el rendimiento, la seguridad y el mantenimiento. Los requisitos no funcionales deben ser considerados al diseñar e implementar un software para garantizar que el software cumpla con los estándares de calidad aceptados.
Los requisitos no funcionales pueden ser de naturaleza técnica o de negocios. Los requisitos técnicos son aquellos que se relacionan directamente con la tecnología utilizada para construir el software. Los requisitos de negocios son aquellos que se relacionan con las necesidades del negocio y no están necesariamente relacionados con la tecnología. Por ejemplo, un requisito no funcional de negocios podría ser que el software se pueda personalizar para que se adapte a las necesidades específicas de un cliente.
Algunos ejemplos de requisitos no funcionales comunes son los siguientes:
Los requisitos no funcionales deben ser considerados durante todo el ciclo de vida del software, desde el análisis de requisitos hasta la puesta en marcha y el mantenimiento. Los requisitos no funcionales son a menudo olvidados o mal entendidos, pero son una parte importante de cualquier proyecto de software.