Requisitos funcionales son aquellos que describen la funcionalidad que debe proporcionar una aplicación. Se derivan de los objetivos de usuario y de las tareas que el usuario debe realizar con la aplicación. En consecuencia, los requisitos funcionales se centran en el "qué" la aplicación debe hacer, independientemente de cómo lo haga.
Los requisitos funcionales se pueden clasificar en tres grandes grupos:
Los requisitos funcionales se deben especificar de forma clara y concisa, utilizando un lenguaje que pueda ser entendido por todos los interesados en el proyecto. Se recomienda utilizar un lenguaje de modelado de requisitos, como UML, para especificar los requisitos funcionales.