Um Processo de Re-engenharia Econômico e Eficaz

  • Luiz Carlos Guedes PUC-Rio
  • Arndt von Staa PUC-Rio

Resumo


Neste artigo é proposto um processo de re-engenharia visando a re-estruturação de programas de modo a reduzir os custos de manutenção e, simultaneamente, aumentar a sua qualidade, em particular a confiabilidade, a manutenibilidade e a economicidade. O processo a ser descrito obtém, a partir do programa fonte original existente, um projeto modular estruturado, devidamente documentado e fácil de ser mantido. O processo é formado por diversas tarefas. Todas estas tarefas recebem apoio computacional. Em linhas gerais, o processo utiliza engenharia reversa baseada e analisadores sintáticos para tornar o programa disponível no repositório de uma ferramenta CASE. A seguir a ferramenta é utilizada para efetuar a re-engenharia. O processo pode ser adaptado a diversas linguagens de programação, através da definição da gramática destas linguagens.

Referências

Boehm, B.W.; Brown, J.R.; Lipow, M.; "Quantitative Evolution of Software Quality", Proceedings IEEE/ACM 2nd International Conference on Software Engineering.; Out 1976.

Boehm, B. W.; "Software Engineering"; IEEE Computer v. C-25(12); pp. 1226-1241; Dez 1976.

Byrne, E.J.; "Software Reverse Engineering: A Case Study"; in Software Practice and Experience 21(12); dezembro 1991; pags 1349-1364

Canfora, G., Cimitile, A., Carlini, U.; "A Logic-Based Approach to Reverse Engineering Tools Production"; in IEEE Transactions on Software Engineering 18(12); dezembro 1992; pags 1053-1064

De Balbine, G.; "Better Manpower Utilization Using Automatic Restructuring"; Proceedings AFIP 1975 National Computer Conference v. 44; Montvale, N.J. AFIPS Press, pp. 319-327.

Dijkstra, E.; "GOTO Statements Considered Harmful"; Communications of the ACM v. 11(3); Mar 1968.

Gilb, T. "Maintainability is More Than Strucutral Coding"; Computer Weekly Jun 1978.

Glass, R.L., Noiseaux, R.A.; Software Maintenance GuideBook; Prentice-Hall, Inc.; New Jersey, 1981.

Guedes, L.C.; O gerador de tabelas de análise sintática laR*S(1); Monografia, em preparação

Kozaczynski,W., Ning,J., Engberts, A.; "Program Concept Recognition and Transformation"; in IEEE Transactions on Software Engineering 18(12); dezembro 1992; pags 1065-1075

Lano, K., Haughton, H.; "Extracting Design and Functionality from Code"; in IEEE; 1992; pags 74-82

Leite, J.C.S.P., Franco, A.P.M.; "Re-Engenharia de Software, Um Estudo de Caso"; in Anais V Simpósio Brasileiro de Engenharia de Software, Ouro Preto, MG; 1991; pags 177-192

Leite, J.C.S.P., Prado, A.F., Sant'Anna, M.; "Draco-PUC, Experiências e Resultados de Re-Engenharia de Software"; in Anais VI Simpósio Brasileiro de Engenharia de Software; Gramado, RS; 1992; pags 115-128

Miller, J.C.; Improving Programming Technologies Retrofit; Relatório interno; Montgomery Wards Corporate Systems Division, 1976

Rangel, J.L.; Manual de operação do sistema de geração de analisadores sintáticos R*S simples; Monografias em Ciência da Computação; n. 7/88; PUC-RIO, Out 1988.

Santanu, P., Prakash, A.; "Source Code Retrieval Using Program Patterns"; Fifth International Workshop on Computer-Aided Software Engineering, Proceedings CASE-92; IEEE; 1992; pags 95-105

O Ambiente de Desenvolvimento TALISMAN: Manual do Usuário; Staa Informática; 1992.
Publicado
27/10/1993
GUEDES, Luiz Carlos; STAA, Arndt von. Um Processo de Re-engenharia Econômico e Eficaz. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 7. , 1993, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1993 . p. 77-91. DOI: https://doi.org/10.5753/sbes.1993.24397.