Show simple item record

dc.contributor.advisorCota, Erika Fernandespt_BR
dc.contributor.authorMoraes, Alex Pedrosopt_BR
dc.date.accessioned2018-11-23T02:44:21Zpt_BR
dc.date.issued2018pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/184951pt_BR
dc.description.abstractUma forma de reduzir os custos de manutenção de um sistema de software é a aplicação de técnicas de verificação e validação para garantir a sua qualidade. Dentre essas técnicas, testes unitários são especialmente recomendados devido a sua execução rápida. A aplicação de testes unitários exige que o sistema respeite alguns requisitos, em particular os de possuir baixo acoplamento e baixa complexidade ciclomática, para permitir que seus métodos sejam executados em isolamento durante o teste. O objetivo deste trabalho foi a aplicação da técnica de reengenharia em um sistema de software comercial com seis anos de mercado para adequá-lo a esses requisitos e permitir a adoção de testes unitários em seu processo de desenvolvimento. Foi realizada uma análise da comunicação interna da empresa, na qual foram detectados muitos defeitos no sistema encontrados por usuários, bem como atrasos na entrega de novas funcionalidades. Foi adotada a estratégia de reengenharia parcial para retrabalhar o módulo de emissão de notas fiscais do sistema, que consiste de um único método com mais de 400 linhas de código, uma complexidade ciclomática de 114 e 61 dependências, o que inviabiliza a adoção de testes unitários. Após a aplicação da técnica, o módulo de emissão de notas fiscais foi desmembrado em 33 métodos em 10 classes distintas, respeitando os princípios SOLID. Em média, o número de linhas de código desses novos métodos é de 5,03, com complexidade ciclomática 2,27 e 4,97 dependências por método. Com isso foi possível atingir 100% de cobertura sob o critério de cobertura de caminhos primos com apenas 68 casos de teste. Futuramente, é recomendado reavaliar o processo de desenvolvimento, coletando novamente dados sobre a incidência de defeitos e sobre a eficiência do processo de desenvolvimento para verificar o impacto da adoção dos testes unitários na produtividade da equipe.pt
dc.description.abstractA way to reduce maintenance costs in a software system is the application of verification and validation techniques to ensure its quality. Of all those techniques, unit testing is especially recommended because of its fast execution. The use of unit tests demands the system to respect some requirements, mainly to have low coupling and low cyclomatic complexity, allowing its methods to be executed in isolation during testing. The primary goal of this study was the application of the reengineering in a commercial software system that is in the market for six years to comply with those requirements and allow the use of unit tests in its development process. The internal communication of the company was analyzed, and many user-reported failures and new features shipment delays were detected. The reengineering strategy was used to rework one specific module of the system ("emissão de notas fiscais"), which is a single method with more than 400 lines of code, cyclomatic complexity of 114 and 61 dependencies. After the application of the technique, the module was separated in 33 methods in 10 different classes, respecting SOLID principles. The number of lines of code of these new methods was, on average, 5.03, with a cyclomatic complexity of 2.27 and 4.97 dependencies per method. Coverage of 100% was achieved under the prime paths criteria through only 68 test cases. In the future, it is recommended the re-evaluation of the development process and a new data collection about the incidence of failures and the efficiency of the development process to check the impact of the use of unit testing on the productivity of the team.en
dc.format.mimetypeapplication/pdfpt_BR
dc.language.isoporpt_BR
dc.rightsOpen Accessen
dc.subjectMicroeletrônicapt_BR
dc.subjectUnit testingen
dc.subjectReengineeringen
dc.subjectTestabilityen
dc.titleReengenharia de um sistema ERP visando sua testabilidadept_BR
dc.title.alternativeReengineering of an ERP system aiming for its testability en
dc.typeTrabalho de conclusão de graduaçãopt_BR
dc.identifier.nrb001077825pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2018pt_BR
dc.degree.graduationEngenharia de Computaçãopt_BR
dc.degree.levelgraduaçãopt_BR


Files in this item

Thumbnail
   

This item is licensed under a Creative Commons License

Show simple item record