Software Architecture

Software Architecture is a key field in systems engineering that encompasses the structural organization of software components, their interactions, and the guiding principles that govern the design and evolution of systems. This area is pivotal in ensuring efficiency, scalability, and maintainability of software systems, directly affecting the quality and performance of applications.

About the Area Coordinator

Prof. André Lanna

A professor and researcher in the field of Software Architecture. Currently, he serves as an associate professor at the University of Brasília, significantly contributing to the undergraduate Software Engineering program at the Gama campus and the Graduate Program in Applied Computing.
More About the Coordinator

Research Team

Researchers

Master’s degree

Bachelor’s Thesis

  • Luiza Esteves dos Santos. Application to support the organization of course content (provisional) . Bachelor of Software Engineering - University of Brasília (Brazil), (2024). Advisor(s): Ricardo Ajax . Tags: Education, Software Architecture .
  • Artur de Souza Vieira. Application to support the organization of course content (provisional) . Bachelor of Software Engineering - University of Brasília (Brazil), (2024). Advisor(s): Ricardo Ajax . Tags: Education, Software Architecture .

Previous Researchers

Master’s degree

  1. Taylor Rodrigues Lopes, Method for Migrating Legacy Monolithic Systems to Microservices Architecture . Master's Thesis in Applied Computing, University of Brasília (Brazil), 2021 Advisor(s): André Lanna . Tags: Software Architecture .
    Currently, most organizations depend on Information Systems. In general, these systems are built based on monolithic architecture, with centralized execution on a single server. Over the years, however, the constant changes to meet business needs and the accumulation of technical debt, have made these systems increasingly larger and complex, making aspects such as maintainability and scalability difficult. This difficult reality experienced by many organizations motivated the present work to investigate a new architectural trend called microservices. Popularized by companies like Netflix and Amazon, microservices can be an alternative for the modernization of legacy systems, providing low downtime and imperceptible impact to the end user. In this new architecture, the software is broken down into small parts that work independently and autonomously, bringing some improvements in terms of software quality attributes. However, there are also challenges and tradeoffs - adopting microservices tends to be a difficult process and not rarely unsuccessful, mainly due to the lack of methods to conduct the migration process. In this sense, based on scientific studies, this work presents a migration method entitled Microservice Full Cycle - MFC, inspired by the software development life cycle and DevOps strategies. The goal is to assist legacy software systems to gradually evolve guided by a set of steps and activities common to the microservice architecture. The validation of the MFC method is done through an experiment in a real application, showing advantages such as more cohesive and uncoupled codes, technological independence, agility in build, test and deploy (automation), scalability under high demand, greater interoperability and integration, geodistributed capabilities, plus realtime monitoring and feedback.
  2. Felipe Evangelista dos Santos, Implementation of the integration of the UnB service bus with monitoring tools . Master's Thesis in Applied Computing, University of Brasília (Brazil), 2020 Advisor(s): Sergio Freitas . Tags: Software Architecture .
    The adoption of a Service-Oriented Architecture (SOA) in the implementation of services and microservices in distributed system applications facilitates the use of development standards, maintenance, flexibility in service development, and interoperability between services and systems. The Computing Center (CPD) of the University of Brasília (UnB) engages in various software automation processes, ranging from the maintenance of existing systems to the development and deployment of new technological solutions. Continuous monitoring of the performance of services, microservices, and systems becomes crucial. This study, of an exploratory nature, aims to investigate solutions and tools for implementing and managing the monitoring of distributed services and systems at UnB, through systematic mapping. The research was theoretically grounded to develop a model that was applied to the monitoring module of the UnB service bus. Simulations were conducted with the developed solution, allowing the analysis of the integration between the service bus and the proposed monitoring tool.
  3. James Taylor Faria Chaves, Service-Oriented Architecture (SOA), Agile Development Methods and Quality Assurance (QA) - a case study . Master's Thesis in Applied Computing, University of Brasília (Brazil), 2019 Advisor(s): Sergio Freitas . Tags: Software Architecture .
    This work introduces the NatVI framework, focusing on the integration between Service-Oriented Architecture (SOA), Agile Development, and Quality Assurance (QA). Developed from a literature review that identified and evaluated the trade-offs between SOA and agile methods, NatVI aims to provide a comprehensive solution for the software development cycle, especially for service-based applications. It includes best practices from SOA and agile principles, emphasizing the importance of QA, essential for software projects in dynamic business environments. A case study in a unit of the Brazilian federal government assessed the application of NatVI, observing improvements in software quality, understanding of agile methods, and client satisfaction with the development process. The study also highlighted limitations, such as the size of the IT team and the number of clients involved, leading to a subjective evaluation through semi-structured interviews. The preliminary results suggest that NatVI has potential, but also highlight the need for further research, paving the way for future studies on emerging technologies, such as containers and DevOps.

Bachelor’s Thesis

  1. Filipe Silva, The State of Software Maintenance Practice in Early Stage Software Startups . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2022 Advisor(s): Cristiane Ramos . Tags: Software Architecture, Digital Transformation .
  2. Laércio Sousa Júnior, Determining the Authorship Rate Within a Project Using Git . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2020 Advisor(s): André Lanna . Tags: Software Architecture, Digital Transformation .
  3. Luis Guimarães Jonathan Paiva, NotifiCar - App for Monitoring the Status of Cars in a City . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2019 Advisor(s): André Lanna . Tags: Software Architecture, Digital Transformation .
  4. Luciano Endo, Support Metrics for Effort Estimation in the Development of Business Intelligence Systems . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2015 Advisor(s): Fabiana Mendes . Tags: Software Architecture .
  5. Breno Cruz, A Systematic Mapping of Metrics for Agile Methodologies Scrum, Kanban, and XP . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2014 Advisor(s): Fabiana Mendes . Tags: Software Architecture .
  6. Guilherme Fay Vergara, Deployment of software as a service on a private cloud for the FGA software factory . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2014 Advisor(s): Sergio Freitas, Edna Canedo . Tags: Software Architecture .
    The objective of this final course design is bring the reader first state of the art on cloud computing later a brief explanation of tools for cloud computing, through all levels of architecture, and later the proposition of a deployment model of computing cloud to the software factory and finally the deployment of this model. The deployment of such services is within a private cloud, allocated within the CEBRASPE servers. The main services are available - Express which is a system that is primarily maintained by SERPRO, and owncloud, software that implements the sharing of any files in the cloud. These services increase the productivity of the factory members and increase their collaboration in projects developed internally.

Current Projects

Publications and Productions

Publications (17)

  1. MACIEL, C.,MENDES, F. F.,PEREIRA, V. C.,YAMAUCHI, E. A., Defining Digital Legacy Management Systems' Requirements , LECTURE NOTES IN BUSINESS INFORMATION PROCESSING , LNBIP 455(256-279), 2022 . DOI: 10.1007/978-3-031-08965-7_13 . Tags: Software Architecture .
  2. Filipe Silva, The State of Software Maintenance Practice in Early Stage Software Startups . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2022 Advisor(s): Cristiane Ramos . Tags: Software Architecture, Digital Transformation .
  3. Taylor Rodrigues Lopes, Method for Migrating Legacy Monolithic Systems to Microservices Architecture . Master's Thesis in Applied Computing, University of Brasília (Brazil), 2021 Advisor(s): André Lanna . Tags: Software Architecture .
    Currently, most organizations depend on Information Systems. In general, these systems are built based on monolithic architecture, with centralized execution on a single server. Over the years, however, the constant changes to meet business needs and the accumulation of technical debt, have made these systems increasingly larger and complex, making aspects such as maintainability and scalability difficult. This difficult reality experienced by many organizations motivated the present work to investigate a new architectural trend called microservices. Popularized by companies like Netflix and Amazon, microservices can be an alternative for the modernization of legacy systems, providing low downtime and imperceptible impact to the end user. In this new architecture, the software is broken down into small parts that work independently and autonomously, bringing some improvements in terms of software quality attributes. However, there are also challenges and tradeoffs - adopting microservices tends to be a difficult process and not rarely unsuccessful, mainly due to the lack of methods to conduct the migration process. In this sense, based on scientific studies, this work presents a migration method entitled Microservice Full Cycle - MFC, inspired by the software development life cycle and DevOps strategies. The goal is to assist legacy software systems to gradually evolve guided by a set of steps and activities common to the microservice architecture. The validation of the MFC method is done through an experiment in a real application, showing advantages such as more cohesive and uncoupled codes, technological independence, agility in build, test and deploy (automation), scalability under high demand, greater interoperability and integration, geodistributed capabilities, plus realtime monitoring and feedback.
  4. CHAVES, J. T. F.,FREITAS, S. A. A., NatVi - A Framework for Agile Software Development, Service-oriented Architecture and Quality Assurance , in 20th International Conference on Computational Science and its Applications , 2020 . DOI: 10.1007/978-3-030-58817-5_33 . Tags: Software Architecture .
  5. Felipe Evangelista dos Santos, Implementation of the integration of the UnB service bus with monitoring tools . Master's Thesis in Applied Computing, University of Brasília (Brazil), 2020 Advisor(s): Sergio Freitas . Tags: Software Architecture .
    The adoption of a Service-Oriented Architecture (SOA) in the implementation of services and microservices in distributed system applications facilitates the use of development standards, maintenance, flexibility in service development, and interoperability between services and systems. The Computing Center (CPD) of the University of Brasília (UnB) engages in various software automation processes, ranging from the maintenance of existing systems to the development and deployment of new technological solutions. Continuous monitoring of the performance of services, microservices, and systems becomes crucial. This study, of an exploratory nature, aims to investigate solutions and tools for implementing and managing the monitoring of distributed services and systems at UnB, through systematic mapping. The research was theoretically grounded to develop a model that was applied to the monitoring module of the UnB service bus. Simulations were conducted with the developed solution, allowing the analysis of the integration between the service bus and the proposed monitoring tool.
  6. Laércio Sousa Júnior, Determining the Authorship Rate Within a Project Using Git . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2020 Advisor(s): André Lanna . Tags: Software Architecture, Digital Transformation .
  7. CHAVES, J. T. F.,FREITAS, S. A. A., A Systematic Literature Review for Service-oriented Architecture and Agile Development , in The 19th International Conference on Computational Science and its Applications , 2019 . DOI: 10.1007/978-3-030-24308-1_11 . Tags: Software Architecture .
  8. James Taylor Faria Chaves, Service-Oriented Architecture (SOA), Agile Development Methods and Quality Assurance (QA) - a case study . Master's Thesis in Applied Computing, University of Brasília (Brazil), 2019 Advisor(s): Sergio Freitas . Tags: Software Architecture .
    This work introduces the NatVI framework, focusing on the integration between Service-Oriented Architecture (SOA), Agile Development, and Quality Assurance (QA). Developed from a literature review that identified and evaluated the trade-offs between SOA and agile methods, NatVI aims to provide a comprehensive solution for the software development cycle, especially for service-based applications. It includes best practices from SOA and agile principles, emphasizing the importance of QA, essential for software projects in dynamic business environments. A case study in a unit of the Brazilian federal government assessed the application of NatVI, observing improvements in software quality, understanding of agile methods, and client satisfaction with the development process. The study also highlighted limitations, such as the size of the IT team and the number of clients involved, leading to a subjective evaluation through semi-structured interviews. The preliminary results suggest that NatVI has potential, but also highlight the need for further research, paving the way for future studies on emerging technologies, such as containers and DevOps.
  9. Luis Guimarães Jonathan Paiva, NotifiCar - App for Monitoring the Status of Cars in a City . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2019 Advisor(s): André Lanna . Tags: Software Architecture, Digital Transformation .
  10. LEAO, H. A. T.,SOUZA, R. V. F.,MACIEL, A. A. F.,FREITAS, S. A. A.,CANEDO, E. D., Gamificação aplicada ao desenvolvimento de software: Análise e Projeto , in XX ENCOINFO , 2018 . Tags: Gamification, Software Architecture .
  11. RIBEIRO, A. S.,CANEDO, E. D.,FREITAS, S. A. A., An Implementation of the OAuth 2.0 for an Enterprise Service Bus , in 18th International Conference on Computational Science and Its Applications , 2018 . DOI: 10.1007/978-3-319-95162-1_32 . Tags: Software Architecture .
  12. ARAUJO, A. N. L.,BORGES, K. C. S.,FREITAS, S. A. A.,CANEDO, E. D.,SILVA, W. C. M. P., Experience and Innovation Factory: Adaptation of an Experience Factory Model for a Research and Development Laboratory , in Americas Conference on Information Systems 2017 , 2017 . Tags: Software Architecture, Teamwork .
  13. RAMOS, C. S.,OLIVEIRA, K. M.,ROCHA, A. R. C., Planejamento de Programa de Melhoria Abordagem Multimodelo , in Simpósio Brasileiro de Qualidade de Software , p79-93, 2015 . DOI: 10.5753/sbqs.2015.15215 . Tags: Software Architecture .
  14. VERGARA, G. F.,CANEDO, E. D.,FREITAS, S. A. A., Deployment of Collaborative Softwares as a Service in a Private Cloud to a Software Factory , in 15th Computational Science and Its Applications (ICCSA) , 2015 . DOI: 10.1007/978-3-319-21404-7_24 . Tags: Software Architecture .
  15. Luciano Endo, Support Metrics for Effort Estimation in the Development of Business Intelligence Systems . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2015 Advisor(s): Fabiana Mendes . Tags: Software Architecture .
  16. Breno Cruz, A Systematic Mapping of Metrics for Agile Methodologies Scrum, Kanban, and XP . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2014 Advisor(s): Fabiana Mendes . Tags: Software Architecture .
  17. Guilherme Fay Vergara, Deployment of software as a service on a private cloud for the FGA software factory . Senior Project (Bachelor of Software Engineering) - University of Brasília (Brazil), 2014 Advisor(s): Sergio Freitas, Edna Canedo . Tags: Software Architecture .
    The objective of this final course design is bring the reader first state of the art on cloud computing later a brief explanation of tools for cloud computing, through all levels of architecture, and later the proposition of a deployment model of computing cloud to the software factory and finally the deployment of this model. The deployment of such services is within a private cloud, allocated within the CEBRASPE servers. The main services are available - Express which is a system that is primarily maintained by SERPRO, and owncloud, software that implements the sharing of any files in the cloud. These services increase the productivity of the factory members and increase their collaboration in projects developed internally.

Contact & Collaboration

See more about Software Architecture
← Software Quality High-Performance Computing and Cloud →