Summary: | Made available in DSpace on 2016-06-02T19:06:27Z (GMT). No. of bitstreams: 1
DissVCG.pdf: 5733126 bytes, checksum: 00fcba05784993efaa5ce4ab67bf05d8 (MD5)
Previous issue date: 2005-03-03 === Universidade Federal do Amazonas === 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. === A constante evolução tecnológica, com as mudanças nas plataformas de hardware e software, faz com que muitos sistemas, apesar de atenderem a seus requisitos e serem completamente estáveis, tornem-se obsoletos. A reengenharia de software, integrada com técnicas modernas de engenharia reversa e avante, pode ser a solução para reconstruir esses sistemas reutilizando os conhecimentos
embutidos no seu código e nas documentações disponíveis. Mesmo usando as técnicas atuais de reengenharia, alguns problemas em relação à legibilidade do código são encontrados
nos sistemas reconstruídos. Até mesmo os sistemas desenvolvidos recentemente, usando técnicas modernas de análise, projeto e implementação orientada a objetos e com a utilização de padrões de software, também padecem desses problemas. Assim, motivados pelas idéias de uma melhor solução para melhorar a legibilidade do código de sistemas já construídos, propõe-se investigar uma abordagem para reconstruir tais sistemas, obtendo seu projeto e código reestruturados de forma mais legível e organizado. A Abordagem combina técnicas de engenharia reversa, modelagem, transformação de software e Programação Orientada a Aspectos para reconstruir um sistema de software a partir do seu código legado e das suas informações disponíveis. O sistema reconstruído tem sua documentação e código reestruturados segundo a Orientação a Aspectos, facilitando, assim, a sua manutenção e evolução contínua, conforme as novas tecnologias de hardware e software. Os principais mecanismos para execução da abordagem são um Sistema Transformacional e uma ferramenta CASE, que automatizam grande parte das tarefas do engenheiro de software.
|