in

Seis estrategias NFR para mejorar el rendimiento y la seguridad del software

software

software

Crédito: CC0 Dominio público

Los requisitos no funcionales (NFR) son aspectos importantes de un sistema de software, pero los desarrolladores a menudo los pasan por alto porque no son los aspectos de un programa con los que los usuarios interactúan directamente. Nuevo estudio profundiza en cómo los desarrolladores abordan la elaboración de NFR y describe seis prácticas recomendadas para abordar los NFR que pueden ayudar a garantizar la seguridad y el rendimiento de un programa a corto y largo plazo.

Los NFR desempeñan un papel importante en el funcionamiento del software. Algunos ejemplos de NFR son: la seguridad de un sistema; el rendimiento, como el tiempo que tarda un sistema en ejecutar los comandos de un usuario; la solidez, que se refiere a la capacidad de recuperación de un sistema tras un error; y la facilidad de mantenimiento, que es la facilidad con la que los desarrolladores pueden actualizar el sistema a lo largo del tiempo.

«Los NFR son elementos esenciales de cualquier pieza de software», afirma Wesley KG Assunção, coautor de un artículo sobre el tema y profesor asociado de informática en la Universidad Estatal de Carolina del Norte.

«Para este estudio, queríamos responder algunas preguntas fundamentales sobre los NFR. ¿Quiénes son los expertos a cargo de estos requisitos? ¿Cómo discuten y gestionan los ingenieros de software este tipo de requisitos?»

Para ello, los investigadores analizaron 1.533 solicitudes de incorporación de cambios en GitHub relacionadas con las NFR, para ver cómo los desarrolladores discutían y abordaban los problemas relacionados con las NFR. Los investigadores también realizaron un análisis en profundidad de 63 desarrolladores que eran particularmente activos en cuestiones relacionadas con las NFR y realizaron una encuesta a 44 desarrolladores para comprender mejor sus puntos de vista sobre las NFR.

«Tal vez no sea sorprendente que hayamos descubierto que los desarrolladores discuten los NFR tanto de manera proactiva como reactiva, antes de que surja un problema y después de que surja», afirma Assunção. «Y los desarrolladores que fueron más activos en discutir los NFR desempeñaron en gran medida papeles clave en el proyecto de software. Esto sugiere que los NFR son una preocupación principal durante el mantenimiento y la evolución del software. El estudio subraya el papel que desempeñan los NFR en la calidad del software y el éxito de los sistemas de software».

Basándose en su análisis y en las conversaciones con los desarrolladores, los investigadores identificaron seis puntos clave que son fundamentales para desarrollar y mantener NFR que ayudarán a que un sistema prospere:

  • Priorización y planificación: Los requisitos de recursos naturales deben tratarse con la misma prioridad que otros requisitos. Deben planificarse con anticipación y revisarse durante todo el proyecto de desarrollo.
  • Identificación y debate: los NFR deben identificarse y analizarse en las primeras fases del proceso de desarrollo, idealmente en la fase de diseño. Durante la evolución del software, estos NFR deben revisarse si es necesario.
  • Uso de tecnologías aliadas a las pruebas: La adecuación del NFR se puede verificar a través de tecnologías ya aprobadas por el mercado, donde los NFR asociados a esos proyectos satisfagan la complejidad del proyecto.
  • Puntos de referencia: se recomienda utilizar puntos de referencia para simular el comportamiento de un fragmento de código o algoritmo en diferentes condiciones, ya que permite a los desarrolladores revisar y refactorizar el código cuando no cumple con los NFR especificados por el proyecto.
  • Documentación de las mejores prácticas: al mantener los NFR bien documentados, los desarrolladores tendrán un punto de partida para abordar cualquier problema de NFR cuando aparezca.
  • Mentalidad a largo plazo: abordar adecuadamente los NFR aumenta la probabilidad de que un software tenga una vida útil prolongada. Para garantizar esto, un sistema debe ofrecer una buena experiencia de usuario, debe estar diseñado para escalar y debe ser fácil de mantener para los futuros desarrolladores.

«La moraleja de todo esto es clara», afirma Assunção. «Entendemos que las características y funcionalidades de un sistema de software (las partes del software que no son NFR) representan las capacidades comerciales de un sistema y tienen un valor estratégico para las empresas. Sin embargo, nuestro trabajo destaca el papel fundamental que desempeñan los NFR en la calidad general de un sistema de software, lo que los convierte en clave para el éxito de un sistema».

El papel, «Comprender las discusiones y percepciones de los desarrolladores sobre los requisitos no funcionales: el caso del ecosistema Springse presentará el 19 de julio en la 32ª Conferencia Internacional sobre los Fundamentos de la Ingeniería de Softwareque se celebra en Porto de Galinhas, Brasil.

El primer autor del artículo es Anderson Oliveira de la PUC-Río, Brasil. El artículo es coautorado por João Lucas Correia, Juliana Alves Pereira, Daniel Coutinho, Caio Barbosa, Paulo Vítor CF Libório y Alessandro Garcia de la PUC-Rio; y por Rafael de Mello de la Universidad Federal de Río de Janeiro, Brasil.

Más información:
Oliveira et al. Comprender las discusiones y percepciones de los desarrolladores sobre los requisitos no funcionales: el caso del ecosistema Spring, Documento de la investigación: 10.1145/3643750, andersonjso.github.io/preprints/fse24oliveira.pdf

Proporcionado por la Universidad Estatal de Carolina del Norte


Citación:Seis estrategias de NFR para mejorar el rendimiento y la seguridad del software (25 de junio de 2024) recuperado el 11 de julio de 2024 de https://techxplore.com/news/2024-06-nfr-strategies-software.html

Este documento está sujeto a derechos de autor. Salvo que se haga un uso legítimo con fines de estudio o investigación privados, no se podrá reproducir ninguna parte del mismo sin autorización por escrito. El contenido se ofrece únicamente con fines informativos.



Fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

GIPHY App Key not set. Please check settings

La Caverna de la Calavera es una mina desafiante llena de monstruos peligrosos, pero las recompensas valen la pena.

Cómo desbloquear la caverna de la calavera en Stardew Valley

[Galaxy History ③] Evolución de la serie Galaxy Watch: reimaginando el reloj