PHOENIX: uma abordagem para reengenharia de software orientada a aspectos - Garcia, Vinícius Cardoso (2005)
The continuous technological evolution makes many systems become obsolete due to changes in hardware and software platforms, although the fact that they attend their requirements and that they are stable. Software reengineering, integrated with modern techniques of reverse and forward engineering, can be the solution to reconstruct these systems reusing the knowledge embedded in the code and the available documentation. Even when current reengineering techniques are used, some problems regarding the legibility of the code are found in the reconstructed systems. Recently developed systems making use of modern techniques for object oriented analysis, design and implementation using software patterns also have these problems. Thus, motivated by the ideas of a better solution to improve systems codes legibility that have already been built, we intend to investigate an approach to rebuild such systems, obtaining their project and code restructured in a more readable and organized way. The approach combines reverse engineering techniques, component-based modeling, software transformation, and Aspect-Oriented Programming to reconstruct software systems from legacy code and available documentation. The code and the documentation of the reconstructed system are structured according to Aspect-Orientation, which facilitates its maintenance and continuous evolution and complies with new hardware and software technologies. The main mechanisms for the execution of the approach are a Transformational System and a CASE tool, which automates most of the software engineer tasks.