Campo Dublin Core | Valor | Língua |
dc.contributor.advisor | Serrano, Maurício | - |
dc.contributor.author | Nascimento, Mateus Gomes do | - |
dc.contributor.author | Saturnino, Vinícius de Sousa | - |
dc.identifier.citation | NASCIMENTO, Mateus Gomes do; SATURNINO, Vinícius de Sousa. Reengenharia do aplicativo Mia Ajuda: uma abordagem orientada a TDD e DDD. 2024. 99 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) — Universidade de Brasília, Brasília, 2024. | pt_BR |
dc.description | Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade UnB Gama, 2024. | pt_BR |
dc.description.abstract | A manutenção evolutiva de um software é um processo importante para mantê-lo alinhado às necessidades dos stakeholders, bem como às demandas do mercado. Este processo é um desafio complexo, principalmente, no contexto do desenvolvimento mobile. Isso ocorre devido à rápida e constante evolução do cenário, o que torna o processo altamente dinâmico. A escolha do design é de grande importância, bem como a correta escolha das técnicas de programação que serão utilizadas na implementação do software. Aplicações que demandam uma urgência no prazo de conclusão costumam priorizar a agilidade na implementação, muitas vezes ignorando as boas práticas de desenvolvimento definidas pela comunidade da Engenharia de Software. Nesse contexto, há margem para implantação de muitas melhorias nos produtos de software produzidos. Este trabalho teve como intuito a condução de um estudo exploratório, orientado a provas de conceito, promovendo a reengenharia de um aplicativo de software existente, e utilizando uma abordagem que combina Test Driven Development (TDD) e Domain-Driven Design (DDD). Para que seja possível a reengenharia do aplicativo, fez-se necessária a engenharia reversa do mesmo, procurando
compreender suas funcionalidades e particularidades qualitativas, uma vez que o aplicativo encontra-se em atendimento a um público alvo específico, apesar da inerente dificuldade em evoluí-lo. O presente trabalho aplicou uma abordagem orientada a testes, por meio do processo cíclico do TDD, visando corrigir possíveis problemas antes mesmo da nova implantação do aplicativo. Adicionalmente, usando design orientado a domínio, obteve-se maior valor semântico na nova proposta de desenvolvimento do aplicativo. Considerando
o domínio a razão do negócio existir, compreendendo ideias, conhecimentos e processos de negócio, centrar-se nele tende a permitir maior imersão dos envolvidos. Os resultados obtidos cumpriram com os objetivos traçados para este trabalho, validando a pertinência das técnicas utilizadas e verificando a testabilidade facilitada e adequada modelagem de domínio após a reengenharia do aplicativo móvel em estudo. | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.subject.keyword | Software - manutenção | pt_BR |
dc.subject.keyword | Engenharia reversa | pt_BR |
dc.subject.keyword | Aplicativos | pt_BR |
dc.title | Reengenharia do aplicativo Mia Ajuda : uma abordagem orientada a TDD e DDD | pt_BR |
dc.type | Trabalho de Conclusão de Curso - Graduação - Bacharelado | pt_BR |
dc.date.accessioned | 2024-10-10T21:09:38Z | - |
dc.date.available | 2024-10-10T21:09:38Z | - |
dc.date.submitted | 2024-07-10 | - |
dc.identifier.uri | https://bdm.unb.br/handle/10483/40141 | - |
dc.language.iso | Português | pt_BR |
dc.rights.license | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. | pt_BR |
dc.contributor.advisorco | Serrano, Milene | - |
dc.description.abstract1 | The evolutionary maintenance of software is a crucial process to keep it aligned with the stakeholders’ needs and market demands. This is particularly challenging in the context of mobile development due to the rapid and constant evolution of the scenario, making the process highly dynamic. The choice of design and the selection of programming techniques for software implementation are of great importance. Applications with tight
deadlines often prioritize agility in implementation, sometimes neglecting the good devel opment practices defined by the Software Engineering community. In this context, there is room for implementing many improvements in the produced softwares. This work aims to conduct an exploratory study, focused on proof of concepts, promoting the reengineering of an existing software application. It utilizes an approach that combines Test Driven Development (TDD) and Domain-Driven Design (DDD). Reengineering the application
requires reverse engineering to understand its functionalities and qualitative peculiarities. The application serves a specific target audience, and despite the inherent difficulty in evolving it, it is believed that this difficulty arises from the development being car ried out without adherence to Software Engineering best practices. This work applied a test-driven approach, using the TDD cycle process, to address potential issues before the
application’s new deployment. Additionally, using Domain-Driven Design, the software achieved greater semantic value in the new application development proposal. Focusing on the business domain, understanding ideas, knowledge, and business processes tends to allow greater immersion of those involved. Consequently, this may indicate greater co herence with the real needs of users and, therefore, greater success when the solution is made available for use. Such improvements are desired in the specific application under
consideration. The results obtained met the objectives set for this work, validating the relevance of the techniques used and verifying the facilitated testability and adequate domain modeling after the reengineering of the mobile application under study. | pt_BR |
Aparece na Coleção: | Engenharia de Software
|