Los requisitos funcionales son una parte importante de cualquier proyecto de software. Se pueden definir como "las características del software que el sistema debe proporcionar para satisfacer los requisitos del usuario". En otras palabras, los requisitos funcionales describen lo que el software debe hacer. Estos requisitos se derivan de los requisitos del usuario, que a su vez provienen de las necesidades del negocio.
Los requisitos funcionales deben ser detallados, completos y consistentes. También deben ser verificables y valorados. Los requisitos funcionales no deben incluir detalles de la implementación. En su lugar, deben describir el comportamiento del software desde el punto de vista del usuario.
Los requisitos funcionales se pueden agrupar en funciones del sistema. Las funciones del sistema son un conjunto de acciones que el software debe realizar para satisfacer los requisitos del usuario. Por ejemplo, una función del sistema puede ser "Realizar una búsqueda".
Las funciones del sistema se pueden representar como un diagrama de flujo de datos. Un diagrama de flujo de datos es una representación gráfica de las funciones del sistema. Los diagramas de flujo de datos se pueden utilizar para diseñar el software. También se pueden utilizar para documentar y verificar los requisitos funcionales.