O SlideShare utiliza cookies para otimizar a funcionalidade e o desempenho do site, assim como para apresentar publicidade mais relevante aos nossos usuários. Se você continuar a navegar o site, você aceita o uso de cookies. Leia nosso Contrato do Usuário e nossa Política de Privacidade.
O SlideShare utiliza cookies para otimizar a funcionalidade e o desempenho do site, assim como para apresentar publicidade mais relevante aos nossos usuários. Se você continuar a utilizar o site, você aceita o uso de cookies. Leia nossa Política de Privacidade e nosso Contrato do Usuário para obter mais detalhes.
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 />
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 />
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 />
Reorganising and modifying existing software systems to make them more maintainable<br />Software Re-engineering<br />
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 />
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 />
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 />
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 />
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 />