Reengenharia do software BacPP - Conci, Guilherme Ferrari (2023)
O BacPP é uma ferramenta de bioinformática criada para reconhecer e predizer se sequências de DNA são promotoras de acordo com um fator sigma (σ). Inicialmente desenvolvido como um script Python, o BacPP ganhou uma versão web desenvolvida em PHP para facilitar a utilização e acesso à ferramenta. Durante o desenvolvimento dessa versão web não foi utilizado nenhum padrão bem definido de engenharia e arquitetura de software, também ao longo da sua vida, o website passou por diversas alterações feitas sobre este código mal-estruturado. No estado atual, a dificuldade de implementar alguma alteração é sempre muito grande, impedindo a evolução do software. O presente trabalho analisa a aplicação de métodos de reengenharia de software no website do BacPP, com o objetivo de gerar um novo código-fonte, mais inteligível e que permita que futuras evoluções sejam possíveis. Como parte do processo de reengenharia, foram analisadas e detalhadas todas as funcionalidades da versão atual do BacPP, tais informações foram utilizadas para o desenvolvimento de uma nova versão do website, completamente reescrita utilizando a linguagem de programação Python em conjunto com o framework Django, seguindo a arquitetura Model-template-view (MTV). Também foram desenvolvidos testes automatizados para assegurar que futuras modificações não introduzam falhas ou comportamentos inesperados. [resumo fornecido pelo autor]