Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ UPCommons. Portal de...arrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
versions View all 2 versions
addClaim

Desarrollo de software seguro, con calidad, rendimiento, observabilidad y analítica en MANGO

Authors: Cordobilla Blanco, Izan;

Desarrollo de software seguro, con calidad, rendimiento, observabilidad y analítica en MANGO

Abstract

En el mundo del desarrollo de software es común ver cómo ciertos aspectos técnicos que no tienen un impacto directo con el usuario final se descuidan, especialmente aquellos que no implican una nueva funcionalidad. Esta práctica puede parecer adecuada debido a la aceleración del proceso de desarrollo, pero a largo plazo puede acabar trayendo problemas, tanto para los usuarios como para los desarrolladores. Por ello, el objetivo principal de este Trabajo de Fin de Grado consiste en identificar y abordar los problemas presentes en los sistemas desarrollados por People & Apps, un equipo de Mango encargado de las aplicaciones internas diseñadas para asistir al personal de la organización. Estas aplicaciones, que se enfocaron principalmente en el desarrollo de nuevas funcionalidades, presentan un amplio margen de mejora. Para determinar qué aspectos deben mejorarse y cómo hacerlo, resulta fundamental comprender la arquitectura, los estándares de calidad deseados y las buenas prácticas implementadas por el equipo de Software Engineering. Como resultado de este proyecto, se ha realizado un estudio del funcionamiento de Software Engineering, analizando buenas prácticas, tecnologías utilizadas y protocolos seguidos por el equipo. Estos esfuerzos han conducido a una mejora significativa en las aplicaciones de People \& Apps. Se ha mejorado la calidad, eliminando errores, code smells y código duplicado, e incorporando tests unitarios. También se ha fortalecido la seguridad al eliminar vulnerabilidades críticas que afectaban la robustez de las aplicaciones. Además, se ha trabajado en la mejora de la observabilidad mediante la creación de un panel de control que proporciona métricas importantes. Se ha mejorado la analítica mediante la implementación de Google Analytics y se han realizado mejoras de rendimiento mediante modificaciones en funcionalidades específicas. Por último, se ha desarrollado documentación en Swagger para las REST APIs y se ha elaborado un tutorial para la creación de colecciones de Postman. Todas estas mejoras se han logrado gracias a la aplicación de metodologías ágiles que han permitido una constante adaptación del proyecto a las necesidades planteadas por el profesorado y la empresa. Tras obtener los resultados y validar las mejoras implementadas, se puede concluir que estas no solo beneficiarán a las aplicaciones específicas mejoradas, sino que también servirán como aprendizaje para otros equipos de Software Engineering, alentándolos a mejorar los aspectos técnicos descuidados.

In the world of software development, it is common to see how certain technical aspects that do not have a direct impact on the end user are neglected, especially those that do not involve a new functionality. This practice may seem appropriate due to the acceleration of the development process, but in the long run, it can end up bringing problems for both users and developers. Therefore, the main objective of this Bachelor's Thesis is to identify and address the problems present in the systems developed by People \& Apps, a Mango team responsible for internal applications designed to assist the organization's staff. These applications, which primarily focused on the development of new features, have a wide margin for improvement. To determine which aspects should be improved and how to do it, it is essential to understand the architecture, desired quality standards, and best practices implemented by the Software Engineering team. As a result of this project, a study of the functioning of Software Engineering has been carried out, analyzing best practices, technologies used, and protocols followed by the team. These efforts have led to a significant improvement in People & Apps' applications. Quality has been improved by eliminating errors, code smells, and duplicate code, and by incorporating unit tests. Security has also been strengthened by eliminating critical vulnerabilities that affected the robustness of the applications. Furthermore, work has been done to improve observability through the creation of a dashboard that provides important metrics. Analytics have been enhanced through the implementation of Google Analytics, and performance improvements have been made through modifications in specific functionalities. Finally, Swagger documentation has been developed for REST APIs, and a tutorial has been made for creating Postman collections. All these improvements have been achieved thanks to the application of agile methodologies that have allowed for constant adaptation of the project to the needs raised by the faculty and the company. After obtaining the results and validating the implemented improvements, it can be concluded that these will not only benefit the specific enhanced applications but also serve as learning for other Software Engineering teams, encouraging them to improve the neglected technical aspects.

Country
Spain
Keywords

Grafana, CI/CD, observability, observabilidad, security, Swagger, seguridad, postman, microservices, analítica, Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors, Computer engineering, Jenkins, analytics, Scrum, Enginyeria informàtica (Enginyeria), DevOps, Mango, Software engineering, software, SonarQube, calidad, microservicios, Kibana, quality, software improvement, Kubernetes, Enginyeria de programari, mejora del software, rendimiento, performance

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
    OpenAIRE UsageCounts
    Usage byUsageCounts
    visibility views 143
    download downloads 103
  • 143
    views
    103
    downloads
    Powered byOpenAIRE UsageCounts
Powered by OpenAIRE graph
Found an issue? Give us feedback
visibility
download
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
views
OpenAIRE UsageCountsViews provided by UsageCounts
downloads
OpenAIRE UsageCountsDownloads provided by UsageCounts
0
Average
Average
Average
143
103
Green