requisitos no funcionales de mantenibilidad

Los requisitos no funcionales de mantenibilidad (NRM) son aquellos que se refieren a la capacidad de un software para ser mantenido, modificado y/o reparado. En general, se pueden dividir en cuatro grandes grupos:

  • Fiabilidad: capacidad del software para realizar su función de forma correcta y sin errores. Incluye tanto la corrección de errores (debugging) como la detección y corrección de errores potenciales (testing).
  • Usabilidad: capacidad del software para ser utilizado de forma eficiente, segura y fácil de aprender por parte de los usuarios. Incluye la facilidad de uso (usability), la facilidad de aprendizaje (learnability) y la seguridad (security).
  • Portabilidad: capacidad del software para ser instalado, ejecutado y/o migrado en diferentes entornos (hardware, software, redes, etc.). Incluye la portabilidad del código fuente (source code portability), la portabilidad de la interfaz (interface portability) y la portabilidad de los datos (data portability).
  • Adaptabilidad: capacidad del software para ser modificado para adaptarse a nuevos requisitos, nuevas tecnologías o nuevos entornos. Incluye la configurabilidad (configurability), la reusabilidad (reusability) y la escalabilidad (scalability).

La importancia de los NRM varía en función del tipo de software y del entorno en el que se va a utilizar. Por ejemplo, en entornos críticos (e.g. sistemas de control de vuelo, sistemas de control de tráfico, etc.) la fiabilidad es fundamental, mientras que en otros entornos (e.g. aplicaciones móviles, sitios web, etc.) la usabilidad puede ser más importante.

Requisitos relacionados