Ensino prático de manutenção de software: uma experiência com a dinâmica cliente-empresa
Resumo
A manutenção de software é uma parte significativa do processo de desenvolvimento, sendo essencial para garantir o funcionamento adequado do software. Portanto, é necessário adotar métodos de ensino práticos e flexíveis para Engenharia de Software, a fim de ensinar os futuros profissionais a implementar manutenções de código com qualidade. Este artigo aborda um relato de experiência sobre uma abordagem prática de ensino para manutenção de software por meio da dinâmica cliente-empresa, visando compreender a relevância dessa abordagem para o aprendizado dos discentes. A amostra contou com 37 alunos da Universidade Federal do Maranhão, do curso de Engenharia da Computação, resultando em aumento significativo no engajamento em sala de aula. O conhecimento foi transmitido de forma mais profunda à medida que os alunos se organizaram em grupos e interagiram com as diferentes experiências de seus colegas. Além disso, os discentes relataram desenvolvimento em habilidades como comunicação e organização de código, além do aumento de seu conhecimento e experiência sobre métodos de manutenção de software, ferramentas como GitHub e bancos de dados relacionais.
Referências
BARCELLOS, M. et al. Using extension projects to improve software engineering education and software quality: The experience of the “ricardo de almeida falbo” software engineering practices laboratory. In: Anais do XXIII Simpósio Brasileiro de Qualidade de Software. Porto Alegre, RS, Brasil: SBC, 2024. p. 552–562. ISSN 0000-0000. Disponível em: [link].
BEZERRA, C. et al. Contributing to open-source projects in refactoring code smells: A practical experience in teaching software maintenance. In: Anais do XXXVIII Simpósio Brasileiro de Engenharia de Software. Porto Alegre, RS, Brasil: SBC, 2024. p. 399–409. ISSN 2833-0633. Disponível em: [link].
CAVALCANTE, V. et al. Contributions of an extension course focused on good software engineering practices for students and it professionals. In: Anais do XXII Simpósio Brasileiro de Qualidade de Software. Porto Alegre, RS, Brasil: SBC, 2023. p. 301–310. ISSN 0000-0000. Disponível em: [link].
GALLAGHER, K.; FIORAVANTI, M.; KOZAITIS, S. Teaching software maintenance. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). [S.l.: s.n.], 2019. p. 353–362.
LEVIN, S.; YEHUDAI, A. Towards Software Analytics: Modeling Maintenance Activities. 2019. Disponível em: [link].
LIENTZ, B. P.; SWANSON, E. B. Software maintenance management. [S.l.]: Addison-Wesley Longman Publishing Co., Inc., 1980.
LIMA, I.; RABELO, J. A utilização da gamificação como ferramenta motivadora no ensino de manutenção de software. In: Anais do XI Workshop de Visualização, Evolução e Manutenção de Software. Porto Alegre, RS, Brasil: SBC, 2023. p. 11–15. ISSN 0000-0000. Disponível em: [link].
MAGALHãES, N. et al. Suporte às atividades de manutenção de software em bases de dados abertas e distribuídas. In: Anais do XXI Simpósio em Sistemas Computacionais de Alto Desempenho. Porto Alegre, RS, Brasil: SBC, 2020. p. 227–238. ISSN 0000-0000. Disponível em: [link].
MENS, T.; TOURWÉ, T. A survey of software refactoring. IEEE Transactions on software engineering, IEEE, v. 30, n. 2, p. 126–139, 2004.
NASCIMENTO, J. et al. Do code smell ao código limpo: Uma experiência prática no ensino de refatoração para manutenção de software. In: Anais do XXXIII Workshop sobre Educação em Computação. Porto Alegre, RS, Brasil: SBC, 2025. p. 701–711. ISSN 2595-6175. Disponível em: [link].
OPDYKE, W. F. Refactoring object-oriented frameworks. [S.l.]: University of Illinois at Urbana-Champaign, 1992.
OTEMAIER, K. et al. Immersive role-playing: An experience report on a promising approach to learning requirements elicitation. In: Anais do XXIII Simpósio Brasileiro de Qualidade de Software. Porto Alegre, RS, Brasil: SBC, 2024. p. 586–595. ISSN 0000-0000. Disponível em: [link].
PRESSMAN, R.; MAXIM, B. Engenharia De Software: UMA ABORDAGEM PROFISSIONAL. MCGRAW HILL - ARTMED, 2016. ISBN 9788580555332. Disponível em: [link].
SINGH, R. International standard iso/iec 12207 software life cycle processes. Software Process Improvement and Practice, Citeseer, v. 2, n. 1, p. 35–50, 1996.
SNEED, H. M.; BROSSLER, P. Critical success factors in software maintenance: a case study. In: IEEE. International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings. [S.l.], 2003. p. 190–198.
SOMMERVILLE, I. Software Engineering. 10th. ed. [S.l.]: Pearson, 2015. ISBN 0133943038.
