SlideShare a Scribd company logo
1 of 21
Group Members
 Ali Raza Saleem
 Haf iz Abdul Rehman
 Mobeen-ur-Rehman
 Asad Mirza
Source code translation
Reverse Engineering
Software Re-
engineering
Software re-engineering
 Reor ganising and modif ying
exist ing sof t war e syst ems t o
make t hem more maint ainable
Topics covered
 Source code t ranslat ion
 Reverse engineering
System re-engineering
 Re-st ruct ur ing or r e-writ ing par t or
all of a
legacy syst em wit hout changing it s
f unct ionalit y
 Applicable wher e some but not all
sub-syst ems
of a lar ger syst em r equire f r equent
maint enance
 Re-engineering involves adding ef f ort
t o make
t hem easier t o maint ain. The syst em
When to re-engineer
 When syst em changes are most ly
rest r ict ed t o
par t of t he syst em t hen r e-engineer
t hat par t
 When har dware or sof t war e suppor t
becomes
out -dat ed
Re-engineering advantages
 Reduced risk
 There is a high r isk in new sof t ware
development . Ther e may be
development problems, st af f ing
pr oblems and specif icat ion problems
 Reduced cost
 The cost of re-engineering is of t en
Business process re-
engineering
 Concerned wit h r e-designing business
pr ocesses t o make t hem mor e responsive
and mor e ef f icient
 Of t en r eliant on t he int roduct ion of new
comput er syst ems t o suppor t t he
revised pr ocesses
 May f or ce sof t war e r e-engineering as
Forward engineering and re-
engineering
The re-engineering process
Re-engineering cost factors
 The qualit y of t he sof t war e t o be r e-
engineer ed
 The t ool support available f or r e-
engineer ing
 The ext ent of t he dat a conver sion
which is r equir ed
Re-engineering approaches
Source code translation
 I nvolves conver t ing t he code f r om one
language (or language version) t o
anot her e.g. FORTRAN t o C
 May be necessary because of :
 Hardware plat f orm updat e
 St af f skill short ages
 Organisat ional policy changes
The program translation
process
Reverse engineering
 Analysing sof t war e wit h a view t o
under st anding it s design and
specif icat ion
 May be part of a re-engineer ing process
but may also be used t o re-specif y a
syst em f or re-implement at ion
 Pr ogr am under st anding t ools (browsers,
The reverse engineering
process
Reverse engineering
 Rever se engineer ing of t en pr ecedes re-
engineer ing but is somet imes wort hwhile
in it s own right
 The design and specif icat ion of a syst em
may be reverse engineered so t hat t hey can
be an input t o t he requirement s
specif icat ion process f or t he syst em’s
replacement
Key points
 The obj ect ive of re-engineering is t o improve t he
syst em st ruct ure t o make it easier t o underst and and
maint ain
 The re-engineering process involves source code
t ranslat ion, reverse engineering, program st ruct ure
improvement , program modularisat ion and dat a re-
engineering
 Source code t ranslat ion is t he aut omat ic conversion of
of program in one language t o anot her
Key points
 Reverse engineering is t he process of deriving t he
syst em design and specif icat ion f rom it s source code
 Program st ruct ure improvement replaces unst ruct ured
cont rol const ruct s wit h while loops and simple
condit ionals
 Program modularisat ion involves reorganisat ion t o group
relat ed it ems
 Dat a re-engineering may be necessary because of
inconsist ent dat a management
Software Re-engineering Forward & Reverse Engineering

More Related Content

What's hot

Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptxubaidullah75790
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringAbdul Wahid
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1Mohammed Romi
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Software review
Software reviewSoftware review
Software reviewamjad_09
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Software quality
Software qualitySoftware quality
Software qualityjagadeesan
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleA Subbiah
 

What's hot (20)

Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
software re-engineering
software re-engineeringsoftware re-engineering
software re-engineering
 
Legacy system.
Legacy system.Legacy system.
Legacy system.
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software review
Software reviewSoftware review
Software review
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Software quality
Software qualitySoftware quality
Software quality
 
unit testing and debugging
unit testing and debuggingunit testing and debugging
unit testing and debugging
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 

Similar to Software Re-engineering Forward & Reverse Engineering

Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28koolkampus
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptxAmanGaur57
 
Software reengineering.pptx
Software reengineering.pptxSoftware reengineering.pptx
Software reengineering.pptxAmanGaur57
 
Software reengineering.pptx
Software reengineering.pptxSoftware reengineering.pptx
Software reengineering.pptxAmanGaur57
 
SWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewghayour abbas
 
Software Re-Engineering
Software Re-Engineering Software Re-Engineering
Software Re-Engineering ssuser36024b1
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenanceAnsh Kapoor
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringSelf-employed
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed descriptionSaileshSingh27
 
Lect 1- software engineering
Lect 1- software engineeringLect 1- software engineering
Lect 1- software engineeringShraddha Shirsat
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notesGarima Singh
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3koolkampus
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software ProcessJomel Penalba
 

Similar to Software Re-engineering Forward & Reverse Engineering (20)

Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Software reengineering.pptx
Software reengineering.pptxSoftware reengineering.pptx
Software reengineering.pptx
 
Software reengineering.pptx
Software reengineering.pptxSoftware reengineering.pptx
Software reengineering.pptx
 
SWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overview
 
Software Re-Engineering
Software Re-Engineering Software Re-Engineering
Software Re-Engineering
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
 
Ch21
Ch21Ch21
Ch21
 
Lect 1- software engineering
Lect 1- software engineeringLect 1- software engineering
Lect 1- software engineering
 
Sw Maintenance.ppt
Sw Maintenance.pptSw Maintenance.ppt
Sw Maintenance.ppt
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
Software process
Software processSoftware process
Software process
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Soft Eng - Software Process
Soft  Eng - Software ProcessSoft  Eng - Software Process
Soft Eng - Software Process
 
Ch4
Ch4Ch4
Ch4
 
Ch4
Ch4Ch4
Ch4
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

Software Re-engineering Forward & Reverse Engineering

  • 1.
  • 2. Group Members  Ali Raza Saleem  Haf iz Abdul Rehman  Mobeen-ur-Rehman  Asad Mirza
  • 3. Source code translation Reverse Engineering Software Re- engineering
  • 4. Software re-engineering  Reor ganising and modif ying exist ing sof t war e syst ems t o make t hem more maint ainable
  • 5. Topics covered  Source code t ranslat ion  Reverse engineering
  • 6. System re-engineering  Re-st ruct ur ing or r e-writ ing par t or all of a legacy syst em wit hout changing it s f unct ionalit y  Applicable wher e some but not all sub-syst ems of a lar ger syst em r equire f r equent maint enance  Re-engineering involves adding ef f ort t o make t hem easier t o maint ain. The syst em
  • 7. When to re-engineer  When syst em changes are most ly rest r ict ed t o par t of t he syst em t hen r e-engineer t hat par t  When har dware or sof t war e suppor t becomes out -dat ed
  • 8. Re-engineering advantages  Reduced risk  There is a high r isk in new sof t ware development . Ther e may be development problems, st af f ing pr oblems and specif icat ion problems  Reduced cost  The cost of re-engineering is of t en
  • 9. Business process re- engineering  Concerned wit h r e-designing business pr ocesses t o make t hem mor e responsive and mor e ef f icient  Of t en r eliant on t he int roduct ion of new comput er syst ems t o suppor t t he revised pr ocesses  May f or ce sof t war e r e-engineering as
  • 10. Forward engineering and re- engineering
  • 12. Re-engineering cost factors  The qualit y of t he sof t war e t o be r e- engineer ed  The t ool support available f or r e- engineer ing  The ext ent of t he dat a conver sion which is r equir ed
  • 14. Source code translation  I nvolves conver t ing t he code f r om one language (or language version) t o anot her e.g. FORTRAN t o C  May be necessary because of :  Hardware plat f orm updat e  St af f skill short ages  Organisat ional policy changes
  • 16. Reverse engineering  Analysing sof t war e wit h a view t o under st anding it s design and specif icat ion  May be part of a re-engineer ing process but may also be used t o re-specif y a syst em f or re-implement at ion  Pr ogr am under st anding t ools (browsers,
  • 18. Reverse engineering  Rever se engineer ing of t en pr ecedes re- engineer ing but is somet imes wort hwhile in it s own right  The design and specif icat ion of a syst em may be reverse engineered so t hat t hey can be an input t o t he requirement s specif icat ion process f or t he syst em’s replacement
  • 19. Key points  The obj ect ive of re-engineering is t o improve t he syst em st ruct ure t o make it easier t o underst and and maint ain  The re-engineering process involves source code t ranslat ion, reverse engineering, program st ruct ure improvement , program modularisat ion and dat a re- engineering  Source code t ranslat ion is t he aut omat ic conversion of of program in one language t o anot her
  • 20. Key points  Reverse engineering is t he process of deriving t he syst em design and specif icat ion f rom it s source code  Program st ruct ure improvement replaces unst ruct ured cont rol const ruct s wit h while loops and simple condit ionals  Program modularisat ion involves reorganisat ion t o group relat ed it ems  Dat a re-engineering may be necessary because of inconsist ent dat a management