CASE and reengineering: from archeology to software perestroika
Elliot J. Chikofsky · 2002
CASE (computer-aided software engineering), reverse engineering, and reengineering together form a coherent set of strategies for software organizations to get a handle on and reclaim their existing software assets. Each of the three supports and depends upon the others for long-term success. It is argued that they will be a permanent part of the process of evolutionary development. Even in future CASE systems with reliable automatic generation of executable code, the resulting system will be (perhaps automatically) reread by a reverse engineering process back into the CASE dictionary. This will allow the discovery of ramifications and side effects which are not foreseeable in the forward engineering process.>