Requisito no funcional


En ingeniería de sistemas e ingeniería de requisitos , un requisito no funcional (NFR) es un requisito que especifica criterios que se pueden utilizar para juzgar el funcionamiento de un sistema, en lugar de comportamientos específicos. Se contrastan con los requisitos funcionales que definen comportamientos o funciones específicas. El plan para implementar los requisitos funcionales se detalla en el diseño del sistema . El plan para implementar requisitos no funcionales se detalla en la arquitectura del sistema , ya que suelen ser requisitos importantes desde el punto de vista arquitectónico .[1]

En términos generales, los requisitos funcionales definen lo que se supone que debe hacer un sistema y los requisitos no funcionales definen cómo se supone que debe ser un sistema . Los requisitos funcionales generalmente tienen la forma de "el sistema debe hacer <requisito>", una acción individual o parte del sistema, quizás explícitamente en el sentido de una función matemática , una descripción de caja negra entrada, salida, proceso y modelo funcional de control o Modelo de salida a bolsa. Por el contrario, los requisitos no funcionales tienen la forma de "el sistema debe ser <requisito>", una propiedad general del sistema como un todo o de un aspecto particular y no una función específica. Las propiedades generales del sistema suelen marcar la diferencia entre el éxito o el fracaso del proyecto de desarrollo.

Los requisitos no funcionales a menudo se denominan erróneamente " atributos de calidad " de un sistema, sin embargo, existe una distinción entre los dos. Los requisitos no funcionales son los criterios para evaluar cómo debe funcionar un sistema de software y un sistema de software debe tener ciertos atributos de calidad para cumplir con los requisitos no funcionales. Entonces, cuando decimos que un sistema debe ser "seguro", "altamente disponible", "portátil", "escalable", etc., estamos hablando de sus atributos de calidad. Otros términos para requisitos no funcionales son "cualidades", "objetivos de calidad", "requisitos de calidad de servicio", "restricciones", "requisitos no conductuales" [2] o "requisitos técnicos".", a partir de atributos como la estabilidad y la portabilidad. Las cualidades, es decir, los requisitos no funcionales, se pueden dividir en dos categorías principales:

Puede requerirse un sistema para presentar al usuario una visualización del número de registros en una base de datos. Este es un requisito funcional. Cuán actual debe ser este número es un requisito no funcional. Si es necesario actualizar el número en tiempo real , los arquitectos del sistema deben asegurarse de que el sistema sea capaz de mostrar el recuento de registros dentro de un intervalo aceptablemente corto del cambio del número de registros.

Un ancho de banda de red suficiente puede ser un requisito no funcional de un sistema. Otros ejemplos incluyen: