Transforming Old Software into New: A Guide to Reengineering

samikshagandhewar04 41 views 10 slides Sep 09, 2024
Slide 1
Slide 1 of 10
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10

About This Presentation

Software reengineering is the process of examining, analyzing, and modifying existing software systems to improve their quality, performance, and maintainability. The primary goals of software reengineering are to extend the lifespan of legacy systems, reduce maintenance costs, and adapt the softwar...


Slide Content

Software reengineering

What is software reengineering? Software reengineering is the process of examining and altering an existing software system to improve its functionality, maintainability, and performance. It involves various activities aimed at transforming legacy systems into more efficient and modernized versions.

Key objectives Improving Maintainability: Enhancing the ease with which software can be maintained and updated. 2. Reducing Costs:   Lowering the costs associated with maintaining and evolving software systems. 3. Extending System Life:  Prolonging the useful life of existing software systems by updating them to meet current requirements.

Key objectives Improving Maintainability: Enhancing the ease with which software can be maintained and updated. 2. Reducing Costs:   Lowering the costs associated with maintaining and evolving software systems. 3. Extending System Life:  Prolonging the useful life of existing software systems by updating them to meet current requirements.

Key objectives Improving Maintainability: Enhancing the ease with which software can be maintained and updated. 2. Reducing Costs:   Lowering the costs associated with maintaining and evolving software systems. 3. Extending System Life:  Prolonging the useful life of existing software systems by updating them to meet current requirements.

Main activities Reverse Engineering :  Analyzing the existing software to understand its components and interrelationships. Redocumentation :  Creating updated documentation for the software system. Restructuring :  Modifying the software’s structure without changing its functionality to improve readability and maintainability. Code Translation :  Converting code from one programming language to another. Data Reengineering :  Modifying the data structures and database schemas to improve performance and maintainability.

CONS High initial costs: expensive to start CONS Can take a long time to complete CONS Potential for system disruptions Pros vs cons PROS Easier to update and maintain PROS Keeps the old systems working longer PROS Cheaper than developing new software

PROS Cheaper than developing new software PROS Keeps the old systems working longer PROS Easier to update and maintain CONS High initial costs: expensive to start CONS Can take a long time to complete CONS Potential for system disruptions Pros vs cons

When to apply software reengineering? When the software system requires frequent maintenance. When the system’s performance is degrading. When the technology used is outdated and needs modernization.

Thank you