¿Qué es el requisito no funcional en ingeniería de software?

¿Qué es el requisito no funcional?

Requisito no funcional (NFR) especifica el atributo de calidad de un sistema de software. Juzgan el sistema de software en función de la capacidad de respuesta, la usabilidad, la seguridad, la portabilidad y otros estándares no funcionales que son fundamentales para el éxito del sistema de software. Ejemplo de requisito no funcional, "¿Qué tan rápido se carga el sitio web?" 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 en ingeniería de software permiten imponer restricciones al 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.

Tipos de requisitos no funcionales

A continuación se detallan los principales tipos de requisitos no funcionales:

Tipos de requisitos no funcionales
Tipos de requisitos no funcionales
  • Requisito de usabilidad
  • Requisito de capacidad de servicio
  • Requisito de manejabilidad
  • Requisito de recuperabilidad
  • Requisito de seguridad
  • Data Integrity requisito
  • Requisito de capacidad
  • Requisito de disponibilidad
  • Requisito de escalabilidad
  • Requisito de interoperabilidad
  • Requisito de confiabilidad
  • Requisito de mantenibilidad
  • Requerimiento regulatorio
  • Requisito ambiental

Ejemplos de requisitos no funcionales

A continuación se muestran algunos ejemplos de requisitos no funcionales:

  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.

Requisitos funcionales versus no funcionales

A continuación se muestra la principal diferencia entre los requisitos funcionales y no funcionales:

Parámetros Requerimiento funcional Requisito no funcional
¿Qué 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 Prueba de funcion como sistema, integración, de extremo a extremo, pruebas de API, etc. Pruebas no funcionales como pruebas de rendimiento, estrés, usabilidad, 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 no funcional

Beneficios/ventajas de Pruebas no funcionales 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.

Desventajas del requisito no funcional

Las desventajas/desventajas del requisito de no función son:

  • Ningún requisito funcional puede afectar los distintos subsistemas de software de alto nivel.
  • Requieren una consideración especial durante la fase de arquitectura de software/diseño de alto nivel, lo que aumenta los costos.
  • Su implementación generalmente no se corresponde con el subsistema de software específico,
  • Es difícil modificar lo no funcional una vez que se pasa la fase de arquitectura.

APRENDIZAJE CLAVE

  • NFR significa: Un requisito no funcional define el atributo de rendimiento de un sistema de software.
  • ¿Cuáles son los tipos de comportamiento no funcional? Escalabilidad, Capacidad, Disponibilidad, Fiabilidad, Recuperabilidad, Datos. Integrity, etc.
  • Uno de los ejemplos de NFR es que a los empleados nunca se les permite actualizar su información salarial. Dicho intento debe informarse al administrador de seguridad.
  • El requisito funcional es un verbo, mientras que el requisito no funcional es un atributo.
  • La ventaja del requisito no funcional es que le ayuda a garantizar una buena experiencia de usuario y la facilidad de operación del software.
  • La mayor desventaja de los requisitos no funcionales es que pueden afectar a los distintos subsistemas de software de alto nivel.