En el ámbito de la ingeniería de software y de sistemas, un requisito funcional define una función específica de un sistema o de uno de sus componentes. Básicamente, se describe como un resumen o especificación del comportamiento esperado entre las entradas y las salidas del sistema.
¿Qué son los Requisitos Funcionales?
Los requisitos funcionales detallan qué debe hacer el sistema para satisfacer las necesidades del usuario. Estos pueden incluir:
- Cálculos matemáticos y lógicos.
- Detalles técnicos específicos.
- Manipulación y procesamiento de datos.
- Cualquier funcionalidad específica que defina el objetivo principal del sistema.
Es fundamental diferenciar los requisitos funcionales de los requisitos no funcionales (también conocidos como requisitos de calidad). Mientras que los funcionales describen el comportamiento, los no funcionales imponen restricciones sobre el diseño o la implementación, como el rendimiento, la seguridad o la fiabilidad. Una regla general es que los requisitos funcionales se expresan como "el sistema debe hacer <requisito>", mientras que los no funcionales se expresan como "el sistema debe ser <requisito>".
Relación con los Casos de Uso y la Arquitectura
Los requisitos funcionales impulsan la arquitectura de la aplicación, mientras que los no funcionales impulsan la arquitectura técnica. En el proceso de análisis, los requisitos funcionales y los casos de uso están íntimamente ligados:
- Solicitud del interesado: Los stakeholders realizan una petición inicial.
- Análisis: Los ingenieros de sistemas analizan, observan y comprenden los aspectos del requisito.
- Casos de Uso: Se crean casos de uso, diagramas de entidad-relación y otros modelos para validar el requisito.
- Incorporación: Una vez documentado y aprobado, el requisito se implementa en el sistema.
A menudo, un analista puede comenzar por definir los casos de uso y, a partir de ellos, derivar los requisitos funcionales necesarios para que el usuario pueda completar dichas tareas.
El Proceso de Especificación
Una especificación típica de un requisito funcional debe ser clara, legible y rastreable. Generalmente contiene los siguientes elementos:
| Elemento | Descripción |
|---|---|
| Nombre y Número Único | Identificador para el seguimiento del requisito. |
| Resumen Breve | Descripción concisa de la funcionalidad. |
| Justificación | Explicación de por qué es necesario el requisito. |
| Comportamiento Requerido | Descripción detallada de la función o comportamiento esperado. |
| Referencias | Vínculos a casos de uso u otros requisitos relacionados. |
El comportamiento descrito puede originarse en reglas de negocio organizacionales o descubrirse mediante sesiones de elicitación con usuarios y expertos. En ocasiones, el analista puede crear un requisito provisional (placeholder) para investigar los detalles más adelante cuando la información sea más precisa.
