Chapter 30 - Reengineering


This chapter defines reengineering as the process of legacy software products. The new software products often have increased functionality, better performance, greater reliability, and are easier to maintain than their predecessors. Business process reengineering (BPR) defines business goals, evaluates existing business processes, and creates revised business processes that better meet current goals. Software reengineering involves inventory analysis, document restructuring, reverse engineering, program and data restructuring, and forward engineering. Many reengineering work products are the same as those generated for any software engineering process (analysis models, design models, test procedures). The final product for any reengineering process is a reengineered business process and/or the reengineered software to support it. The same SQA practices are applied to software reengineering as to they would to any other software development process. Testing is used to uncover errors in content, functionality, and interoperability.


Business Process Reengineering Principles


Business Process Reengineering Model


Software Reengineering Process Model


Reverse Engineering Concepts


Reverse Engineering Activities


Restructuring Benefits


Types of Restructuring


Forward Engineering


Economics of Reengineering