Aplicando reuso de software na construção de ferramentas de engenharia reversa
Resumo
Engenharia reversa é uma área de interesse emergente principalmente pelo volume de sistemas legados que precisam evoluir. Diz-se engenharia reversa, porque ao contrário da engenharia tradicional, partimos do produto para a sua definição. Portanto, antes de evoluir um determinado sistema de software, faz-se necessário reverte-lo à descrições mais abstratas para então modificá-lo. A engenharia reversa de sistemas representa um problema de grande complexidade computacional, no qual é constante a necessidade de interagir com humanos para complementar lacunas do conhecimento embutido em software legados. Por outro lado, é imprescindível o auxílio de ferramentas computacionais. Este trabalho propõe a aplicação do paradigma Draco na construção de ferramentas de engenharia reversa. A proposta foi parcialmente validada por um estudo de caso, no qual foram recuperadas informações a nível de desenho utilizando-se diferentes notações.
Referências
Bergmann, U, Prado, A. F., Leite, J.C.S.P., Desenvolvimento de Sistemas Orientados a Objetos Utilizando o Sistema Transformacional Draco-PUC, Em Anais do X Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, José Carlos Maldonado, ed., São Carlos, 1996, pp. 173-188.
C.O. Braga. Documentu Um sistema para a geração de documentação hipertextual para o desenvolvedor de software. Dissertação de Mestrado; Departamento de Informática; Puc-Rio; 1996
Campo, M.R., Price, R.T. Um Framework Reflexivo para Ferramentas de Visualização de Software, Em Anais do X Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, José Carlos Maldonado, ed., São Carlos, 1996, pp. 1583-172.
James H. Cross, T. Dean Hendrix. Using Generalized Markup and SGML for Reverse Engineering Graphical Representation os Software. Second Working Conference on Reverse Engineering, 1995.
D.R.Harris, A.S.Yeh, H.B.Reubenstein. Extracting Architectural Features from Source Code. Automated Software Engineering, 3(1/2), June 1996.
H.E. Edwards; M. Munro. RECAST - Reverse Engineering from COBOL to SSADM. Working Conference on Reverse Engineering; May 1993, Baltimore, Maryland
Peter Freeman. A Conceptual Analysis of the Draco Approach to Constructing Software Systems. IEEE Transactions on Software Enginnering, SE-13(7):830-844, July 1987.
F.G. Freitas. A Geração de Parsers da Máquina DRACO-PUC. Trabalho Final de Curso - Engenharia de Computação; Departamento de Informática; Puc-Rio; 1994
F.G.Freitas. VG Um visualizador gráfico genérico. Projeto Final de Programação; Departamento de Informática; Puc-Rio; 1996
F.G. Freitas. Aplicando técnicas de reuso de software na construção de ferramentas de engenharia reversa. Dissertação de Mestrado; Departamento de Informática; Puc-Rio; 1997
Stan Jarzabek, Tan Poh Keam. Design of a Generic Reverse Engineering Assistant Tool. Second Working Conference on Reverse Engineering, 1995.
Leite, C.S.P. Recovering business rules from structured analysis specifications, In Proceedings of the WCRE '95, IEEE Computer Society Press, Los Alamitos, CA, pp. 13-21
J.C.Leite. Working Results on Software Re-Engineering. Software Engineering Notes 21(2) March 1996.
Leite, C.S.P, Prado, A.F., Sant"Anna, M. Draco-PUC, Experiências e Resultados de Re-Engenharia de Software, Em Anais do VI Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, Daltro Nunes, ed. Gramado, 1992, pp. 115-128.
J.C.Leite, M.Sant'Anna, F.G.Freitas. Draco-PUC: a Technology Assembly for Domain Oriented Software Development. Third Intemational Conference on Software Reuse (Proceedings) 1994.
Leite, J.C.S.P., Sant'Anna, M., Freitas, F.G., O Uso do Paradigma Transformacional no Porte de Programas Cobol, Em Anais do IX Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, Jäelson Castro, ed, Recife 1995, pp. 397-414.
Paulo C. Masiero. Análise de Sistemas pelo Método de Jackson. ICMSC-USP, 1990
https//cuiunige.ch/-scg/FreeDB/PreeDB.6.html
James M. Neighbors, T. Biggerstaff, A. Perlis. Draco: A Method for Engineering Reusable Software Systems. Software Reusability, Addison-Wesley 1989.
James M. Neighbors. The Draco Approach to Constructing Software from Reusable Components. IEEE Transactions on Software Enginnering, SE-10(5):564-574, Sep. 1984.
Penteado, R.A.D., Germano, F.S.R., Masiero, P.C. Engenharia Reversa Orientada a Objetos do Ambiente StatSim, Em Anais do 1X Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, Jaelson Castro, ed,, Recife 1995, pp. 345-362.
António F. do Prado. Estratégia de Re-Engenharia de Software Orientada a Domínios. PhD thesis, Pontifícia Universidade Católica do Rio de Janeiro, 1992.
P.G.Selfridge, R.C.Walters, E.J.Chikofsky. Challenges to the Field of Reverse Engineering. Working Conference on Reverse Engineering, 1993.
James Rumbaugh, Michael Blaha, William Premerlani, Fredrick Eddy and William Lorensen. Object Oriented Modeling and Design. Prentice Hall ISBN 0-13-629841-9, 1991
Julian Smart. wxWindows User Manual. University of Edinburgh. Artificial Intelligence Applications. Institute. 80 South Bridge, Edinburgh. 1995
T.J. Biggerstaff, B.G.Mitbander, D.E. Webster. Program Understanding and the Concept Assignment Problem. Communications of The ACM, 37(5), May 1994.
Linda M. Wills, James H. Cross II. Recent Trends and Open Issues in Reverse Engineering. Automated Software Engineering, 3(1/2), June 1996.
http://www.ozemail.com.au/~adavison/wxweb.html
http://www.aiai.ed.ac.uk/~jacs/wxwin.html