Definición de una secuencia de refactorización que permite mejorar la mantenibilidad minimizando el impacto negativo a la eficiencia basados en la medición de atributos de calidad internos.

Palabras clave

Refactorización
Atributos de Calidad
Métricas
Arquitectura de Software.

Resumen

Los recursos destinados al desarrollo de software son limitados tanto por cantidad, categoría y costos, razón por la cual las decisiones tomadas en el proceso de creación de software son vitales.

Para tomar las mejores decisiones, es indispensable conocer el contexto del proyecto y entre esto sus dificultades, esta información en ocasiones no es conocida con claridad, razón por la cual los gerentes o arquitectos del proyecto toman las decisiones basándose en su experiencia aun desconociendo el detalle del desarrollo, siendo una de las muchas causas por las cuales los defectos no sean detectados hasta después del lanzamiento del software.

Estas decisiones son tomadas bajo una metodología que facilita la gestión del proyecto, dependiendo de la metodología que se siga las decisiones de diseño o implementación cambian.

La gran acogida de las metodologías agiles [1] nos indican un marco de trabajo en el cual elaborar la investigación, donde se puede encontrar en [1], que aun que las metodólogas agiles tienen beneficios, como, la habilidad de cambiar las prioridades del proyecto, mejorar el alineamiento del negocio con TI, entregas rápidas al mercado y mejorar la productividad, aún sigue siendo un problema la reducción de los riesgos y la calidad del software.

En este documento se menciona una introducción destacando la motivación, la problemática actual en el desarrollo de software en cuanto a calidad se refiere, los objetivos que se plantean de la investigación, alcance, trabajos relacionados y una estrategia metodológica para desarrollar el proyecto.

Referencias

stateofagile, “13th Annual State Of Agile Report,” 2019-05-07, 2019. [Online]. Available: https://www.stateofagile.com/#ufh-i-521251909-13th-annual-state-of-agile-report/473508. [Accessed: 10-Jun-2019].

Authors, “Success Rates Rise 2017 9th Global Project Management Survey,” PMI’s Pulse Prof., p. 32, 2017.

ISO, “NORMAS ISO 25000.” [Online]. Available: https://iso25000.com/index.php/normas-iso-25000. [Accessed: 10-Jun-2019].

K. O. Elish and M. Alshayeb, “Using Software Quality Attributes to Classify Refactoring to Patterns.,” JSW, vol. 7, no. 2, pp. 408–419, 2012.

M. Fowler, Refactoring: improving the design of existing code. Addison-Wesley Professional, 2018.

Y. Khrishe and M. Alshayeb, “An empirical study on the effect of the order of applying software refactoring,” in 2016 7th International Conference on Computer Science and Information Technology (CSIT), 2016, pp. 1–4.

J. Chen, J. Xiao, Q. Wang, L. J. Osterweil, and M. Li, “Refactoring planning and practice in agile software development: an empirical study,” in Proceedings of the 2014 International Conference on Software and System Process, 2014, pp. 55–64.

A. S. Nyamawe, H. Liu, Z. Niu, W. Wang, and N. Niu, “Recommending Refactoring Solutions Based on Traceability and Code Metrics,” IEEE Access, vol. 6, pp. 49460–49475, 2018.

F. Simon, F. Steinbruckner, and C. Lewerentz, “Metrics based refactoring,” in Proceedings Fifth European Conference on Software Maintenance and Reengineering, 2001, pp. 30–38.

B. N. Nathan-Regis and G. M. Nasira, “AGILE METHODS AND QUALITY _ A SURVEY.” 2013.

J. Pantiuchina, M. Mondini, D. Khanna, X. Wang, and P. Abrahamsson, “Are software startups applying agile practices? The state of the practice from a large survey,” in International Conference on Agile Software Development, 2017, pp. 167–183.

S. B. Oyong and V. E. Ekong, “An explorative survey of formal and agile software development methods,” Glob. J. Pure Appl. Sci., vol. 25, no. 1, pp. 71–79, 2019.

U. Iqbal and A. Javed, “scrum (R-Scrum) introduction of model driven architecture (MDA) in agile methodology,” Int. J. Sci. Technol. Res., vol. 3, no. 11, pp. 296–302, 2014.

R. Moser, P. Abrahamsson, W. Pedrycz, A. Sillitti, and G. Succi, “A case study on the impact of refactoring on quality and productivity in an agile team,” in IFIP Central and East European Conference on Software Engineering Techniques, 2007, pp. 252–266.

R. Malhotra and A. Chug, “An empirical study to assess the effects of refactoring on software maintainability,” in 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI), 2016, pp. 110–117.