- Detalles
¿Qué es un requisito funcional?
En la ingeniería de software, un requisito funcional define un sistema o su componente. Describe las funciones que debe realizar el software. Solo existen entradas, transportes y salidas. Puede ser un cálculo, manipulación de datos, proceso comercial, interacción del usuario o cualquier otra funcionalidad específica que defina qué función probablemente realizará su sistema.
Los requisitos de software funcional lo ayudan a capturar el comportamiento previsto del sistema. Este comportamiento puede expresarse como funciones, servicios o tareas o qué sistema se requiere realizar.
¿Qué es un requisito no funcional?
Un requisito no funcional define el atributo de calidad de un sistema de software. Representan un conjunto de estándares utilizados para evaluar el funcionamiento específico de un sistema. Por ejemplo, ¿qué tan rápido se carga el sitio web?
Es necesario un requisito no funcional para garantizar la usabilidad y la eficiencia de todo el sistema de software. El incumplimiento de los requisitos no funcionales puede provocar que los sistemas no satisfagan las necesidades de los usuarios.
Los requisitos no funcionales le permiten imponer restricciones o restricciones en el diseño del sistema en los distintos atrasos ágiles. Por ejemplo, el sitio debería cargarse en 3 segundos cuando el número de usuarios simultáneos es> 10000. Informar de una necesidad no funcional es tan crítico como una necesidad funcional.
EFECTO CLAVE
- Un requisito funcional define un sistema o su componente, pero un requisito no funcional define un atributo de rendimiento del sistema de software.
- Los requisitos funcionales junto con el análisis de necesidades ayudan a identificar las necesidades que faltan y la ventaja de un requisito no funcional es que le ayuda a garantizar una buena experiencia de usuario y la facilidad de operación del software.
- El requisito funcional es un verbo y el requisito no funcional es una característica
- Los tipos de requisitos no funcionales son capacidad de escala, disponibilidad, confiabilidad, recuperabilidad, integridad de los datos, etc. , Gestión de datos históricos, Requisitos legales o reglamentarios son diferentes tipos de requisitos funcionales.
En este tutorial, aprenderá más sobre:
Ejemplo de requisitos funcionales
- El software valida automáticamente a los clientes con el sistema de gestión de contactos ABC.
- El sistema de ventas debe permitir a los usuarios registrar las ventas de los clientes.
- El color de fondo de todas las ventanas de la aplicación será azul y tendrá un valor de color RGB hexadecimal de 0x0000FF.
- Solo los empleados de nivel gerencial tienen derecho a ver los detalles de los ingresos.
- El sistema de software debe estar integrado con una API bancaria.
- El sistema debe ejecutar software Sección 508 requisito de accesibilidad.
Ejemplos de necesidades no funcionales
A continuación, se muestran algunos ejemplos de necesidades no funcionales:
- Los usuarios primero deben cambiar la contraseña de inicio de sesión asignada inicialmente inmediatamente después del primer inicio de sesión exitoso. Además, el frente nunca debe reutilizarse.
- A los empleados nunca se les permitió actualizar su información salarial. Dicho intento debe informarse al administrador de seguridad.
- Cada intento fallido de un usuario de acceder a un elemento de datos se registrará en una pista de auditoría.
- Un sitio web debe ser capaz de manejar 20 millones de usuarios, lo que afectaría su rendimiento.
- El software debe ser portátil. Así que pasar de un sistema operativo a otro no crea ningún problema.
- Se debe explorar la privacidad de la información, la exportación de tecnologías restringidas, los derechos de propiedad intelectual, etc.
Requisitos funcionales frente a no funcionales
Parámetros | Requerimiento funcional | Requisito no funcional |
---|---|---|
Lo que es | Verbo | Rasgos |
Requisito | Es obligatorio | No es obligatorio |
Tipo de captura | Se captura en caso de uso. | Se captura como un atributo de calidad. |
Resultado final | Característica de producto | Propiedades del producto |
Capturar | Fácil de atrapar | Difícil de atrapar |
Propósito | Le ayuda a verificar la funcionalidad del software. | Le ayuda a verificar el rendimiento del software. |
Área de enfoque | Centrarse en la necesidad del usuario | Se centra en las expectativas del usuario. |
Documentación | Describe que hace el producto | Describe cómo funciona el producto. |
Tipo de prueba | Pruebas funcionales como sistema, integración, extremo a extremo, pruebas de API, etc. | Pruebas no funcionales como rendimiento, estrés, usabilidad, pruebas de seguridad, etc. |
Ejecución de pruebas | La ejecución de la prueba se realiza antes de realizar una prueba no funcional. | Después de la prueba funcional |
Información del Producto | Características del producto | Propiedades del producto |
Beneficios del requisito funcional
Aquí están las ventajas / beneficios de crear un documento de necesidades funcionales típicas:
- Le ayuda a comprobar si la aplicación proporciona todas las funciones mencionadas en el requisito funcional de esa aplicación.
- Un documento de requisitos funcionales le ayuda a definir la funcionalidad de un sistema o uno de sus subsistemas.
- Las necesidades funcionales combinadas con el análisis de necesidades ayudan a identificar las necesidades faltantes. Contribuyen claramente al comportamiento esperado del servicio y del sistema.
- Los errores detectados en la fase de recopilación de requisitos funcionales son los más baratos de corregir.
- Apoyar los objetivos, tareas o actividades del usuario para facilitar la gestión de proyectos
- Una necesidad funcional se puede expresar en forma de un caso de uso o una historia de usuario porque reflejan un comportamiento funcional visible desde el exterior.
Ventajas de los requisitos no funcionales
Las ventajas / beneficios de las pruebas no funcionales son:
- Los requisitos no funcionales garantizan que el sistema de software siga las normas legales y de cumplimiento.
- Garantizan la fiabilidad, disponibilidad y rendimiento del sistema de software.
- Garantizan una buena experiencia de usuario y la facilidad de uso del software.
- Ayudan a dar forma a la política de seguridad del sistema de software.