Uma abordagem de reengenharia interativa orientada a características para sistemas embutidos legados
RAMOS, Marcelo Augusto. Uma abordagem de reengenharia interativa orientada a características para sistemas embutidos legados. 2007. 94 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2007.
Ramos, Marcelo Augusto
To reduce costs, to minimize risks, to anticipate deadlines and to optimize resources of new product designs it is recommended, whenever possible, to reuse artifacts of existing successful similar products. However, these artifacts must be of easy adaptation to meet the requirements of the new products with a few or no need of re-design or re-coding. This work describes a feature oriented iterative reengineering approach to concomitantly achieve both the revitalization of embedded legacy systems and the incremental creation of a core of reusable artifacts, to support the development of other similar systems, members of a product family. Such systems are generally small and pass through frequent maintenances to support the evolution of the hardware they integrate, accelerating the natural software degradation process. The accomplishment of a reengineering process can extend the life cycle of these systems, improving their structural properties for a better adaptation to changes. Agile principles and techniques are applied throughout the process, providing continuous interactions with the customer and deliveries of executable and tested partially modernized versions in short and frequent intervals, with documentation in appropriate level and prepared for future modifications. Software Product Line techniques are used for the domain modeling and for the design of generic software components. Its activities are accomplished without the need of code freezing or duplication and allow maintenances and interruptions at anytime, without prejudice of the enhancements already developed in all previously ended iterations. A case study is presented to exemplify the proposed approach in a real environment and to evaluate its results.