Description:
The complexity and the big size of current software systems are challenges to be faced in software development. In the last few years, these challenges have increased the effort required to develop such large software systems. As a result, students must be able to develop these systems using approaches that reduce their development costs. Two of these approaches are Software Architectures and the Aspect-Oriented Software Development. However, in order to acquire skills in these approaches, students must put them into practice in realistic software projects. For this reason, we propose a reverse engineering method to learn these approaches by using open-source projects.