Educational approach of refactoring in facilitating reverse engineering - Omar, Mazni; Syed Abdullah, Sharifah Lailee; Jusoff, Kamaruzaman; Yasin, Azman; Mohd, Haslina (Engg Journals Publications, 2010)
Refactoring improves software codes and design. This activity often neglected by software developers because they need time to decide tactically where and when to refactor codes. Although the concepts theoretically instilled in the developer's mind, this activity is not easy to apply and visualize. This situation became more problematic when deals with inexperienced developers. Therefore, there is a need to develop an educational approach to comprehend refactoring activity. This activity was applied through reverse engineering tasks. The software engineering (SE) teams were required to apply reverse engineering activity in order to check the consistency between codes and design. The teams were encouraged to apply Model-View-Controller (MVC) pattern architecture in order to facilitate the activities. Findings revealed that Extreme Programming (XP) teams managed to complete reverse engineering tasks earlier than Formal teams. This study found that the approach is important to increase understanding of refactoring activities in reverse engineering process. This approach will be furthered applied for others SE teams to gain more insight and perceptions towards improving SE course.