Software Reengineering


Published on

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software Reengineering

  1. 1. Software Re-Engineering<br />By Abdul Wahid<br />
  2. 2. <ul><li>Introduction
  3. 3. Objective
  4. 4. Business Re-engineering process
  5. 5. Software Re-engineering process model
  6. 6. Re-engineering Approach
  7. 7. Big Bang
  8. 8. Incremental
  9. 9. Evolutionary
  10. 10. Risks Involved
  11. 11. Summary</li></ul>Contents<br />
  12. 12. 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<br />Introduction<br />
  13. 13. Re-engineering encompasses a combination of other processes<br />reverse engineering<br />Re-documentation <br />Re-structuring <br />translation<br />forward engineering<br />Re-engineering <br />
  14. 14. Re-structuring or re-writing part or all of a legacy system without changing its functionality<br />Applicable where some but not all sub-systems of a larger system require frequent maintenance<br />Re-engineering involves adding effort to make them easier to maintain. The system may be re-structured and re-documented<br />System Re-engineering<br />
  15. 15. Reorganising and modifying existing software systems to make them more maintainable<br />Software Re-engineering<br />
  16. 16. Preparation for functional enhancement<br />Improve maintainability<br />Migration<br />Improve reliability<br />Objectives<br />
  17. 17.
  18. 18. Copyright pressman<br />
  19. 19. Software Re-engineering process model<br />Copyright pressman<br />
  20. 20. Big Bang<br />Incremental<br />Evolutionary<br />Re-engineering Approach<br />
  21. 21. Big Bang Approach <br />
  22. 22. Incremental Approach<br />
  23. 23. Evolutionary Approach<br />
  24. 24. Re-engineering Risks<br />Tool<br />Process<br />Risk Area<br />Application<br />Technology<br />Strategy<br />Personnel<br />
  25. 25. Technology risks<br />Recovered information is not useful or used<br />Reverse engineering to representations that cannot be shared<br />Reengineering technology inadequate to accomplish reengineering goals<br />Tool risks<br />Dependence on tools that do not perform as advertised<br />Not using installed tools<br />Re-engineering Risks<br />
  26. 26. Strategy risks<br />Premature commitment to a reengineering solution for an entire system<br />Failure to have a long-term vision with interim goals<br />Lack of global view: code, data, process reengineering<br />No plan for using reengineering tools<br />Application risks<br />Reengineering with no local application experts available<br />Existing business knowledge embedded in source code is lost<br />Reengineered system does not perform adequately<br />Re-engineering Risks<br />
  27. 27. Process risks<br />Extremely high manual reengineering costs<br />Cost benefits not realized in required time frame<br />Cannot economically justify the reengineering effort<br />Reengineering effort drifts<br />Lack of management commitment to ongoing reengineering solution<br />Personnel risks<br />Programmers inhibiting the start of reengineering<br />Programmers performing less effectively to make an unpopular reengineering project look less effective<br />Re-engineering Risks<br />
  28. 28. Software Re-engineering is reorganising and modifying existing software systems to make them more maintainable.<br />Its purpose is to improve the current system.<br />occurs at two different levels of abstraction<br />Business level<br />Software level<br />Re-engineering approaches<br />Big Bang<br />Incremental <br />Evolutionary<br />Risks<br />Summary<br />
  29. 29. Roger S. Pressman, “Software Engineering: A Practitioner’s Approach, 5thedition”.<br />Ian Sommerville, “Software Engineering, 6th edition”, 2000.<br />lindaRosenberg, “Software Re-Engineering”.<br />A. Sonhaji,MegahMulya, Mubassiran, Nasruddin, Ari Yanuar, “RekayasaUlang (Reengineering)”<br />Ira D. Baxter,Michael Mehlich, “Reverse Engineering is Reverse Forward Engineering”, 1997<br />David Eichman, “Factors in Reuse and Reengineering of Legacy Software”. Repository Based Software Engineering Program Research Institute for Computing and Information Systems University of Houston – Clear Lake, 1997<br />References<br />