Skip to main content

¿Qué es una especificación funcional?

Una especificación funcional describe las funciones básicas de una aplicación de software. Generalmente se desarrolla como parte del análisis de requisitos en el desarrollo de software. Sirve como una impresión azul para que los programadores desarrollen el código fuente y los casos de prueba para la aplicación.

En general, hay muchos actores diferentes involucrados en el análisis de requisitos para desarrollar cada aplicación de software. Estos jugadores incluyen a las personas de negocios que se espera que usen el software, los analistas de datos, los programadores y otro personal técnico. Los empresarios explican a los demás miembros del equipo exactamente lo que esperan del software, desde una perspectiva empresarial.

Los requisitos empresariales se combinan con los datos que deben capturarse y se utilizan para desarrollar la forma en que el equipo desea que cada una de las pantallas funcione. Todo este análisis de requisitos debe completarse para documentar la especificación funcional. Una vez que la especificación funcional está ampliamente documentada, el equipo trabaja para ajustarla. El equipo revisa estos documentos y llena los vacíos en el análisis de requisitos. Una vez que se completa el análisis de requisitos, el equipo aprueba la especificación funcional. El documento de especificación aprobado se utiliza como modelo para el desarrollo de software.

El código fuente y los casos de prueba se desarrollan utilizando la especificación funcional. Los miembros del equipo utilizan la especificación funcional para desarrollar los casos de prueba necesarios para confirmar que el software funciona según lo especificado. El número de casos de prueba utilizados para depurar el software varía según la complejidad del software desarrollado. A medida que los programadores desarrollan el software, otra parte del equipo desarrolla los casos de prueba. El proceso de prueba para aprobar el software comienza una vez que los programadores informan al equipo que está listo para ser probado.

La especificación funcional no especifica cosas tales como el lenguaje de software que usarán los programadores. Las especificaciones que se encuentran dentro de una especificación funcional se limitan a las verdaderas funciones del programa. El documento de especificación explica lo que sucede cuando un usuario del programa hace clic en un botón específico en la pantalla, pero no cómo el programador hará que ocurra la función específica.

Dependiendo de la complejidad del software a desarrollar, algunos equipos usan múltiples niveles de documentos de especificación funcional. El equipo de gestión podría participar en la especificación de funciones de alto nivel, mientras que un grupo de analistas superiores podría definir con mayor detalle las funciones específicas y un equipo conjunto de analistas y programadores comerciales podría definir cada pantalla. Cada uno de los documentos de salida de estos niveles puede considerarse una especificación funcional.