Abstract
Software design issues can severely impede software development and maintenance. Thus, it is
important for the success of software projects that developers are aware of bad smells in code
artifacts and improve their skills to reduce these issues via refactoring. However, software refactoring
is a complex activity and involves multiple tasks and aspects. Therefore, imparting competences
for identifying bad smells and refactoring code efficiently is challenging for software engineering
education and training. The approaches proposed for teaching software refactoring in recent years
mostly concentrate on small and artificial tasks and fall short in terms of higher level competences,
such as analysis and evaluation. In this paper, we investigate the possibilities and challenges of
designing serious games for software refactoring on real-world code artifacts. In particular, we propose
a game design, where students can compete either against a predefined benchmark (technical debt) or
against each other. In addition, we describe a lightweight architecture as the technical foundation for
the game design that integrates pre-existing analysis tools such as test frameworks and software-quality
analyzers. Finally, we provide an exemplary game scenario to illustrate the application of serious
games in a learning setting.
important for the success of software projects that developers are aware of bad smells in code
artifacts and improve their skills to reduce these issues via refactoring. However, software refactoring
is a complex activity and involves multiple tasks and aspects. Therefore, imparting competences
for identifying bad smells and refactoring code efficiently is challenging for software engineering
education and training. The approaches proposed for teaching software refactoring in recent years
mostly concentrate on small and artificial tasks and fall short in terms of higher level competences,
such as analysis and evaluation. In this paper, we investigate the possibilities and challenges of
designing serious games for software refactoring on real-world code artifacts. In particular, we propose
a game design, where students can compete either against a predefined benchmark (technical debt) or
against each other. In addition, we describe a lightweight architecture as the technical foundation for
the game design that integrates pre-existing analysis tools such as test frameworks and software-quality
analyzers. Finally, we provide an exemplary game scenario to illustrate the application of serious
games in a learning setting.
Originalsprache | Englisch |
---|---|
Titel des Sammelwerks | Software Engineering and Software Management 2019, Fachtagung des GI-Fachbereichs Softwaretechnik, SE 2019 |
Herausgeber*innen | LNI |
Erscheinungsort | Stuttgart |
Verlag | Springer |
Seiten | 181 - 182 |
DOIs | |
Publikationsstatus | Veröffentlicht - 2019 |
Österreichische Systematik der Wissenschaftszweige (ÖFOS)
- 102022 Softwareentwicklung
- 102
- 102015 Informationssysteme
- 502050 Wirtschaftsinformatik