Buscas de Heurísticas para a Resolução de Problemas Arquiteturais em Projetos Arquiteturais Baseados em Busca
Keywords:
Projetos Arquiteturais, Busca de Heurísticas, Resolução de ProblemasAbstract
Um dos principais propósitos da engenharia de software é o de ditar ou mesmo aconselhar as melhores práticas à organizações e indivíduos envolvidos com o desenvolvimento de software [Sommerville 2010]. Por exemplo, a engenharia de software é responsável por recomendar as melhores práticas para organizar produtos de software, assim como as equipes que os criam e os mantêm atualizados. Sendo assim, um dos aspectos de suma importância no desenvolvimento de um sistema é a Arquitetura de Software. A arquitetura de software abrange um conjunto de decisões significativas sobre a organização de um sistema [Booch 2004]. Caso a arquitetura seja mal projetada, pode afetar futuras implementações ou mesmo manutenção do código fonte. Portanto, foram propostas diferentes plataformas e ferramentas, como a abordagem Model Driven Architecture (OMG 2018), a fim de auxiliar no desenvolvimento do projeto de arquitetura de software. Porém, essas abordagens não impedem que ocorram deslizes ou mesmo erros no projeto de arquitetura. Por esse motivo, Colanzi (2014) propôs uma abordagem, chamada MO4PLA, para a otimização multiobjetivo de projetos de arquitetura de software.
A abordagem MO4PLA gera inúmeros projetos de arquitetura de software a partir do uso de algoritmos genéticos. Entretanto, essa abordagem ainda não se mostrou capaz de identificar e remover problemas arquiteturais [Garcia et al. 2009] que afetam os projetos gerados. Os problemas arquiteturais são causados por decisões arquiteturais (podendo ou não ser intencionais) que afetam de forma negativa atributos de qualidade do sistema. Um exemplo de problema arquitetural é o chamado Fat Interface [Martin 2006], que ocorre quando uma interface do sistema está sobrecarregada com múltiplos serviços desconexos. Esse tipo de problema arquitetural afeta atributos de qualidade como manutenibilidade e extensibilidade. Por este motivo, este trabalho se foca em analisar arquiteturas de software projetadas a partir da abordagem MO4PLA, a fim de identificar os problemas arquiteturais gerados. Com base nessa análise, pretende-se propor heurísticas para a resolução de problemas arquiteturais recorrentes. Dessa forma, espera-se contribuir para a geração de projetos arquiteturais com maior qualidade.
Este trabalho é uma extensão de nosso trabalho anterior [Johansson e Oizumi 2016]. Neste trabalho, realizaremos a análise de 7 projetos arquiteturais de Linha de Produto de Software (LPS), sendo 4 da LPS para jogos Arcade Game Media [SEI 2018] e 3 da LPS Mobile Media [Oizumi et al. 2012], que é focada no gerenciamento de mídias em dispositivos móveis. Com essa nova análise, almeja-se não somente identificar novos tipos de problemas arquiteturais em projetos arquiteturais, mas também propor heurísticas para a identificação desses problemas em projetos arquiteturais otimizados pela abordagem MO4PLA.
References
Booch, Grady. et al. (2014) “Object-Oriented Analysis and Design with Applications”, 3. ed., Addison Wesley, Redwood City, CA, EUA.
Colanzi, Thelma Elita. (2014) “Uma abordagem de otimização multiobjetivo para projeto arquitetural de linha de produto de software”, http://dspace.c3sl.ufpr.br:8080/dspace/bitstream/handle/1884/36061/R%20-%20T%20-%20THELMA%20ELITA%20COLANZI.pdf?sequence=1, Março.
Sommerville, I. (2010) Software engineering. New York: Addison-Wesley.
Garcia, J., Popescu, D., Edwards, G., & Medvidovic, N. (2009). Identifying architectural bad smells. In Software Maintenance and Reengineering, 2009. CSMR'09. 13th European Conference on (pp. 255-258). IEEE.
Martin, R. C. (2006) Agile principles, patterns, and practices in C. Pearson Education.
Oizumi, Willian Nalepa, et al.(2012) “On the proactive design of product line architectures with aspects:an exploratory study”, In Computer Software and Applications Conference (COMPSAC), 2012 IEEE 36th Annual, p. 273-278.
SEI (2018) "The Arcade Game Maker Pedagogical Product Line", https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=485941, Julho.
Johansson, E. S.; Kamakawa, H. T.; Oliveira, F. W. C.; Flôr, D. E.; Zavan, A. R.; Oizumi, W. N. (2016) “Um Estudo Exploratório Sobre a Identificação de Problemas em Arquiteturas de Software”. I Congresso Internacional de Ciência, Tecnologia e Inovação da Unipar.
OMG (2018) “MDA® - THE ARCHITECTURE OF CHOICE FOR A CHANGING WORLD”, https://www.omg.org/mda/, Julho
Downloads
Published
Issue
Section
Categories
License
Copyright (c) 2018 Erik Seyti Johansson, Willian Nalepa Oizumi (Autor)

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Os autores mantêm os direitos autorais sobre os trabalhos publicados nesta revista, concedendo à SETIF o direito de primeira publicação. O conteúdo está licenciado sob uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional (CC BY-SA 4.0), que permite copiar, redistribuir, remixar, transformar e criar a partir do material para qualquer finalidade, inclusive comercial, desde que seja atribuída a autoria e feita referência à publicação original nesta revista.
Os autores concordam que qualquer reutilização de seu trabalho por terceiros deve incluir o nome dos autores, o título do artigo, o nome da revista, o DOI (quando disponível) e o link para a licença.
É permitido e incentivado que os autores disponibilizem a versão publicada do trabalho em repositórios institucionais, sites pessoais ou redes acadêmicas imediatamente após a publicação, com menção à publicação inicial nesta revista.