Reengenharia Orientada a Objetos de Código Legado Progress 4GL
Resumo
Este artigo apresenta uma estratégia para reconstrução de sistemas legados escritos na Progress 4GL. A estratégia tem 4 passos. No passo Organizar Sistema, organiza-se o código legado segundo os princípios da Orientação a Objetos. É um passo preparatório para facilitar a transformação de um código procedural para orientado a objetos. O código organizado permanece na mesma linguagem Progress 4GL. No passo Transformar Sistema, parte do código que está organizado segundo as idéias de classes, atributos e protótipos de métodos é transformado para a linguagem de modelagem UML. Para a linguagem Java são transformadas as partes do código organizado, correspondentes aos procedimentos, candidatos a métodos de uma classe. No passo seguinte, Reprojetar Sistema, usando uma ferramenta CASE, obtêm-se o projeto atual do sistema, modelado segundo os princípios da orientação a objetos. Ainda neste passo pode-se reespecificar o sistema gerando um novo projeto orientado a objetos atualizado. Finalmente, no passo Reimplementar Sistema, as especificações em UML, do sistema reprojetado, são também transformadas para Java e integradas com o código Java dos métodos, obtendo-se a implementação final do sistema.
Referências
BAXTER L, PIDGEON, C.W. Software Change Through Design Maintenance. International Conference on Software Maintenance — ICSM'97. In Proceedings. Bari, Italy. October 1st-3rd, 1997.
BOYLE, J. Abstract Programming and Program Transformation — An Approach to Reusing Programs, in Software Reusability. Vol.1, pp. 361-413. Ed Ted Biggerstaff. ACM Press, 1989.
CORDY, J., CARMICHAEL, L., The TXL Programming Language Syntax and Informal Semantics. Technical Report. Vol.7.Queen's University at Kingston - Canada. June, 1993. (or http://www.queis.queensu.ca/STLab/TXL)
FAQs - RescueWare. http://www.relativity.com/products/faqs/index.html
FUKUDA, A. P. Refinamento Automático de Sistemas Orientados a Objetos Distribuídos, Qualificação de Mestrado, UFSCar, 1999.
Jesus, E. S., Fukuda, A.P., Prado A.F. Reengenharia de Software para Plataformas Distribuídas Orientadas a Objetos, XIII Simpósio Brasileiro de Engenharia de Software, Outubro de 1999.
LEITE, J.C.S, PRADO, A.F. Desing Recovery - A Multi-Paradigm Approach. First International Workshop on Software Reusability. In proceedings, pp.161-169. Dourtmund, Germany. July, 1991.
LEITE, J.C.S., FREITAS, F.G., SANTANNA M. Draco-PUC Machine: A Technology Assembly for Domain Oriented Software Development 3rd International Conference of Software Reuse. IEEE Computer Society Press. In proceedings, pp. 94-100. Rio de Janeiro, 1994.
NEIGHBORS, J.M. The Draco approach to Constructing Software from Reusable Components. IEEE Transactions on Software Engineering. v.se-10, n.5, pp.564-574, September, 1984.
PENTEADO, RD. Um Método para Engenharia Reversa Orientada a Objetos. São Carlos, 1996. Tese de Doutorado. Universidade de São Paulo. 251p.
PRADO, A.F. Estratégia de Engenharia de Software Orientada a Domínios. Rio de Janeiro, 1992. Tese de Doutorado. Pontífica Universidade Católica. 333p.
PRADO, A.F., PENTEADO, R.A.D., ABRAHÃO, S.M., FUKUDA, A. P. Reengenharia de Programas Clipper para Java. XXIV Conferência Latino Americana de Informática - CLEI 98. Memorias, pg. 383-394. Quito-Equador. 19-23 de Outubro, 1998.
RATIONAL SOFTWARE CORPORATION, Rational Rose 98 Rose Extensibility User's Guide, 1998.
REASONING SYSTEMS INCORPORATED. Refine User's Guide, Reasoning Systems Incorporated. Palo Alto, 1992.
SANT'ANNA, M. Lavoisier: Uma Abordagem Prática do Paradigma Transformacional. Monografia de Graduação. Rio de Janeiro. PUC-Rio - Pontífica Universidade Católica do Rio de Janeiro. 1993. 100p.
FOWLER, M., SCOTT, K. UML Distilled - Applying the Standard Object Modeling Language. Addison-Wesley, 1997.
URL: http://www.rational.com/uml/references, 1998.
WILE D. POPART: Producer of Papers and Related Tools System Builders Manual. Technical Report. USC/Information Sciences Institute. November, 1993.