Arquitetura de Software
A Arquitetura de Software é um campo fundamental na engenharia de sistemas que envolve a organização estrutural de componentes de software, suas interações e os princípios orientadores que definem o design e a evolução dos sistemas. Essa área é vital para garantir a eficiência, a escalabilidade e a manutenção dos sistemas de software, impactando diretamente na qualidade e no desempenho das aplicações.
Sobre o coordenador da área
Prof. André Lanna
Professor e pesquisador na área de Arquitetura de Software. Atualmente, desempenha o papel de professor adjunto na Universidade de Brasília, contribuindo significativamente para o curso de graduação em Engenharia de Software no campus Gama e para o Programa de Pós-Graduação em Computação Aplicada.
Mais sobre o coordenador
Mais sobre o coordenador
Equipe de pesquisa
Pesquisadores
- George Marsicano Côrrea - Professor Adjunto da Universidade de Brasília (UnB), atua no curso de graduação em Engenharia de Software e no Programa de Pós-Graduação em Computação Aplicada. .
Mestrado
- Dione Ramos Canuto Moura. (Em definição) . Dissertação (Mestrado Profissional em Computação Aplicada) - UnB, (2022). Orientador(es): George Marsicano . Tags: Arquitetura de Software .
Trabalho de conclusão de curso
- Luiza Esteves dos Santos. Aplicativo para apoio à organização de conteúdo de disciplinas (provisório) . Bacharelado em Engenharia de Software - UnB, (2024). Orientador(es): Ricardo Ajax . Tags: Educação, Arquitetura de Software .
- Artur de Souza Vieira. Aplicativo para apoio à organização de conteúdo de disciplinas (provisório) . Bacharelado em Engenharia de Software - UnB, (2024). Orientador(es): Ricardo Ajax . Tags: Educação, Arquitetura de Software .
Pesquisadores anteriores
Mestrado
- Taylor Rodrigues Lopes,
Método de migração de sistemas monolíticos legados para a arquitetura de microsserviços
. Dissertação (Mestrado Profissional em Computação Aplicada) - UnB, 2021
Orientador(es):
André Lanna
. Tags:
Arquitetura de Software
.Atualmente, grande parte das organizações dependem de Sistemas de Informação (SI). Em geral, estes sistemas são construídos com base na “arquitetura monolítica”, tendo a execução centralizada em um único servidor. Ao longo dos anos, porém, as constantes mudanças para atender necessidades de negócio e o acúmulo da dívida técnica, têm tornado estes sistemas cada vez maiores e complexos, dificultando aspectos como manutenibilidade e escalabilidade. Essa difícil realidade vivida por muitas organizações motivou o presente trabalho a investigar uma nova tendência arquitetural denominada “microsserviços”. Popularizado por empresas como Netflix e Amazon, os microsserviços podem ser uma alternativa para a modernização de sistemas legados, propiciando mínimo downtime e impacto ao usuário final. Nessa nova arquitetura, o software é decomposto em pequenas partes que funcionam de modo independente e autônomo, trazendo algumas melhorias em termos de atributos de qualidade de software. Contudo, há também desafios e tradeoffs - adotar microsserviços tende a ser um processo difícil e não raramente malsucedido, sobretudo, em razão da carência de métodos para conduzir o processo de migração. Nesse sentido, fundamentado em estudos científicos, este trabalho apresenta um método de migração intitulado Microservice Full Cycle - MFC, inspirado no ciclo de vida de desenvolvimento de software e em estratégias DevOps. O objetivo é auxiliar sistemas de software legados a gradualmente evoluírem orientados por um conjunto de etapas e atividades comuns à arquitetura de microsserviços. A validação do método MFC é feita por meio de uma simulação em uma aplicação real, tendo evidenciado vantagens tais como códigos mais coesos e desacoplados, independência tecnológica, agilidade em build, teste e deploy (automação), escalabilidade sob alta demanda, maior interoperabilidade e integração, capacidades geodistribuídas, além de monitoramento e feedback em tempo real.
- Felipe Evangelista dos Santos,
Implementação da integração do barramento de serviços da UnB com ferramentas de monitoramento
. Dissertação (Mestrado Profissional em Computação Aplicada) - UnB, 2020
Orientador(es):
Sergio Freitas
. Tags:
Arquitetura de Software
.A adoção de uma Arquitetura Orientada a Serviços (SOA) na implementação de serviços e microsserviços em aplicações de sistemas distribuídos facilita a utilização de padrões de desenvolvimento, a manutenção, a flexibilidade na criação de serviços e a interoperabilidade entre serviços e sistemas. O Centro de Informática (CPD) da Universidade de Brasília (UnB) engaja-se em diversos processos de automação de software, abrangendo desde a manutenção de sistemas existentes até o desenvolvimento e implantação de novas soluções tecnológicas. A monitorização contínua do desempenho de serviços, microsserviços e sistemas torna-se vital. Este estudo, de natureza exploratória, visa investigar soluções e ferramentas para a implementação e gestão de monitoramento de serviços e sistemas distribuídos na UnB, através de um mapeamento sistemático. A pesquisa fundamentou-se teoricamente para desenvolver um modelo que foi aplicado no módulo de monitoramento do barramento de serviços da UnB. Foram realizadas simulações com a solução desenvolvida, permitindo a análise da integração entre o barramento de serviços e a ferramenta de monitoramento proposta.
- James Taylor Faria Chaves,
Service-Oriented Architecture (SOA), Agile Development Methods and Quality Assurance (QA) - a case study
. Dissertação (Mestrado Profissional em Computação Aplicada) - UnB, 2019
Orientador(es):
Sergio Freitas
. Tags:
Arquitetura de Software
.Este trabalho introduz o framework NatVI, focando na integração entre Arquitetura Orientada a Serviços (SOA), Desenvolvimento Ágil e Garantia de Qualidade (QA). Desenvolvido a partir de uma revisão da literatura que identificou e avaliou os compromissos entre SOA e métodos ágeis, o NatVI visa oferecer uma solução abrangente para o ciclo de desenvolvimento de software, especialmente para aplicações baseadas em serviços. Inclui melhores práticas de SOA e princípios ágeis, enfatizando a importância da QA, essencial para projetos de software em ambientes de negócios dinâmicos. Um estudo de caso em uma unidade do governo federal brasileiro avaliou a aplicação do NatVI, observando melhorias na qualidade do software, compreensão dos métodos ágeis e satisfação do cliente com o processo de desenvolvimento. O estudo também destacou limitações, como o tamanho da equipe de TI e o número de clientes envolvidos, conduzindo a uma avaliação subjetiva através de entrevistas semiestruturadas. Os resultados preliminares sugerem que o NatVI tem potencial, mas destacam a necessidade de mais pesquisas, abrindo caminho para futuros estudos sobre tecnologias emergentes, como containers e DevOps.
Trabalho de conclusão de curso
- Filipe Silva, Estado da prática da manutenção de software no contexto de startups de software em early stage . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2022 Orientador(es): Cristiane Ramos . Tags: Arquitetura de Software, Transformação Digital .
- Laércio Sousa Júnior, Determinando a taxa de autoria dentro de um projeto usando Git . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2020 Orientador(es): André Lanna . Tags: Arquitetura de Software, Transformação Digital .
- Luis Guimarães Jonathan Paiva, NotifiCar - aplicativo para monitoramento da situação dos automóveis de uma cidade . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2019 Orientador(es): André Lanna . Tags: Arquitetura de Software, Transformação Digital .
- Luciano Endo, Métricas de apoio a estimativa de esforço para o desenvolvimento de sistemas de Business Intelligence . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2015 Orientador(es): Fabiana Mendes . Tags: Arquitetura de Software .
- Breno Cruz, Um mapeamento sistemático de métricas para metodologias ágeis Scrum, Kanban e XP . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2014 Orientador(es): Fabiana Mendes . Tags: Arquitetura de Software .
- Guilherme Fay Vergara,
Implantação de softwares como serviço em uma nuvem privada para a fábrica de software da FGA
. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2014
Orientador(es):
Sergio Freitas,
Edna Canedo
. Tags:
Arquitetura de Software
.O objetivo deste trabalho é trazer ao leitor primeiramente o estado da arte sobre computação em nuvem, posteriormente, uma breve indicação de ferramentas para computação em nuvem, passando por todos os níveis de arquitetura, e posteriormente a proposição de um modelo de implantação de computação em nuvem para a fábrica de software da faculdade do Gama e por último, a implantação de parte deste modelo. A implantação destes serviços é dentro de uma nuvem privada, alocada dentro dos servidores do CEBRASPE. Os principal serviços disponíveis são - O expresso que é um sistema que é mantido principalmente pelo SERPRO, e o Owncloud um software que implanta o compartilhamento de aquivos na nuvem. Estes serviços servem principalmente para aumentar a produtividade dos membros da fábrica, e aumentar a sua colaboratividade nos projetos desenvolvidos.
Projetos em andamento
Publicações e produções
Publicações (17)
- 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: Arquitetura de Software .
- Filipe Silva, Estado da prática da manutenção de software no contexto de startups de software em early stage . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2022 Orientador(es): Cristiane Ramos . Tags: Arquitetura de Software, Transformação Digital .
- Taylor Rodrigues Lopes,
Método de migração de sistemas monolíticos legados para a arquitetura de microsserviços
. Dissertação (Mestrado Profissional em Computação Aplicada) - UnB, 2021
Orientador(es):
André Lanna
. Tags:
Arquitetura de Software
.Atualmente, grande parte das organizações dependem de Sistemas de Informação (SI). Em geral, estes sistemas são construídos com base na “arquitetura monolítica”, tendo a execução centralizada em um único servidor. Ao longo dos anos, porém, as constantes mudanças para atender necessidades de negócio e o acúmulo da dívida técnica, têm tornado estes sistemas cada vez maiores e complexos, dificultando aspectos como manutenibilidade e escalabilidade. Essa difícil realidade vivida por muitas organizações motivou o presente trabalho a investigar uma nova tendência arquitetural denominada “microsserviços”. Popularizado por empresas como Netflix e Amazon, os microsserviços podem ser uma alternativa para a modernização de sistemas legados, propiciando mínimo downtime e impacto ao usuário final. Nessa nova arquitetura, o software é decomposto em pequenas partes que funcionam de modo independente e autônomo, trazendo algumas melhorias em termos de atributos de qualidade de software. Contudo, há também desafios e tradeoffs - adotar microsserviços tende a ser um processo difícil e não raramente malsucedido, sobretudo, em razão da carência de métodos para conduzir o processo de migração. Nesse sentido, fundamentado em estudos científicos, este trabalho apresenta um método de migração intitulado Microservice Full Cycle - MFC, inspirado no ciclo de vida de desenvolvimento de software e em estratégias DevOps. O objetivo é auxiliar sistemas de software legados a gradualmente evoluírem orientados por um conjunto de etapas e atividades comuns à arquitetura de microsserviços. A validação do método MFC é feita por meio de uma simulação em uma aplicação real, tendo evidenciado vantagens tais como códigos mais coesos e desacoplados, independência tecnológica, agilidade em build, teste e deploy (automação), escalabilidade sob alta demanda, maior interoperabilidade e integração, capacidades geodistribuídas, além de monitoramento e feedback em tempo real.
- 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: Arquitetura de Software .
- Felipe Evangelista dos Santos,
Implementação da integração do barramento de serviços da UnB com ferramentas de monitoramento
. Dissertação (Mestrado Profissional em Computação Aplicada) - UnB, 2020
Orientador(es):
Sergio Freitas
. Tags:
Arquitetura de Software
.A adoção de uma Arquitetura Orientada a Serviços (SOA) na implementação de serviços e microsserviços em aplicações de sistemas distribuídos facilita a utilização de padrões de desenvolvimento, a manutenção, a flexibilidade na criação de serviços e a interoperabilidade entre serviços e sistemas. O Centro de Informática (CPD) da Universidade de Brasília (UnB) engaja-se em diversos processos de automação de software, abrangendo desde a manutenção de sistemas existentes até o desenvolvimento e implantação de novas soluções tecnológicas. A monitorização contínua do desempenho de serviços, microsserviços e sistemas torna-se vital. Este estudo, de natureza exploratória, visa investigar soluções e ferramentas para a implementação e gestão de monitoramento de serviços e sistemas distribuídos na UnB, através de um mapeamento sistemático. A pesquisa fundamentou-se teoricamente para desenvolver um modelo que foi aplicado no módulo de monitoramento do barramento de serviços da UnB. Foram realizadas simulações com a solução desenvolvida, permitindo a análise da integração entre o barramento de serviços e a ferramenta de monitoramento proposta.
- Laércio Sousa Júnior, Determinando a taxa de autoria dentro de um projeto usando Git . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2020 Orientador(es): André Lanna . Tags: Arquitetura de Software, Transformação Digital .
- 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: Arquitetura de Software .
- James Taylor Faria Chaves,
Service-Oriented Architecture (SOA), Agile Development Methods and Quality Assurance (QA) - a case study
. Dissertação (Mestrado Profissional em Computação Aplicada) - UnB, 2019
Orientador(es):
Sergio Freitas
. Tags:
Arquitetura de Software
.Este trabalho introduz o framework NatVI, focando na integração entre Arquitetura Orientada a Serviços (SOA), Desenvolvimento Ágil e Garantia de Qualidade (QA). Desenvolvido a partir de uma revisão da literatura que identificou e avaliou os compromissos entre SOA e métodos ágeis, o NatVI visa oferecer uma solução abrangente para o ciclo de desenvolvimento de software, especialmente para aplicações baseadas em serviços. Inclui melhores práticas de SOA e princípios ágeis, enfatizando a importância da QA, essencial para projetos de software em ambientes de negócios dinâmicos. Um estudo de caso em uma unidade do governo federal brasileiro avaliou a aplicação do NatVI, observando melhorias na qualidade do software, compreensão dos métodos ágeis e satisfação do cliente com o processo de desenvolvimento. O estudo também destacou limitações, como o tamanho da equipe de TI e o número de clientes envolvidos, conduzindo a uma avaliação subjetiva através de entrevistas semiestruturadas. Os resultados preliminares sugerem que o NatVI tem potencial, mas destacam a necessidade de mais pesquisas, abrindo caminho para futuros estudos sobre tecnologias emergentes, como containers e DevOps.
- Luis Guimarães Jonathan Paiva, NotifiCar - aplicativo para monitoramento da situação dos automóveis de uma cidade . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2019 Orientador(es): André Lanna . Tags: Arquitetura de Software, Transformação Digital .
- 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: Gamificação, Arquitetura de Software .
- 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: Arquitetura de Software .
- 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: Arquitetura de Software, Trabalho em Equipe .
- 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: Arquitetura de Software .
- 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: Arquitetura de Software .
- Luciano Endo, Métricas de apoio a estimativa de esforço para o desenvolvimento de sistemas de Business Intelligence . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2015 Orientador(es): Fabiana Mendes . Tags: Arquitetura de Software .
- Breno Cruz, Um mapeamento sistemático de métricas para metodologias ágeis Scrum, Kanban e XP . Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2014 Orientador(es): Fabiana Mendes . Tags: Arquitetura de Software .
- Guilherme Fay Vergara,
Implantação de softwares como serviço em uma nuvem privada para a fábrica de software da FGA
. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) - UnB, 2014
Orientador(es):
Sergio Freitas,
Edna Canedo
. Tags:
Arquitetura de Software
.O objetivo deste trabalho é trazer ao leitor primeiramente o estado da arte sobre computação em nuvem, posteriormente, uma breve indicação de ferramentas para computação em nuvem, passando por todos os níveis de arquitetura, e posteriormente a proposição de um modelo de implantação de computação em nuvem para a fábrica de software da faculdade do Gama e por último, a implantação de parte deste modelo. A implantação destes serviços é dentro de uma nuvem privada, alocada dentro dos servidores do CEBRASPE. Os principal serviços disponíveis são - O expresso que é um sistema que é mantido principalmente pelo SERPRO, e o Owncloud um software que implanta o compartilhamento de aquivos na nuvem. Estes serviços servem principalmente para aumentar a produtividade dos membros da fábrica, e aumentar a sua colaboratividade nos projetos desenvolvidos.
Contato e colaboração
- E-mail para informações e contato com a equipe: andrelanna@unb.br.
Veja mais sobre
Arquitetura de Software