SlideShare a Scribd company logo
Reengineering Pros and Cons
Neema Volvoikar
162113018
1
Introduction
• When changes are demanded by the end users, the challenge
of software maintenance begins.
• Growing queue of bug fixes, adaptation requests, and outright
enhancements that must be planned, scheduled, and
ultimately accomplished.
• The queue has grown long and the work it implies threatens
to overwhelm the available resources.
• As time passes, your organization finds that it’s spending
more money and time maintaining existing programs than it is
engineering new applications.
2
Software Maintenance
3
It is common for a software organization to expend as much as
60 to 70 percent of all resources on software maintenance.
Legacy system
• Legacy systems are the old software systems which are
essential for business process support.
• Software re-engineering is concerned with re-implementing
legacy systems to make them more maintainable.
• It is the only viable way to ensure that legacy systems can
continue in service.
4
Reengineering
Reengineering occurs at two different level of abstraction
• Business level: A business process is “a set of logically related
tasks performed to achieve a defined business outcome”.
• Software level
5
Business re-engineering process
6
Figure: A BRP Model
Software Reengineering
7
Figure 3: A general model for software re-engineering
Software re-engineering is the examination and the
alteration of a system to reconstitute it in a new form to
improve the maintainability of a software system.
Why do we need software Reengineering
• It is sometimes a cost effective option for software evolution.
• Applicable when some (but not all) subsystems of larger
system require frequent maintenance.
• It involves putting in effort to make it easier to maintain.
8
The process model
9
Inventory analysis
• Spreadsheet model containing information providing detailed
description of applications.
Example: size, age, business criticality.
• Deciding for candidate applications based on this factors
allocating resources to them.
• Inventory should be revisited on a regular cycle.
10
Document restructuring
Weak documentation is the trademark of many legacy systems.
• Creating documentation is far too time consuming. It is not
possible to re-create documentation for hundreds of
computer programs.
• Documentation must be updated, but your organization has
limited resources. You’ll use a “document when touched”
approach and is not necessary to fully redocument an
application.
• The system is business critical and must be fully
redocumented. Even in this case, an intelligent approach is to
pare documentation to an essential minimum.
11
Reverse engineering
• Reverse engineering for software is the process of analyzing a
program in an effort to create a representation of the
program at a higher level of abstraction than source code.
• It is a process of design recovery.
• The program itself is unchanged by reverse engineering
process.
• The software source code is usually available as an input.
12
Code restructuring
• The source code is analyzed using a restructuring tool.
• Violations of structured programming constructs are noted
and code is then restructured or even rewritten in a more
modern programming language.
• The resultant restructured code is reviewed and tested to
ensure that no anomalies have been introduced.
• Internal code documentation is updated.
13
Data restructuring
• A program with weak data architecture will be difficult to
adapt and enhance.
• Data restructuring is a full-scale reengineering activity begins
with a reverse engineering activity.
• Current data architecture is dissected, data objects and
attributes are identified, and existing data structures are
reviewed for quality.
• When data structure is weak, the data are reengineered.
• changes to the data will invariably result in either
architectural or code-level changes.
14
Forward reengineering
• Forward Engineering is a traditional technique of moving from
high-level abstractions and logical, implementation-
independent designs to the physical implementation of a
system.
• For example building from a model into an implementation
language.
15
Advantages
There are two key advantages
• Reduced risk: As the software is already existing, the risk is
less as compared to developing a new software.
• Reduced cost: The cost of engineering is significantly less than
the cost of developing a new software.
16
Re-engineering risks
17
These potential risks can be categorized in the following areas
as depicted below
User satisfaction
• Customer satisfaction is an integral key element for any
business strategy, therefore it is essential for any business to
effectively manage reliable measures for customer
satisfaction.
User satisfaction risks are as below :
• Lack of user friendliness
• Budget overflow in un-managed processes
• Unexpected result of the target system
18
Cost
• Legacy software is reengineered in order to face the market
with latest technology and tools to make it more cost
benefitted.
Risks involved in cost benefit are as follow below:
• Less benefit from the cost of re-engineering
• High maintenance cost after re-engineering
• Expensive backup.
• High cost to finance report
• Poor quality processes for re-engineering and inconsistency of
business plans
• Loss of investments on legacy transformation.
19
Forward engineering
Risks involved in FE are listed as follow.
• Captured objects do not integrate to new system.
• Difficulty in migrating existing data to for new system
• Degree of preparation for transformation and reverse
engineering are not sufficient.
20
Reverse engineering
The RE risk factors are:
• Abstract information cannot be expressed in the designed
language for requirements and design specifications.
• It is quite difficult to capture efficient design and few
requirements from the source code.
• Existing business knowledge embedded in source code is lost
due to inappropriate processes.
• Recovered information is not useful or not used at all.
21
Performance
The Performance risks factors are listed below.
• Non portability in new system
• Result not matched with the previous system
• Reliability mismatch
• Inappropriate Re-engineering approach and data
restructuring.
22
Maintenance
• Decisions are aided by understanding what happens to any
software systems over time according to new requirements.
• The key software maintenance issues can be either
managerial or technical or both.
The maintenance risks are listed as follow.
• Scheduled Backup
• Recovery of legacy systems
• Improper Re-documentation and data restructuring
23
References
• Nasir Rashid Department of CS and I.T University of Malakand
Pakistan, Analysis of Risks in Re-Engineering Software
Systems, Pakistan International Journal of Computer
Applications (0975 – 8887) Volume 73– No.11, July 2013
• Roger S. Pressman, Software Engineering A Practitioner’s
Approach (Seventh Editiion), McGraw-Hill Education.
24
THANK YOU!
25

More Related Content

What's hot

MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
Kathirvel Ayyaswamy
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
Deniz Kılınç
 
Business Process Management
Business Process ManagementBusiness Process Management
Business Process Management
Ahmad Tariq Bhatti
 
Sdlc
SdlcSdlc
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
fentrekin
 
Project Metrics & Measures
Project Metrics & MeasuresProject Metrics & Measures
Project Metrics & Measures
Anand Subramaniam
 
Project Management Tools
Project Management ToolsProject Management Tools
Project Management Tools
United International University
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
SIMONTHOMAS S
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
Saqib Raza
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
Kathirvel Ayyaswamy
 
Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8
Abdul Basit
 
Time Management within IT Project Management
Time Management within IT Project ManagementTime Management within IT Project Management
Time Management within IT Project Management
rielaantonio
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
Ammar Shafiq
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
Drishti Bhalla
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
Priya Tomar
 
System Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU EthiopiaSystem Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU Ethiopia
Debre Tabor University
 
Spm unit 5
Spm unit 5Spm unit 5
Spm unit 5
sweetyammu
 
Project monitoring and control & planning for monitoring
Project monitoring and control & planning for monitoringProject monitoring and control & planning for monitoring
Project monitoring and control & planning for monitoring
Sandeep Kumar
 
Over view of system analysis and design
Over view of system analysis and designOver view of system analysis and design
Over view of system analysis and design
Saroj Dhakal
 
Project Management Framework
Project Management FrameworkProject Management Framework
Project Management Framework
Robert Kelly
 

What's hot (20)

MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Business Process Management
Business Process ManagementBusiness Process Management
Business Process Management
 
Sdlc
SdlcSdlc
Sdlc
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Project Metrics & Measures
Project Metrics & MeasuresProject Metrics & Measures
Project Metrics & Measures
 
Project Management Tools
Project Management ToolsProject Management Tools
Project Management Tools
 
Mg6088 spm unit-2
Mg6088 spm unit-2Mg6088 spm unit-2
Mg6088 spm unit-2
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8Capability maturity model cmm lecture 8
Capability maturity model cmm lecture 8
 
Time Management within IT Project Management
Time Management within IT Project ManagementTime Management within IT Project Management
Time Management within IT Project Management
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
System Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU EthiopiaSystem Analysis and Design slides by yared yenealem DTU Ethiopia
System Analysis and Design slides by yared yenealem DTU Ethiopia
 
Spm unit 5
Spm unit 5Spm unit 5
Spm unit 5
 
Project monitoring and control & planning for monitoring
Project monitoring and control & planning for monitoringProject monitoring and control & planning for monitoring
Project monitoring and control & planning for monitoring
 
Over view of system analysis and design
Over view of system analysis and designOver view of system analysis and design
Over view of system analysis and design
 
Project Management Framework
Project Management FrameworkProject Management Framework
Project Management Framework
 

Similar to Reengineering pros and cons

Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
Anish874317
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Mohammad Faizan
 
Software maintenance real world maintenance cost
Software maintenance real world maintenance costSoftware maintenance real world maintenance cost
Software maintenance real world maintenance cost
malathieswaran29
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
Ramesh Babu
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptx
TONY562
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
UnknownPerson201264
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Enterprise resource planning_system
Enterprise resource planning_systemEnterprise resource planning_system
Enterprise resource planning_system
Jithin Zcs
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf
krishnaraj714229
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
Shwetha-BA
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
Preeti Mishra
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
SaileshSingh27
 
Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studies
meritweb
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Bse 3105 lecture 4-software re-engineering
Bse 3105  lecture 4-software re-engineeringBse 3105  lecture 4-software re-engineering
Bse 3105 lecture 4-software re-engineering
Alonzee Tash
 
Outsourcing.ppt
Outsourcing.pptOutsourcing.ppt
Outsourcing.ppt
saadbougarn
 
Software Development
Software DevelopmentSoftware Development
Software Development
Goutama Bachtiar
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategy
Rahat Chowdhury
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
snehalkulkarni74
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
msandbhor
 

Similar to Reengineering pros and cons (20)

Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Software maintenance real world maintenance cost
Software maintenance real world maintenance costSoftware maintenance real world maintenance cost
Software maintenance real world maintenance cost
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptx
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Enterprise resource planning_system
Enterprise resource planning_systemEnterprise resource planning_system
Enterprise resource planning_system
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf
 
Software Development Life Cycle - SDLC
Software Development Life Cycle - SDLCSoftware Development Life Cycle - SDLC
Software Development Life Cycle - SDLC
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
 
Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studies
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Bse 3105 lecture 4-software re-engineering
Bse 3105  lecture 4-software re-engineeringBse 3105  lecture 4-software re-engineering
Bse 3105 lecture 4-software re-engineering
 
Outsourcing.ppt
Outsourcing.pptOutsourcing.ppt
Outsourcing.ppt
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategy
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
Student feedback system
Student feedback systemStudent feedback system
Student feedback system
 

Recently uploaded

Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
AI for Legal Research with applications, tools
AI for Legal Research with applications, toolsAI for Legal Research with applications, tools
AI for Legal Research with applications, tools
mahaffeycheryld
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
ijaia
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
ycwu0509
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Engineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdfEngineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdf
edwin408357
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 

Recently uploaded (20)

Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
AI for Legal Research with applications, tools
AI for Legal Research with applications, toolsAI for Legal Research with applications, tools
AI for Legal Research with applications, tools
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Engineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdfEngineering Standards Wiring methods.pdf
Engineering Standards Wiring methods.pdf
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 

Reengineering pros and cons

  • 1. Reengineering Pros and Cons Neema Volvoikar 162113018 1
  • 2. Introduction • When changes are demanded by the end users, the challenge of software maintenance begins. • Growing queue of bug fixes, adaptation requests, and outright enhancements that must be planned, scheduled, and ultimately accomplished. • The queue has grown long and the work it implies threatens to overwhelm the available resources. • As time passes, your organization finds that it’s spending more money and time maintaining existing programs than it is engineering new applications. 2
  • 3. Software Maintenance 3 It is common for a software organization to expend as much as 60 to 70 percent of all resources on software maintenance.
  • 4. Legacy system • Legacy systems are the old software systems which are essential for business process support. • Software re-engineering is concerned with re-implementing legacy systems to make them more maintainable. • It is the only viable way to ensure that legacy systems can continue in service. 4
  • 5. Reengineering Reengineering occurs at two different level of abstraction • Business level: A business process is “a set of logically related tasks performed to achieve a defined business outcome”. • Software level 5
  • 7. Software Reengineering 7 Figure 3: A general model for software re-engineering Software re-engineering is the examination and the alteration of a system to reconstitute it in a new form to improve the maintainability of a software system.
  • 8. Why do we need software Reengineering • It is sometimes a cost effective option for software evolution. • Applicable when some (but not all) subsystems of larger system require frequent maintenance. • It involves putting in effort to make it easier to maintain. 8
  • 10. Inventory analysis • Spreadsheet model containing information providing detailed description of applications. Example: size, age, business criticality. • Deciding for candidate applications based on this factors allocating resources to them. • Inventory should be revisited on a regular cycle. 10
  • 11. Document restructuring Weak documentation is the trademark of many legacy systems. • Creating documentation is far too time consuming. It is not possible to re-create documentation for hundreds of computer programs. • Documentation must be updated, but your organization has limited resources. You’ll use a “document when touched” approach and is not necessary to fully redocument an application. • The system is business critical and must be fully redocumented. Even in this case, an intelligent approach is to pare documentation to an essential minimum. 11
  • 12. Reverse engineering • Reverse engineering for software is the process of analyzing a program in an effort to create a representation of the program at a higher level of abstraction than source code. • It is a process of design recovery. • The program itself is unchanged by reverse engineering process. • The software source code is usually available as an input. 12
  • 13. Code restructuring • The source code is analyzed using a restructuring tool. • Violations of structured programming constructs are noted and code is then restructured or even rewritten in a more modern programming language. • The resultant restructured code is reviewed and tested to ensure that no anomalies have been introduced. • Internal code documentation is updated. 13
  • 14. Data restructuring • A program with weak data architecture will be difficult to adapt and enhance. • Data restructuring is a full-scale reengineering activity begins with a reverse engineering activity. • Current data architecture is dissected, data objects and attributes are identified, and existing data structures are reviewed for quality. • When data structure is weak, the data are reengineered. • changes to the data will invariably result in either architectural or code-level changes. 14
  • 15. Forward reengineering • Forward Engineering is a traditional technique of moving from high-level abstractions and logical, implementation- independent designs to the physical implementation of a system. • For example building from a model into an implementation language. 15
  • 16. Advantages There are two key advantages • Reduced risk: As the software is already existing, the risk is less as compared to developing a new software. • Reduced cost: The cost of engineering is significantly less than the cost of developing a new software. 16
  • 17. Re-engineering risks 17 These potential risks can be categorized in the following areas as depicted below
  • 18. User satisfaction • Customer satisfaction is an integral key element for any business strategy, therefore it is essential for any business to effectively manage reliable measures for customer satisfaction. User satisfaction risks are as below : • Lack of user friendliness • Budget overflow in un-managed processes • Unexpected result of the target system 18
  • 19. Cost • Legacy software is reengineered in order to face the market with latest technology and tools to make it more cost benefitted. Risks involved in cost benefit are as follow below: • Less benefit from the cost of re-engineering • High maintenance cost after re-engineering • Expensive backup. • High cost to finance report • Poor quality processes for re-engineering and inconsistency of business plans • Loss of investments on legacy transformation. 19
  • 20. Forward engineering Risks involved in FE are listed as follow. • Captured objects do not integrate to new system. • Difficulty in migrating existing data to for new system • Degree of preparation for transformation and reverse engineering are not sufficient. 20
  • 21. Reverse engineering The RE risk factors are: • Abstract information cannot be expressed in the designed language for requirements and design specifications. • It is quite difficult to capture efficient design and few requirements from the source code. • Existing business knowledge embedded in source code is lost due to inappropriate processes. • Recovered information is not useful or not used at all. 21
  • 22. Performance The Performance risks factors are listed below. • Non portability in new system • Result not matched with the previous system • Reliability mismatch • Inappropriate Re-engineering approach and data restructuring. 22
  • 23. Maintenance • Decisions are aided by understanding what happens to any software systems over time according to new requirements. • The key software maintenance issues can be either managerial or technical or both. The maintenance risks are listed as follow. • Scheduled Backup • Recovery of legacy systems • Improper Re-documentation and data restructuring 23
  • 24. References • Nasir Rashid Department of CS and I.T University of Malakand Pakistan, Analysis of Risks in Re-Engineering Software Systems, Pakistan International Journal of Computer Applications (0975 – 8887) Volume 73– No.11, July 2013 • Roger S. Pressman, Software Engineering A Practitioner’s Approach (Seventh Editiion), McGraw-Hill Education. 24