Subscribe by Email

Tuesday, September 15, 2009

Introduction to Reengineering

Re-engineering occurs at two different levels of abstraction. At the business level, re-engineering focuses on the business process with the intent of making changes to improve competitiveness in some area of the business. At the software level, re-engineering examines information systems and applications with the intent of restructuring or reconstructing them so that they exhibit higher quality.
Business process reengineering defines business goals, identifies and evaluates existing business processes, specifies and designs revised processes, and prototypes, refines, and instantiates them within a business.
Business process reengineering (BPR) has a focus that extends beyond software. The result of BPR is often the definition of ways in which information technologies can better support the business.
Software reengineering encompasses a series of activities that include inventory analysis, document restructuring, reverse engineering, program and data restructuring, and forward engineering. The intent of these activities is to create versions of existing programs that exhibit higher quality and better maintainability-programs that will be viable well into the next century.
Inventory analysis enables an organization to assess each application systematically, with the intent of determining which are candidates for reengineering. Document restructuring creates a framework of documentation that is necessary for the long-term support of an application. reverse engineering is the process of analyzing a program in an effort to extract data, architectural, and procedural design information. Finally, forward engineering reconstructs a program using modern software engineering practices and information learned during reverse engineering.
The cost/benefit of reengineering can be determined quantitatively. The cost of the status quo, that is, the cost associated with ongoing support and maintenance of an existing application, is compared to the projected costs of reengineering and the resultant reduction in maintenance costs. In almost every case in which a program has a long life and currently exhibits poor maintainability, reengineering represents a cost-effective strategy.

No comments:

Facebook activity