Reorganising and modifying existing software systems to make them more maintainable
Objectives
To explain why software re-engineering is a cost-effective option for system evolution
To describe the activities involved in the software re-engineering process
To distinguish between software and data re-engineering and to explain the problems of data re-engineering
System re-engineering
Re-structuring or re-writing part or all of a legacy system without changing its functionality
Applicable where some but not all sub-systems of a larger system require frequent maintenance
Re-engineering involves adding effort to make them easier to maintain. The system may be re-structured and re-documented
Re-engineering advantages:
Reduced Risk
There is a high risk in new software development. There may be development problems, staffing problems and specification problems.
Reduced cost
The cost of re-engineering is often significantly less than the costs of developing new software
Business process re-engineering:




