Los requisitos funcionales de un sistema son una lista de todas las tareas o funciones que el sistema debe realizar. Por ejemplo, un sistema de caja registradora debe poder realizar las siguientes tareas:
Los requisitos no funcionales de un sistema son aquellos que no se relacionan directamente con una tarea específica que el sistema debe realizar, pero que son necesarios para el buen funcionamiento del mismo. Por ejemplo, los requisitos no funcionales de una caja registradora podrían ser los siguientes:
Los requisitos funcionales y no funcionales de un sistema deben especificarse cuidadosamente antes de que el sistema sea desarrollado, ya que de lo contrario podría no cumplir con las necesidades del usuario o no funcionar de la forma esperada.