Requisitos funcionales versus no funcionales

Diferencia clave entre requisitos funcionales y no funcionales

  • Un requisito funcional define un sistema o su componente, mientras que un requisito no funcional define el atributo de desempeño de un sistema de software.
  • Los requisitos funcionales, junto con el análisis de requisitos, ayudan a identificar los requisitos faltantes, mientras que la ventaja de los requisitos no funcionales es que le ayudan a garantizar una buena experiencia de usuario y la facilidad de funcionamiento del software.
  • El requisito funcional es un verbo, mientras que el requisito no funcional es un atributo
  • Los tipos de requisitos no funcionales son escalabilidad, capacidad, disponibilidad, confiabilidad, recuperabilidad y datos. Integrity, etc., mientras que las correcciones, ajustes y cancelaciones de transacciones, reglas comerciales, requisitos de certificación, requisitos de informes, funciones administrativas, niveles de autorización, seguimiento de auditoría, interfaces externas, gestión de datos históricos, requisitos legales o regulatorios son varios tipos de requisitos funcionales.
Requisitos funcionales versus no funcionales
Diferencia entre requisitos funcionales y no funcionales

¿Qué es un requisito funcional?

En ingeniería de software, una requerimiento funcional Define un sistema o su componente. Describe las funciones que debe realizar un software. Una función no es más que entradas, su comportamiento y salidas. Puede ser un cálculo, manipulación de datos, proceso de negocio, interacción del usuario o cualquier otra funcionalidad específica que defina qué función es probable que realice un sistema.

Requerimientos funcionales en ingeniería de software le ayuda a capturar el comportamiento previsto del sistema. Este comportamiento puede expresarse como funciones, servicios o tareas o qué sistema debe realizar.

¿Qué es el requisito no funcional?

A requisito no funcional define el atributo de calidad de un sistema de software. Representan un conjunto de estándares utilizados para juzgar el funcionamiento específico de un sistema. Ejemplo, ¿qué tan rápido se carga el sitio web?

Un requisito no funcional es esencial para garantizar la usabilidad y eficacia de todo el sistema de software. No cumplir con los requisitos no funcionales puede dar como resultado que los sistemas no satisfagan las necesidades de los usuarios.

Los requisitos no funcionales permiten imponer restricciones o limitaciones en el diseño del sistema en los distintos backlogs ágiles. Por ejemplo, el sitio debería cargarse en 3 segundos cuando la cantidad de usuarios simultáneos sea > 10000 XNUMX. DescriptLa integración de requisitos no funcionales es tan crítica como un requisito funcional.

Ejemplo de requisitos funcionales

A continuación, se muestran algunos ejemplos de requisitos funcionales en ingeniería de software:

  • 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.
  • Sólo los empleados de nivel gerencial tienen derecho a ver los datos de ingresos.
  • El sistema de software debe estar integrado con la API bancaria.
  • El sistema de software debe pasar Sección 508 Requisito de accesibilidad.

Ejemplos de requisitos no funcionales

A continuación, se muestran algunos ejemplos de requisitos no funcionales en ingeniería de software:

  1. Los usuarios deben cambiar la contraseña de inicio de sesión asignada inicialmente inmediatamente después del primer inicio de sesión exitoso. Además, la inicial nunca debe reutilizarse.
  2. A los empleados nunca se les permitió actualizar su información salarial. Dicho intento debe informarse al administrador de seguridad.
  3. Todo intento fallido de un usuario de acceder a un dato se registrará en un registro de auditoría.
  4. Un sitio web debe ser lo suficientemente capaz de manejar 20 millones de usuarios sin afectar su rendimiento.
  5. El software debe ser portátil. Por lo tanto, pasar de un sistema operativo a otro no crea ningún problema.
  6. Deberían auditarse la privacidad de la información, la exportación de tecnologías restringidas, los derechos de propiedad intelectual, etc.

Diferencia entre requisitos funcionales y no funcionales

A continuación se muestra la principal diferencia entre requisitos funcionales y no funcionales en ingeniería de software:

parámetros Requerimiento funcional Requisito no funcional
Lo que es Verb Atributos
Requisito Es obligatorio es no obligatorio
Tipo de captura Se captura en el caso de uso. Se capta como un atributo de calidad.
Resultado final característica de producto Propiedades del producto
Capturando Fácil de capturar Difícil de capturar
Objetivo Le ayuda a verificar la funcionalidad del software. Le ayuda a verificar el rendimiento del software.
área de enfoque Centrarse en los requisitos del usuario Se concentra en las expectativas del usuario.
Documentación Describe lo 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, Prueba de seguridad, etc.
Ejecución de pruebas La ejecución de la prueba se realiza antes de las pruebas no funcionales. Después de las pruebas funcionales
Información del producto Características del producto Propiedades del producto

Ventajas del requisito funcional

A continuación, se detallan las ventajas y ventajas de crear un documento de requisitos funcionales típico:

  • Le ayuda a comprobar si la aplicación proporciona todas las funcionalidades mencionadas en los requisitos funcionales de esa aplicación.
  • Un documento de requisitos funcionales le ayuda a definir la funcionalidad de un sistema o uno de sus subsistemas.
  • Los requisitos funcionales junto con el análisis de requisitos ayudan a identificar los requisitos faltantes. Ayudan a definir claramente el servicio y el comportamiento esperado del sistema.
  • Los errores detectados en la etapa de recopilación de requisitos funcionales son los más baratos de solucionar.
  • Admite objetivos, tareas o actividades de los usuarios para facilitar la gestión de proyectos
  • Los requisitos funcionales se pueden expresar en forma de caso de uso o historia de usuario, ya que exhiben un comportamiento funcional visible externamente.

Ventajas del requisito no funcional

Beneficios/ventajas de las pruebas no funcionales en Ingeniería de software son:

  • Los requisitos no funcionales garantizan que el sistema de software siga las reglas legales y de cumplimiento.
  • Garantizan la confiabilidad, disponibilidad y rendimiento del sistema de software.
  • Garantizan una buena experiencia de usuario y facilidad de uso del software.
  • Ayudan a formular la política de seguridad del sistema de software.