Chapter 9 – Software evolution. The objectives of this chapter are to explain why software evolution is an important part of software engineering and to describe software evolution processes. When you have read this chapter, you will: understand that change is inevitable if software systems are to remain useful and that software development and evolution may be integrated in a spiral model; understand software evolution processes and influences on these processes. | Chapter 9 – Software Evolution Lecture 1 1 Chapter 9 Software evolution Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes to operational software systems Legacy system management Making decisions about software change 2 Chapter 9 Software evolution Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers and equipment is added to the system; The performance or reliability of the system may have to be improved. A key problem for all organizations is implementing and managing change to their existing software systems. 3 Chapter 9 Software evolution Importance of evolution Organisations have huge investments in their software systems - they are critical business assets. To maintain the value of these assets to the business, they must be changed and updated. . | Chapter 9 – Software Evolution Lecture 1 1 Chapter 9 Software evolution Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes to operational software systems Legacy system management Making decisions about software change 2 Chapter 9 Software evolution Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers and equipment is added to the system; The performance or reliability of the system may have to be improved. A key problem for all organizations is implementing and managing change to their existing software systems. 3 Chapter 9 Software evolution Importance of evolution Organisations have huge investments in their software systems - they are critical business assets. To maintain the value of these assets to the business, they must be changed and updated. The majority of the software budget in large companies is devoted to changing and evolving existing software rather than developing new software. 4 Chapter 9 Software evolution A spiral model of development and evolution 5 Chapter 9 Software evolution Evolution and servicing 6 Chapter 9 Software evolution Evolution and servicing Evolution The stage in a software system’s life cycle where it is in operational use and is evolving as new requirements are proposed and implemented in the system. Servicing At this stage, the software remains useful but the only changes made are those required to keep it operational . bug fixes and changes to reflect changes in the software’s environment. No new functionality is added. Phase-out The software may still be used but no further changes are made to it. 7 Chapter 9 Software evolution Evolution processes Software evolution processes depend on The type of software being maintained; The development processes used; The skills and experience of the .