Anda di halaman 1dari 17

Contents

Introduction Objective Business Re-engineering process Software Re-engineering process model Re-engineering Approach
Big Bang Incremental Evolutionary

Risks Involved

Introduction
Re-engineering is the examination, analysis and alteration of an existing software system to reconstitute it in a new form, and the subsequent implementation of the new form

Re-engineering
Re-engineering encompasses a combination of other processes reverse engineering Re-documentation Re-structuring translation forward 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 restructured and re-documented

Software Re-engineering
Reorganising and modifying existing software systems to make them more maintainable. Objectives Preparation for functional enhancement Improve maintainability Migration Improve reliability

Software Re-engineering process model

Re-engineering Approach Big Bang Incremental Evolutionary

Big Bang Approach

Incremental Approach

Evolutionary Approach

Re-engineering Risks
Process Tool

Application

Risk Area

Technology

Personnel

Strategy

Re-engineering Risks
Technology risks
Recovered information is not useful or used Reverse engineering to representations that cannot be shared Reengineering technology inadequate to accomplish reengineering goals

Tool risks
Dependence on tools that do not perform as advertised Not using installed tools

Re-engineering Risks
Strategy risks
Premature commitment to a reengineering solution for an entire system Failure to have a long-term vision with interim goals Lack of global view: code, data, process reengineering No plan for using reengineering tools

Application risks
Reengineering with no local application experts available Existing business knowledge embedded in source code is lost Reengineered system does not perform adequately

Re-engineering Risks
Process risks
Extremely high manual reengineering costs Cost benefits not realized in required time frame Cannot economically justify the reengineering effort Reengineering effort drifts Lack of management commitment to ongoing reengineering solution

Personnel risks
Programmers inhibiting the start of reengineering Programmers performing less effectively to make an unpopular reengineering project look less effective

Conclusion
Software Re-engineering is reorganising and modifying existing software systems to make them more maintainable. Its purpose is to improve the current system. occurs at two different levels of abstraction Business level Software level Re-engineering approaches Big Bang Incremental Evolutionary

Anda mungkin juga menyukai