Reengineering process applied to serious games: The T-TEA console case study
Resumo
Introduction: The T-TEA console is an interactive floor interface designed for exergames targeting children with Autism Spectrum Disorder (ASD). Initially developed in an academic context, the project prioritized functionality over software engineering practices, resulting in a procedural and hard-to-maintain codebase. Objective: This study analyzes the impact of a reengineering process on the T-TEA software, focusing on the transition to Object-Oriented (OO) programming, adoption of the MVC architecture, and use of design patterns to improve quality and maintainability. Methodology: The process included code analysis using Pylint and SonarQube to measure metrics such as Pylint score, Cyclomatic Complexity, and Technical Debt, followed by refactoring, migration to an OO paradigm, implementation of the MVC architecture, and the addition of new features. Results: Code reengineering significantly reduced Technical Debt (from 1,738 to 37 minutes) and Cyclomatic Complexity per file (from 42 to 13), while Pylint scores improved by up to 318%, demonstrating enhanced maintainability and software quality. The results prove that performing software reengineering can have significant impact on code metrics.
Palavras-chave:
Game Development, Refactoring, Serious Games, Software Engineering, Software Quality
Referências
American Psychiatric Association (2013). Diagnostic and Statistical Manual of Mental Disorders. American Psychiatric Publishing, Arlington, VA, 5th edition.
Arvanitou, E., Nikolaidis, N., Ampatzoglou, A., and Chatzigeorgiou, A. (2022). Practitioners’ perspective on practices for preventing technical debt accumulation in scientific software development. In Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE, pages 282–291. INSTICC, SciTePress.
Avgeriou, P., Kruchten, P., Ozkaya, I., and Seaman, C. (2016). Managing Technical Debt in Software Engineering (Dagstuhl Seminar 16162). Dagstuhl Reports, 6(4):110–138.
Avgeriou, P. C., Taibi, D., Ampatzoglou, A., Arcelli Fontana, F., Besker, T., Chatzigeorgiou, A., Lenarduzzi, V., Martini, A., Moschou, A., Pigazzini, I., Saarimaki, N., Sas, D. D., de Toledo, S. S., and Tsintzira, A. A. (2021). An overview and comparison of technical debt measurement tools. IEEE Software, 38(3):61–71.
Borowa, K., Zalewski, A., and Saczko, A. (2021). Living with technical debt—a perspective from the video game industry. IEEE Software, 38(6):65–70.
Chavan, S. B. and Mondal, S. (2024). Do large language models recognize python identifier swaps in their generated code? In Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering, FSE 2024, page 663–664, New York, NY, USA. Association for Computing Machinery.
Clements, P. and Shaw, M. (2009). "The Golden Age of Software Architecture" Revisited. IEEE Software, 26(4):70–72.
Conradt, J., Eckert, T., Caserman, P., Schaub, M., Bruder, R., and Göbel, S. (2021). Towards a quality label for educational games and serious games. In European Conference on Games Based Learning, pages 151–159, Reading, UK. Academic Conferences International Limited, Academic Conferences International Limited.
Dasgupta, S. and Hooshangi, S. (2017). Code quality: Examining the efficacy of automated tools. In Proceedings of the 23rd Americas Conference on Information Systems (AMCIS), pages 2422–2426, Boston, MA, USA. Association for Information Systems (AIS).
Gall, H. and Klosch, R. (1995). Finding objects in procedural programs: an alternative approach. In Proceedings of 2nd Working Conference on Reverse Engineering, pages 208–216.
Hassan, H. B., Sarhan, Q. I., and Beszédes, Á. (2024). Evaluating python static code analysis tools using fair principles. IEEE Access, 12:173647–173659.
Jacobson, I. and Lindström, F. (1991). Reengineering of old systems to an object-oriented architecture. In Conference Proceedings on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA ’91, page 340–350, New York, NY, USA. Association for Computing Machinery.
Kleinwaks, H., Batchelor, A., and Bradley, T. H. (2023). Technical debt in systems engineering—a systematic literature review. Systems Engineering, 26(5):675–687.
Lenarduzzi, V., Saarimäki, N., and Taibi, D. (2020). Some sonarqube issues have a significant but small effect on faults and changes. a large-scale empirical study. Journal of Systems and Software, 170:110750.
Liu, S.-S. and Wilde, N. (1990). Identifying objects in a conventional procedural language: an example of data design recovery. In Proceedings. Conference on Software Maintenance 1990, pages 266–271.
McCabe, T. (1976). A complexity measure. IEEE Transactions on Software Engineering, SE-2(4):308–320.
Miranda, J. M., Browne, R. A. V., da Silva, W. Q. A., Dos Santos, J. P. R., Campbell, C. S. G., and Ramos, I. A. (2025). Effects of a session of exergames and traditional games on inhibitory control in children with autism spectrum disorder: Randomized controlled crossover trial. JMIR Serious Games, 13(1):e65562.
Penteado, R., Masiero, P., Do Prado, A., and Braga, R. (1998). Reengineering of legacy systems based on transformation using the object oriented paradigm. In Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261), pages 144–153.
Pereira, G. B., Trindade, A. B., Dickel, M. R. B., and Hounsell, M. d. S. (2023). Jogo sério para estímulo sensorial de crianças com transtorno do espectro autista. In Simpósio Brasileiro de Informática na Educação (SBIE), pages 572–583, Porto Alegre, RS, Brazil. SBC, Sociedade Brasileira de Computação.
Runeson, P. and Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empirical Softw. Engg., 14(2):131–164.
Sianturi, R. A., Jawak, P. K. I., and Pangibulan, W. H. (2024). Reengineering of markopi mobile application. In 2024 International Conference on Information Technology Systems and Innovation (ICITSI), pages 426–432.
Singh, J., Dhindsa, K. S., and Singh, J. (2021). Software quality improvement and validation using reengineering. Journal of Engineering Research, 9(4, Part A):59–73.
Sommerville, I. (2011). Software Engineering. International Computer Science Series. Pearson, 9th edition.
SonarSource SA (2026). Sonarqube. Available at: [link]. Accessed: April 23, 2026.
Syromiatnikov, A. and Weyns, D. (2014). A journey through the land of model-view-design patterns. In 2014 IEEE/IFIP Conference on Software Architecture, pages 21–30.
Trindade, A. B., Pereira, G. B., and Hounsell, M. d. S. (2022a). Chão interativo e jogos sérios ativos para autistas: A plataforma t-tea e o jogo repetea. In Simpósio Brasileiro de Jogos e Entretenimento Digital (SBGames), pages 512–521, Porto Alegre, RS, Brasil. SBC, Sociedade Brasileira de Computação.
Trindade, A. B., Pereira, G. B., and Hounsell, M. d. S. (2022b). Requisitos para jogos sérios ativos em chão interativo para o público autista. In Simpósio Brasileiro de Jogos e Entretenimento Digital (SBGames), pages 542–551, Porto Alegre, RS, Brasil. SBC, Sociedade Brasileira de Computação.
TTEA (2025). Jogo 3: Vestea. Available at: [link]. Accessed: April 23, 2026.
van Rossum, G. and Warsaw, B. (2010). Style Guide for Python, pages 283–297. Apress, Berkeley, CA.
Watson, A. H., McCabe, T. J., and Wallace, D. R. (1996). Structured testing: A testing methodology using the cyclomatic complexity metric. NIST Special Publication, 500:235.
Yu, P., Wu, Y., Peng, J., Zhang, J., and Xie, P. (2023). Towards understanding fixes of sonarqube static analysis violations: A large-scale empirical study. In 2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pages 569–580.
Yu, S. and Zhou, S. (2010). A survey on metric of software complexity. In 2010 2nd IEEE International Conference on Information Management and Engineering, pages 352–356.
Zhang, C. and Budgen, D. (2012). What do we know about the effectiveness of software design patterns? IEEE Trans. Softw. Eng., 38(5):1213–1231.
Arvanitou, E., Nikolaidis, N., Ampatzoglou, A., and Chatzigeorgiou, A. (2022). Practitioners’ perspective on practices for preventing technical debt accumulation in scientific software development. In Proceedings of the 17th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE, pages 282–291. INSTICC, SciTePress.
Avgeriou, P., Kruchten, P., Ozkaya, I., and Seaman, C. (2016). Managing Technical Debt in Software Engineering (Dagstuhl Seminar 16162). Dagstuhl Reports, 6(4):110–138.
Avgeriou, P. C., Taibi, D., Ampatzoglou, A., Arcelli Fontana, F., Besker, T., Chatzigeorgiou, A., Lenarduzzi, V., Martini, A., Moschou, A., Pigazzini, I., Saarimaki, N., Sas, D. D., de Toledo, S. S., and Tsintzira, A. A. (2021). An overview and comparison of technical debt measurement tools. IEEE Software, 38(3):61–71.
Borowa, K., Zalewski, A., and Saczko, A. (2021). Living with technical debt—a perspective from the video game industry. IEEE Software, 38(6):65–70.
Chavan, S. B. and Mondal, S. (2024). Do large language models recognize python identifier swaps in their generated code? In Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering, FSE 2024, page 663–664, New York, NY, USA. Association for Computing Machinery.
Clements, P. and Shaw, M. (2009). "The Golden Age of Software Architecture" Revisited. IEEE Software, 26(4):70–72.
Conradt, J., Eckert, T., Caserman, P., Schaub, M., Bruder, R., and Göbel, S. (2021). Towards a quality label for educational games and serious games. In European Conference on Games Based Learning, pages 151–159, Reading, UK. Academic Conferences International Limited, Academic Conferences International Limited.
Dasgupta, S. and Hooshangi, S. (2017). Code quality: Examining the efficacy of automated tools. In Proceedings of the 23rd Americas Conference on Information Systems (AMCIS), pages 2422–2426, Boston, MA, USA. Association for Information Systems (AIS).
Gall, H. and Klosch, R. (1995). Finding objects in procedural programs: an alternative approach. In Proceedings of 2nd Working Conference on Reverse Engineering, pages 208–216.
Hassan, H. B., Sarhan, Q. I., and Beszédes, Á. (2024). Evaluating python static code analysis tools using fair principles. IEEE Access, 12:173647–173659.
Jacobson, I. and Lindström, F. (1991). Reengineering of old systems to an object-oriented architecture. In Conference Proceedings on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA ’91, page 340–350, New York, NY, USA. Association for Computing Machinery.
Kleinwaks, H., Batchelor, A., and Bradley, T. H. (2023). Technical debt in systems engineering—a systematic literature review. Systems Engineering, 26(5):675–687.
Lenarduzzi, V., Saarimäki, N., and Taibi, D. (2020). Some sonarqube issues have a significant but small effect on faults and changes. a large-scale empirical study. Journal of Systems and Software, 170:110750.
Liu, S.-S. and Wilde, N. (1990). Identifying objects in a conventional procedural language: an example of data design recovery. In Proceedings. Conference on Software Maintenance 1990, pages 266–271.
McCabe, T. (1976). A complexity measure. IEEE Transactions on Software Engineering, SE-2(4):308–320.
Miranda, J. M., Browne, R. A. V., da Silva, W. Q. A., Dos Santos, J. P. R., Campbell, C. S. G., and Ramos, I. A. (2025). Effects of a session of exergames and traditional games on inhibitory control in children with autism spectrum disorder: Randomized controlled crossover trial. JMIR Serious Games, 13(1):e65562.
Penteado, R., Masiero, P., Do Prado, A., and Braga, R. (1998). Reengineering of legacy systems based on transformation using the object oriented paradigm. In Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261), pages 144–153.
Pereira, G. B., Trindade, A. B., Dickel, M. R. B., and Hounsell, M. d. S. (2023). Jogo sério para estímulo sensorial de crianças com transtorno do espectro autista. In Simpósio Brasileiro de Informática na Educação (SBIE), pages 572–583, Porto Alegre, RS, Brazil. SBC, Sociedade Brasileira de Computação.
Runeson, P. and Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empirical Softw. Engg., 14(2):131–164.
Sianturi, R. A., Jawak, P. K. I., and Pangibulan, W. H. (2024). Reengineering of markopi mobile application. In 2024 International Conference on Information Technology Systems and Innovation (ICITSI), pages 426–432.
Singh, J., Dhindsa, K. S., and Singh, J. (2021). Software quality improvement and validation using reengineering. Journal of Engineering Research, 9(4, Part A):59–73.
Sommerville, I. (2011). Software Engineering. International Computer Science Series. Pearson, 9th edition.
SonarSource SA (2026). Sonarqube. Available at: [link]. Accessed: April 23, 2026.
Syromiatnikov, A. and Weyns, D. (2014). A journey through the land of model-view-design patterns. In 2014 IEEE/IFIP Conference on Software Architecture, pages 21–30.
Trindade, A. B., Pereira, G. B., and Hounsell, M. d. S. (2022a). Chão interativo e jogos sérios ativos para autistas: A plataforma t-tea e o jogo repetea. In Simpósio Brasileiro de Jogos e Entretenimento Digital (SBGames), pages 512–521, Porto Alegre, RS, Brasil. SBC, Sociedade Brasileira de Computação.
Trindade, A. B., Pereira, G. B., and Hounsell, M. d. S. (2022b). Requisitos para jogos sérios ativos em chão interativo para o público autista. In Simpósio Brasileiro de Jogos e Entretenimento Digital (SBGames), pages 542–551, Porto Alegre, RS, Brasil. SBC, Sociedade Brasileira de Computação.
TTEA (2025). Jogo 3: Vestea. Available at: [link]. Accessed: April 23, 2026.
van Rossum, G. and Warsaw, B. (2010). Style Guide for Python, pages 283–297. Apress, Berkeley, CA.
Watson, A. H., McCabe, T. J., and Wallace, D. R. (1996). Structured testing: A testing methodology using the cyclomatic complexity metric. NIST Special Publication, 500:235.
Yu, P., Wu, Y., Peng, J., Zhang, J., and Xie, P. (2023). Towards understanding fixes of sonarqube static analysis violations: A large-scale empirical study. In 2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pages 569–580.
Yu, S. and Zhou, S. (2010). A survey on metric of software complexity. In 2010 2nd IEEE International Conference on Information Management and Engineering, pages 352–356.
Zhang, C. and Budgen, D. (2012). What do we know about the effectiveness of software design patterns? IEEE Trans. Softw. Eng., 38(5):1213–1231.
Publicado
29/09/2026
Como Citar
MELO, Alexandre Altair de; BET, Luis Eduardo; TRINDADE, André Bonetto; HOUNSELL, Marcelo da Silva.
Reengineering process applied to serious games: The T-TEA console case study. In: SIMPÓSIO BRASILEIRO DE JOGOS E ENTRETENIMENTO DIGITAL (SBGAMES), 25. , 2026, Goiânia/GO.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2026
.
p. 894-906.
DOI: https://doi.org/10.5753/sbgames.2026.25867.
