SOFTWARE
REENGINEERING
Dr. Makanjera
0772166337
Makanjera@yahoo.com
3 / 1 / 2 0 X X S A M P L E F O O T E R T E X T 2
Definition
Reasons for Reengineering
Reengineering Process
3 / 1 / 2 0 X X S A M P L E F O O T E R T E X T 3
Software Reengineering is the process of updating software.
This process includes developing additional features on the
software and adding functionalities for better and more
efficient software. As far as the definition goes, this process
also entails that the software product will have improved
maintainability.
This is the examination and alteration of a legacy 0r existing
system to reconstitute it in a new form.
It affects positively at software cost, quality, service to the
customer and speed of delivery.
Why Reengineering?
1. There is continuous improvement of
software for better development and
customer experience.
2. It promotes quality enhancement of
existing systems.
3. It does not only better organisational services
but also contributes added revenue.
4. It is a cost-effective method for software
development. Why? This process allows the
developer to discover unnecessary elements
implemented in the current software and
remove them from the system.
5. The need to accommodate fast and
constantly changing industry requirements.
6. Cost Saving: It minimises costs(time,
financial, direct, indirect, ) that are incurred.
If a client needs a product already
developed but requires added features,
the developer may only have to reengineer
the existing one to maximize development
efficiency.
7. It makes the systems easier to maintain.
8. Increases productivity through code and
database optimisation.- The system will
become efficient and effective.
9. There is reduction of risks such as fault
fallibility.
3 / 1 / 2 0 X X S A M P L E F O O T E R T E X T 4
Software Reengineering Cycle
Three main levels of software
reengineering process:
1. Reverse engineering
2. Restructuring
3. Forward engineering.
 This involves the
reproduction of another
developer’s system
following a detailed
examination of its source
code or composition.
 Inventory analysis and
document analysis is
done.
 This involves code and Data
restructuring
 It involves rearranging or
reconstructing the source code
 It promotes system reliability
and maintainability.
 It involves the elimination or
reconstruction of the parts of
the source code (debugging).
 It keeps system updated
through eliminating obsolete or
older versions of certain parts
of the system (such as
programming implementation
and hardware components
 Also known as Renovation
/ Reclamation.
 This is the process of
integrating the latest
specifications based on
the results of the
evaluations from reverse
engineering and
restructuring.
 It involves updating of
software through
integration.
3 / 1 / 2 0 X X 6
3 / 1 / 2 0 X X S A M P L E F O O T E R T E X T 7
3 / 1 / 2 0 X X S A M P L E F O O T E R T E X T 8
3 / 1 / 2 0 X X S A M P L E F O O T E R T E X T 9

One SOFTWARE REENGINEERING.pptx

  • 1.
  • 2.
    3 / 1/ 2 0 X X S A M P L E F O O T E R T E X T 2 Definition Reasons for Reengineering Reengineering Process
  • 3.
    3 / 1/ 2 0 X X S A M P L E F O O T E R T E X T 3 Software Reengineering is the process of updating software. This process includes developing additional features on the software and adding functionalities for better and more efficient software. As far as the definition goes, this process also entails that the software product will have improved maintainability. This is the examination and alteration of a legacy 0r existing system to reconstitute it in a new form. It affects positively at software cost, quality, service to the customer and speed of delivery.
  • 4.
    Why Reengineering? 1. Thereis continuous improvement of software for better development and customer experience. 2. It promotes quality enhancement of existing systems. 3. It does not only better organisational services but also contributes added revenue. 4. It is a cost-effective method for software development. Why? This process allows the developer to discover unnecessary elements implemented in the current software and remove them from the system. 5. The need to accommodate fast and constantly changing industry requirements. 6. Cost Saving: It minimises costs(time, financial, direct, indirect, ) that are incurred. If a client needs a product already developed but requires added features, the developer may only have to reengineer the existing one to maximize development efficiency. 7. It makes the systems easier to maintain. 8. Increases productivity through code and database optimisation.- The system will become efficient and effective. 9. There is reduction of risks such as fault fallibility. 3 / 1 / 2 0 X X S A M P L E F O O T E R T E X T 4
  • 5.
    Software Reengineering Cycle Threemain levels of software reengineering process: 1. Reverse engineering 2. Restructuring 3. Forward engineering.
  • 6.
     This involvesthe reproduction of another developer’s system following a detailed examination of its source code or composition.  Inventory analysis and document analysis is done.  This involves code and Data restructuring  It involves rearranging or reconstructing the source code  It promotes system reliability and maintainability.  It involves the elimination or reconstruction of the parts of the source code (debugging).  It keeps system updated through eliminating obsolete or older versions of certain parts of the system (such as programming implementation and hardware components  Also known as Renovation / Reclamation.  This is the process of integrating the latest specifications based on the results of the evaluations from reverse engineering and restructuring.  It involves updating of software through integration. 3 / 1 / 2 0 X X 6
  • 7.
    3 / 1/ 2 0 X X S A M P L E F O O T E R T E X T 7
  • 8.
    3 / 1/ 2 0 X X S A M P L E F O O T E R T E X T 8
  • 9.
    3 / 1/ 2 0 X X S A M P L E F O O T E R T E X T 9