Ontology-based Analysis and Design of Educational Games for Software Refactoring

Thorsten Händler, Gustaf Neumann

Publication: Chapter in book/Conference proceedingChapter in edited volume

Abstract

Despite being regarded as necessary to ensure a system’s maintainability and extensibility, software refactoring is often neglected in practice due to difficulties and risks perceived by software developers. Still, refactoring received little attention by software engineering education and training so far. Educational games are a popular means for enhancing practical competences as well as increasing motivation of learners. For instructors, however, it is challenging to develop and apply games in order to address certain learning objectives, which is important to integrate the games into existing or planned training paths. In this article, we propose an ontology that aims to support the analysis and design of games for teaching and training software refactoring. In particular, we create a unifying domain ontology bridging core concepts from three related fields, i.e. game design (a), software refactoring (b), and competence management (c). The resulting ontology is represented as a UML class diagram that reflects concepts and concept relations important for educational refactoring games. We describe ontology-based design options and demonstrate the use of the ontology by analyzing existing games for software refactoring. In addition, we also present an exemplary process for developing novel games based on the ontology and illustrate its applicability by designing a non-digital card game.
Original languageEnglish
Title of host publicationComputer Supported Education, Revised Selected Papers of CSEDU 2019. Communications in Computer and Information Science (CCIS)
Editors Lane H.C., Zvacek S., Uhomoibhi J.
PublisherSpringer
Pages602 - 628
DOIs
Publication statusPublished - 2020

Austrian Classification of Fields of Science and Technology (ÖFOS)

  • 102022 Software development
  • 102
  • 102015 Information systems
  • 102013 Human-computer interaction
  • 502050 Business informatics

Cite this