SlideShare a Scribd company logo
1 of 25
Legacy Systems
Legacy Systems
•Older software systems that
remain vital to an organisation
Legacy systems
• Software systems that are developed specially
for an organisation have a long lifetime
• Many software systems that are still in use were
developed many years ago using technologies
that are now out-dated
• These systems are still business critical that is,
they are essential for the normal functioning of
the business
• They have been given the name legacy systems
Legacy system change
• Systems must change in order to remain useful
• However, changing legacy systems is often expensive
• Different parts implemented by different teams so no consistent
programming style
• The system may use an out-dated programming language
• The system documentation is often out-of-date
• The system structure may be corrupted by many years of
maintenance
• File structures used may be incompatible
The legacy problem
• It is expensive and risky to replace the legacy system
• It is expensive to maintain the legacy system
• Businesses must weigh up the costs and risks and may choose
to extend the system lifetime using techniques such as re-
engineering.
Legacy system structures
• Legacy systems can be considered to be socio-technical
systems and not simply software systems
• Sociotechnical systems (STS) in organizational
development is an approach to complex organizational
work design that recognizes the interaction between
people and technology in workplaces.
Layered model
Socio-technical system
Hardware
Support software
Application software
Business processes
System change
• In principle, it should be possible to replace a layer in the system
leaving the other layers unchanged
• In practice, this is usually impossible
• Changing one layer introduces new facilities and higher level
layers must then change to make use of these
• Changing the software may slow it down so hardware changes
are then required
• It is often impossible to maintain hardware interfaces because of
the wide gap between mainframes and client-server systems
Legacy system assessment
• Organisations that rely on legacy systems must choose a
strategy for evolving these systems
• Scrap the system completely and modify business processes so
that it is no longer required
• Continue maintaining the system
• Transform the system by re-engineering to improve its
maintainability
• Replace the system with a new system
• The strategy chosen should depend on the system quality and
its business value
Legacy system categories
• Low quality, low business value
• These systems should be scrapped
• Low-quality, high-business value
• These make an important business contribution but are
expensive to maintain. Should be re-engineered
• High-quality, low-business value
• Replace with COTS
• High-quality, high business value
• Continue in operation using normal system maintenance
Maintenance
•Re-Engineering
•Reverse Engineering
Maintenance
Software System re-engineering
•Reorganising and modifying
existing software systems to
make them more maintainable
System re-engineering
• Re-structuring or re-writing part or all of a legacy system
without changing its functionality
• It is applicable where some but not all sub-systems of a larger
system require frequent maintenance
• Re-engineering involves adding effort to make them easier to
maintain. The system may be re-structured and re-
documented
When to re-engineer
• When system changes are mostly confined to part of the
system then re-engineer that part
• When hardware or software support becomes obsolete
• When tools to support re-structuring are available
Re-engineering advantages
• Reduced risk
• There is a high risk in new software development. There may be
development problems, staffing problems and specification
problems
• Reduced cost
• The cost of re-engineering is often significantly less than the costs
of developing new software
Forward engineering and re-
engineering
Understanding and
transformation
Existing
software system
Re-engineered
system
Design and
implementation
System
specification
New
system
Software re-engineering
Forward engineering
Reengineering Process
Reengineering Process
• 1.Source code translation The program is converted
from an old programming language to a more
modern version of the same language or to a
different language.
• 2. Reverse engineering The program is analysed and
information extracted from it which helps to
document its organisation and functionality.
• 3. Program structure improvement The control
structure of the program is analysed and modified to
make it easier to read and understand.
Reengineering Process
• 4. Program modularisation Related parts of the program
are grouped together and, where appropriate, redundancy
is removed. In some cases, this stage may involve
architectural transformation
• 5. Data re-engineering The data processed by the program
is changed to reflect program changes.
Reverse engineering
• Analysing software with a view to understanding its
design and specification
• May be part of a re-engineering process but may also be
used to re-specify a system for re-implementation
• Builds a program data base and generates information
from this
• Program understanding tools may be used in this process
The reverse engineering
process
Data stucture
diagrams
Program stucture
diagrams
Traceability
matrices
Document
generation
System
information
store
Automated
analysis
Manual
annotation
System to be
re-engineered
Reverse engineering
• Reverse engineering often precedes re-engineering but is
sometimes worthwhile in its own right
• The design and specification of a system may be reverse
engineered so that they can be an input to the requirements
specification process for the system’s replacement
• The design and specification may be reverse engineered to
support program maintenance
Program structure
improvement
• Maintenance tends to corrupt the structure of a program. It
becomes harder and harder to understand
• The program may be automatically restructured to remove
unconditional branches
• Conditions may be simplified to make them more readable
Condition simplification
-- Complex condition
if not (A > B and (C < D or not ( E > F) ) )...
-- Simplified condition
if (A <= B or (C>= D and E > F)...
Restructuring problems
• Problems with re-structuring are:
• Loss of comments
• Loss of documentation
• Heavy computational demands

More Related Content

What's hot

Planning the development process
Planning the development processPlanning the development process
Planning the development processSiva Priya
 
Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)Self-employed
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringMeghaj Mallick
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4Mohammed Romi
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral ModelBenedictArpon
 
Software Evolution
Software EvolutionSoftware Evolution
Software EvolutionMuhammad Asim
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)IrtazaAfzal3
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-EngineeringSaqib Raza
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsSeema Kamble
 
Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26koolkampus
 
Ch 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleCh 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleKittitouch Suteeca
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software qualityUtkarsh Agarwal
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliabilityranapoonam1
 

What's hot (20)

Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software Engineering - Spiral Model
Software Engineering - Spiral ModelSoftware Engineering - Spiral Model
Software Engineering - Spiral Model
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
 
Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26Legacy Systems in Software Engineering SE26
Legacy Systems in Software Engineering SE26
 
Ch 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleCh 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycle
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
CASE tools and their effects on software quality
CASE tools and their effects on software qualityCASE tools and their effects on software quality
CASE tools and their effects on software quality
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
CASE (Computer Aided Software Design)
CASE (Computer Aided Software Design)CASE (Computer Aided Software Design)
CASE (Computer Aided Software Design)
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 

Similar to LEGACY SYSTEM In Software Engineering By NADEEM AHMED

Bse 3105 lecture 5-evolution of legacy systems
Bse 3105  lecture 5-evolution of legacy systemsBse 3105  lecture 5-evolution of legacy systems
Bse 3105 lecture 5-evolution of legacy systemsAlonzee Tash
 
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-engineeringAlonzee Tash
 
Software maintenance real world maintenance cost
Software maintenance real world maintenance costSoftware maintenance real world maintenance cost
Software maintenance real world maintenance costmalathieswaran29
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptxAnish874317
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdfkrishnaraj714229
 
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software EngineeringManish Kumar
 
Software maintenance
Software maintenance Software maintenance
Software maintenance Rajeev Sharan
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed descriptionSaileshSingh27
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementChandan Chaurasia
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenanceDarah Lei Jubilo
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenanceDarah Lei Jubilo
 
Bse 3105 lecture 6-configuration management
Bse 3105  lecture 6-configuration managementBse 3105  lecture 6-configuration management
Bse 3105 lecture 6-configuration managementAlonzee Tash
 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.Sumit Biswas
 
The information systems life cycle
The information systems life cycleThe information systems life cycle
The information systems life cycleNur Aqilah Ahmad Khairi
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimationssuserb7c8b8
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
Software engineering
Software engineeringSoftware engineering
Software engineeringArshad Ali
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 

Similar to LEGACY SYSTEM In Software Engineering By NADEEM AHMED (20)

Bse 3105 lecture 5-evolution of legacy systems
Bse 3105  lecture 5-evolution of legacy systemsBse 3105  lecture 5-evolution of legacy systems
Bse 3105 lecture 5-evolution of legacy systems
 
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
 
Software maintenance real world maintenance cost
Software maintenance real world maintenance costSoftware maintenance real world maintenance cost
Software maintenance real world maintenance cost
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
 
340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf340_18CS35_se_mod1(secab).pdf
340_18CS35_se_mod1(secab).pdf
 
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Himanshu
HimanshuHimanshu
Himanshu
 
Bse 3105 lecture 6-configuration management
Bse 3105  lecture 6-configuration managementBse 3105  lecture 6-configuration management
Bse 3105 lecture 6-configuration management
 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.
 
The information systems life cycle
The information systems life cycleThe information systems life cycle
The information systems life cycle
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Sw2 1
Sw2 1Sw2 1
Sw2 1
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 

More from NA000000

Jumps in Assembly Language.
Jumps in Assembly Language.Jumps in Assembly Language.
Jumps in Assembly Language.NA000000
 
JAVA Naming Conventions By NADEEM AHMED FROM DEPALPUR
JAVA Naming Conventions By NADEEM AHMED FROM DEPALPURJAVA Naming Conventions By NADEEM AHMED FROM DEPALPUR
JAVA Naming Conventions By NADEEM AHMED FROM DEPALPURNA000000
 
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPURLine Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPURNA000000
 
Critical Path Method In Software Engineering By NADEEM AHMED
Critical Path Method In Software Engineering By NADEEM AHMED Critical Path Method In Software Engineering By NADEEM AHMED
Critical Path Method In Software Engineering By NADEEM AHMED NA000000
 
COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED NA000000
 
Modal Driven Architecture In Software Engineering By NADEEM AHMED
Modal Driven Architecture In Software Engineering By NADEEM AHMED Modal Driven Architecture In Software Engineering By NADEEM AHMED
Modal Driven Architecture In Software Engineering By NADEEM AHMED NA000000
 
Software Testing By NADEEM AHMED FROM DEPALPUR
Software Testing By NADEEM AHMED FROM DEPALPURSoftware Testing By NADEEM AHMED FROM DEPALPUR
Software Testing By NADEEM AHMED FROM DEPALPURNA000000
 
Software Inspection By NADEEM AHMED FROM DEPALPUR
Software Inspection By NADEEM AHMED FROM DEPALPURSoftware Inspection By NADEEM AHMED FROM DEPALPUR
Software Inspection By NADEEM AHMED FROM DEPALPURNA000000
 
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPURCleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPURNA000000
 
UML Diagrams By NADEEM AHMED FROM DEPALPUR
UML Diagrams By NADEEM AHMED FROM DEPALPURUML Diagrams By NADEEM AHMED FROM DEPALPUR
UML Diagrams By NADEEM AHMED FROM DEPALPURNA000000
 
Biometrics
BiometricsBiometrics
BiometricsNA000000
 
Computer Networks By NADEEM AHMED
Computer Networks By NADEEM AHMED Computer Networks By NADEEM AHMED
Computer Networks By NADEEM AHMED NA000000
 
Cloud computing by NADEEM AHMED
Cloud computing by NADEEM AHMEDCloud computing by NADEEM AHMED
Cloud computing by NADEEM AHMEDNA000000
 
Iot proposal by nadeem ahmed
Iot proposal by nadeem ahmedIot proposal by nadeem ahmed
Iot proposal by nadeem ahmedNA000000
 
Biomatric
BiomatricBiomatric
BiomatricNA000000
 
Assignment#1
Assignment#1Assignment#1
Assignment#1NA000000
 
Project proposal oop
Project proposal oopProject proposal oop
Project proposal oopNA000000
 

More from NA000000 (17)

Jumps in Assembly Language.
Jumps in Assembly Language.Jumps in Assembly Language.
Jumps in Assembly Language.
 
JAVA Naming Conventions By NADEEM AHMED FROM DEPALPUR
JAVA Naming Conventions By NADEEM AHMED FROM DEPALPURJAVA Naming Conventions By NADEEM AHMED FROM DEPALPUR
JAVA Naming Conventions By NADEEM AHMED FROM DEPALPUR
 
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPURLine Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
Line Of Code(LOC) In Software Engineering By NADEEM AHMED FROM DEPALPUR
 
Critical Path Method In Software Engineering By NADEEM AHMED
Critical Path Method In Software Engineering By NADEEM AHMED Critical Path Method In Software Engineering By NADEEM AHMED
Critical Path Method In Software Engineering By NADEEM AHMED
 
COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED COCOMO Modal In Software Engineering By NADEEM AHMED
COCOMO Modal In Software Engineering By NADEEM AHMED
 
Modal Driven Architecture In Software Engineering By NADEEM AHMED
Modal Driven Architecture In Software Engineering By NADEEM AHMED Modal Driven Architecture In Software Engineering By NADEEM AHMED
Modal Driven Architecture In Software Engineering By NADEEM AHMED
 
Software Testing By NADEEM AHMED FROM DEPALPUR
Software Testing By NADEEM AHMED FROM DEPALPURSoftware Testing By NADEEM AHMED FROM DEPALPUR
Software Testing By NADEEM AHMED FROM DEPALPUR
 
Software Inspection By NADEEM AHMED FROM DEPALPUR
Software Inspection By NADEEM AHMED FROM DEPALPURSoftware Inspection By NADEEM AHMED FROM DEPALPUR
Software Inspection By NADEEM AHMED FROM DEPALPUR
 
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPURCleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
 
UML Diagrams By NADEEM AHMED FROM DEPALPUR
UML Diagrams By NADEEM AHMED FROM DEPALPURUML Diagrams By NADEEM AHMED FROM DEPALPUR
UML Diagrams By NADEEM AHMED FROM DEPALPUR
 
Biometrics
BiometricsBiometrics
Biometrics
 
Computer Networks By NADEEM AHMED
Computer Networks By NADEEM AHMED Computer Networks By NADEEM AHMED
Computer Networks By NADEEM AHMED
 
Cloud computing by NADEEM AHMED
Cloud computing by NADEEM AHMEDCloud computing by NADEEM AHMED
Cloud computing by NADEEM AHMED
 
Iot proposal by nadeem ahmed
Iot proposal by nadeem ahmedIot proposal by nadeem ahmed
Iot proposal by nadeem ahmed
 
Biomatric
BiomatricBiomatric
Biomatric
 
Assignment#1
Assignment#1Assignment#1
Assignment#1
 
Project proposal oop
Project proposal oopProject proposal oop
Project proposal oop
 

Recently uploaded

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 

Recently uploaded (20)

OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 

LEGACY SYSTEM In Software Engineering By NADEEM AHMED

  • 2. Legacy Systems •Older software systems that remain vital to an organisation
  • 3. Legacy systems • Software systems that are developed specially for an organisation have a long lifetime • Many software systems that are still in use were developed many years ago using technologies that are now out-dated • These systems are still business critical that is, they are essential for the normal functioning of the business • They have been given the name legacy systems
  • 4. Legacy system change • Systems must change in order to remain useful • However, changing legacy systems is often expensive • Different parts implemented by different teams so no consistent programming style • The system may use an out-dated programming language • The system documentation is often out-of-date • The system structure may be corrupted by many years of maintenance • File structures used may be incompatible
  • 5. The legacy problem • It is expensive and risky to replace the legacy system • It is expensive to maintain the legacy system • Businesses must weigh up the costs and risks and may choose to extend the system lifetime using techniques such as re- engineering.
  • 6. Legacy system structures • Legacy systems can be considered to be socio-technical systems and not simply software systems • Sociotechnical systems (STS) in organizational development is an approach to complex organizational work design that recognizes the interaction between people and technology in workplaces.
  • 7. Layered model Socio-technical system Hardware Support software Application software Business processes
  • 8. System change • In principle, it should be possible to replace a layer in the system leaving the other layers unchanged • In practice, this is usually impossible • Changing one layer introduces new facilities and higher level layers must then change to make use of these • Changing the software may slow it down so hardware changes are then required • It is often impossible to maintain hardware interfaces because of the wide gap between mainframes and client-server systems
  • 9. Legacy system assessment • Organisations that rely on legacy systems must choose a strategy for evolving these systems • Scrap the system completely and modify business processes so that it is no longer required • Continue maintaining the system • Transform the system by re-engineering to improve its maintainability • Replace the system with a new system • The strategy chosen should depend on the system quality and its business value
  • 10. Legacy system categories • Low quality, low business value • These systems should be scrapped • Low-quality, high-business value • These make an important business contribution but are expensive to maintain. Should be re-engineered • High-quality, low-business value • Replace with COTS • High-quality, high business value • Continue in operation using normal system maintenance
  • 12. Maintenance Software System re-engineering •Reorganising and modifying existing software systems to make them more maintainable
  • 13. System re-engineering • Re-structuring or re-writing part or all of a legacy system without changing its functionality • It is applicable where some but not all sub-systems of a larger system require frequent maintenance • Re-engineering involves adding effort to make them easier to maintain. The system may be re-structured and re- documented
  • 14. When to re-engineer • When system changes are mostly confined to part of the system then re-engineer that part • When hardware or software support becomes obsolete • When tools to support re-structuring are available
  • 15. Re-engineering advantages • Reduced risk • There is a high risk in new software development. There may be development problems, staffing problems and specification problems • Reduced cost • The cost of re-engineering is often significantly less than the costs of developing new software
  • 16. Forward engineering and re- engineering Understanding and transformation Existing software system Re-engineered system Design and implementation System specification New system Software re-engineering Forward engineering
  • 18. Reengineering Process • 1.Source code translation The program is converted from an old programming language to a more modern version of the same language or to a different language. • 2. Reverse engineering The program is analysed and information extracted from it which helps to document its organisation and functionality. • 3. Program structure improvement The control structure of the program is analysed and modified to make it easier to read and understand.
  • 19. Reengineering Process • 4. Program modularisation Related parts of the program are grouped together and, where appropriate, redundancy is removed. In some cases, this stage may involve architectural transformation • 5. Data re-engineering The data processed by the program is changed to reflect program changes.
  • 20. Reverse engineering • Analysing software with a view to understanding its design and specification • May be part of a re-engineering process but may also be used to re-specify a system for re-implementation • Builds a program data base and generates information from this • Program understanding tools may be used in this process
  • 21. The reverse engineering process Data stucture diagrams Program stucture diagrams Traceability matrices Document generation System information store Automated analysis Manual annotation System to be re-engineered
  • 22. Reverse engineering • Reverse engineering often precedes re-engineering but is sometimes worthwhile in its own right • The design and specification of a system may be reverse engineered so that they can be an input to the requirements specification process for the system’s replacement • The design and specification may be reverse engineered to support program maintenance
  • 23. Program structure improvement • Maintenance tends to corrupt the structure of a program. It becomes harder and harder to understand • The program may be automatically restructured to remove unconditional branches • Conditions may be simplified to make them more readable
  • 24. Condition simplification -- Complex condition if not (A > B and (C < D or not ( E > F) ) )... -- Simplified condition if (A <= B or (C>= D and E > F)...
  • 25. Restructuring problems • Problems with re-structuring are: • Loss of comments • Loss of documentation • Heavy computational demands