©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 1
Software evolution 2
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 2
Evolution processes
 Evolution processes depend on
• The type of software being maintained;
• The development processes used;
• The skills and experience of the people
involved.
 Proposals for change are the driver for
system evolution. Change identification and
evolution continue throughout the system
lifetime.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 3
Change identification and evolution
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 4
The system evolution process
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 5
Change implementation
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 6
Urgent change requests
 Urgent changes may have to be
implemented without going through all
stages of the software engineering process
• If a serious system fault has to be repaired;
• If changes to the system’s environment (e.g. an
OS upgrade) have unexpected effects;
• If there are business changes that require a
very rapid response (e.g. the release of a
competing product).
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 7
System re-engineering
 Re-structuring or re-writing part or all of a
legacy system without changing its
functionality.
 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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 8
Advantages of reengineering
 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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 9
Forward and re-engineering
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 10
The re-engineering process
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 11
Reengineering process activities
 Source code translation
• Convert code to a new language.
 Reverse engineering
• Analyse the program to understand it;
 Program structure improvement
• Restructure automatically for understandability;
 Program modularisation
• Reorganise the program structure;
 Data reengineering
• Clean-up and restructure system data.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 12
Re-engineering approaches
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 13
Reengineering cost factors
 The quality of the software to be
reengineered.
 The tool support available for reengineering.
 The extent of the data conversion which is
required.
 The availability of expert staff for
reengineering.
• This can be a problem with old systems based
on technology that is no longer widely used.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 14
Legacy system evolution
 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.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 15
System quality and business value
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 16
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 or
replaced if a suitable system is available.
 High-quality, low-business value
• Replace with COTS, scrap completely or maintain.
 High-quality, high business value
• Continue in operation using normal system maintenance.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 17
Business value assessment
 Assessment should take different viewpoints
into account
• System end-users;
• Business customers;
• Line managers;
• IT managers;
• Senior managers.
 Interview different stakeholders and collate
results.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 18
System quality assessment
 Business process assessment
• How well does the business process support
the current goals of the business?
 Environment assessment
• How effective is the system’s environment and
how expensive is it to maintain?
 Application assessment
• What is the quality of the application software
system?
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 19
Business process assessment
 Use a viewpoint-oriented approach and seek
answers from system stakeholders
• Is there a defined process model and is it followed?
• Do different parts of the organisation use different
processes for the same function?
• How has the process been adapted?
• What are the relationships with other business processes
and are these necessary?
• Is the process effectively supported by the legacy
application software?
 Example - a travel ordering system may have a low
business value because of the widespread use of
web-based ordering.
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 20
Environment assessment 1
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 21
Environment assessment 2
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 22
Application assessment 1
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 23
Application assessment 2
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 24
Key points
 The process of evolution is driven by requests
for changes from system stakeholders.
 Software re-engineering is concerned with re-
structuring and re-documenting software to
make it easier to change.
 The business value of a legacy system and its
quality should determine the evolution strategy
that is used.

More Related Content

PPTX
Software Evolution
PPT
PPT
Legacy system.
PPT
Bse 3105 lecture 5-evolution of legacy systems
PPT
Software Re-Engineering
PPT
Introduction to Software Enigneering
PPT
Software Processes
PPTX
Reengineering pros and cons
Software Evolution
Legacy system.
Bse 3105 lecture 5-evolution of legacy systems
Software Re-Engineering
Introduction to Software Enigneering
Software Processes
Reengineering pros and cons

Similar to Evolution-2.ppt (20)

PDF
Software Engineering - Ch4
PPTX
SE - Lecture 13 - Software Evolution and Tech Trends.pptx
PDF
PDF
Software Engineering - Ch1
PPT
Introduction_ to _Software _Engineering_
PPT
ch1-An Introduction to Software Engineering.ppt
PPTX
Ch9 - Evolution
PPT
Software Evolution_Se lect3 btech
PPTX
PPTX
0273710133 pp01v2
PPT
LEGACY SYSTEM In Software Engineering By NADEEM AHMED
PPT
SE2013_10.ppt
PPTX
Lec16,17_Software Construction & development.pptx
PPT
Bse 3105 lecture 2- software change
PPT
Bse 3105 lecture 2- software change
PDF
Lecture 12 Software Engineering Evolution
PPTX
01 - Introduction to software engineering.pptx
PPT
Ch21
PPTX
SOFTWARE RE ENGINEERING Week No. 2 (1).pptx
PDF
01 unidad i introduccion
Software Engineering - Ch4
SE - Lecture 13 - Software Evolution and Tech Trends.pptx
Software Engineering - Ch1
Introduction_ to _Software _Engineering_
ch1-An Introduction to Software Engineering.ppt
Ch9 - Evolution
Software Evolution_Se lect3 btech
0273710133 pp01v2
LEGACY SYSTEM In Software Engineering By NADEEM AHMED
SE2013_10.ppt
Lec16,17_Software Construction & development.pptx
Bse 3105 lecture 2- software change
Bse 3105 lecture 2- software change
Lecture 12 Software Engineering Evolution
01 - Introduction to software engineering.pptx
Ch21
SOFTWARE RE ENGINEERING Week No. 2 (1).pptx
01 unidad i introduccion
Ad

Recently uploaded (20)

PDF
20A LG INR18650HJ2 3.6V 2900mAh Battery cells for Power Tools Vacuum Cleaner
PDF
PakistanCoinageAct-906.pdfdbnsshsjjsbsbb
PDF
Printing Presentation to show beginners.
PPTX
AI_ML_Internship_WReport_Template_v2.pptx
PPTX
ELETRONIC-PRODUCTS-ASSEMBLY-AND-SERVICING-NC-II-WEEK-1-Copy.pptx
PDF
2_STM32&SecureElements2_STM32&SecureElements
PPTX
Group 4 [BSIT-1C] Computer Network (1).pptx
PPTX
Growth Capital Investment - Espresso Capital.pptx
PDF
ICT grade for 8. MATATAG curriculum .P2.pdf
PPTX
Chapter no 8 output devices dpart 2.pptx
PDF
Topic-1-Main-Features-of-Data-Processing.pdf
PPTX
Pin configuration and project related to
DOCX
Copy-OT LIST 12.8.25.docxjdjfufufufufuuffuf
PPTX
vortex flow measurement in instrumentation
PDF
SAHIL PROdhdjejss yo yo pdf TOCOL PPT.pdf
PPTX
Computer Hardware - Technology and Livelihood Education
PPTX
RTS MASTER DECK_Household Convergence Scorecards. Use this file copy.pptx
PDF
Tcl Scripting for EDA.pdf
PDF
Dozuki_Solution-hardware minimalization.
PDF
ISS2022 present sdabhsa hsdhdfahasda ssdsd
20A LG INR18650HJ2 3.6V 2900mAh Battery cells for Power Tools Vacuum Cleaner
PakistanCoinageAct-906.pdfdbnsshsjjsbsbb
Printing Presentation to show beginners.
AI_ML_Internship_WReport_Template_v2.pptx
ELETRONIC-PRODUCTS-ASSEMBLY-AND-SERVICING-NC-II-WEEK-1-Copy.pptx
2_STM32&SecureElements2_STM32&SecureElements
Group 4 [BSIT-1C] Computer Network (1).pptx
Growth Capital Investment - Espresso Capital.pptx
ICT grade for 8. MATATAG curriculum .P2.pdf
Chapter no 8 output devices dpart 2.pptx
Topic-1-Main-Features-of-Data-Processing.pdf
Pin configuration and project related to
Copy-OT LIST 12.8.25.docxjdjfufufufufuuffuf
vortex flow measurement in instrumentation
SAHIL PROdhdjejss yo yo pdf TOCOL PPT.pdf
Computer Hardware - Technology and Livelihood Education
RTS MASTER DECK_Household Convergence Scorecards. Use this file copy.pptx
Tcl Scripting for EDA.pdf
Dozuki_Solution-hardware minimalization.
ISS2022 present sdabhsa hsdhdfahasda ssdsd
Ad

Evolution-2.ppt

  • 1. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 2
  • 2. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 2 Evolution processes  Evolution processes depend on • The type of software being maintained; • The development processes used; • The skills and experience of the people involved.  Proposals for change are the driver for system evolution. Change identification and evolution continue throughout the system lifetime.
  • 3. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 3 Change identification and evolution
  • 4. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 4 The system evolution process
  • 5. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 5 Change implementation
  • 6. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 6 Urgent change requests  Urgent changes may have to be implemented without going through all stages of the software engineering process • If a serious system fault has to be repaired; • If changes to the system’s environment (e.g. an OS upgrade) have unexpected effects; • If there are business changes that require a very rapid response (e.g. the release of a competing product).
  • 7. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 7 System re-engineering  Re-structuring or re-writing part or all of a legacy system without changing its functionality.  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.
  • 8. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 8 Advantages of reengineering  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.
  • 9. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 9 Forward and re-engineering
  • 10. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 10 The re-engineering process
  • 11. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 11 Reengineering process activities  Source code translation • Convert code to a new language.  Reverse engineering • Analyse the program to understand it;  Program structure improvement • Restructure automatically for understandability;  Program modularisation • Reorganise the program structure;  Data reengineering • Clean-up and restructure system data.
  • 12. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 12 Re-engineering approaches
  • 13. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 13 Reengineering cost factors  The quality of the software to be reengineered.  The tool support available for reengineering.  The extent of the data conversion which is required.  The availability of expert staff for reengineering. • This can be a problem with old systems based on technology that is no longer widely used.
  • 14. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 14 Legacy system evolution  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.
  • 15. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 15 System quality and business value
  • 16. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 16 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 or replaced if a suitable system is available.  High-quality, low-business value • Replace with COTS, scrap completely or maintain.  High-quality, high business value • Continue in operation using normal system maintenance.
  • 17. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 17 Business value assessment  Assessment should take different viewpoints into account • System end-users; • Business customers; • Line managers; • IT managers; • Senior managers.  Interview different stakeholders and collate results.
  • 18. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 18 System quality assessment  Business process assessment • How well does the business process support the current goals of the business?  Environment assessment • How effective is the system’s environment and how expensive is it to maintain?  Application assessment • What is the quality of the application software system?
  • 19. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 19 Business process assessment  Use a viewpoint-oriented approach and seek answers from system stakeholders • Is there a defined process model and is it followed? • Do different parts of the organisation use different processes for the same function? • How has the process been adapted? • What are the relationships with other business processes and are these necessary? • Is the process effectively supported by the legacy application software?  Example - a travel ordering system may have a low business value because of the widespread use of web-based ordering.
  • 20. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 20 Environment assessment 1
  • 21. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 21 Environment assessment 2
  • 22. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 22 Application assessment 1
  • 23. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 23 Application assessment 2
  • 24. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 21 Slide 24 Key points  The process of evolution is driven by requests for changes from system stakeholders.  Software re-engineering is concerned with re- structuring and re-documenting software to make it easier to change.  The business value of a legacy system and its quality should determine the evolution strategy that is used.