Ch4 Reengineering
Ch4 Reengineering
A Practitioner’s Approach
Chapter 4
Reengineering
Purpose in Reengineering:
Purpose in Reengineering:
Example: Turning a high-level design (like a UML class diagram) into actual source
code
Output A brand-new software system. An improved or restructured version of the existing system.
Typically lower cost than building a new system; lower risk if done
Risk and Cost Often higher risk and cost due to development from scratch.
well.
Time Requirement Generally longer since it involves full-cycle development. Often shorter, depending on the extent of reengineering required.
Rethink:
• Re-thinking a system means manipulating the concepts embodied in an existing
system to create a system that operates in a different problem domain.
• It involves changing the conceptual characteristics of the system, and it can lead
to the system being changed in a fundamental way.
• Moving from the development of an ordinary cellular phone to the development
of smartphone system is an example of Re-think.