tailieunhanh - Lecture Software engineering (7/e): Chapter 21 – Ian Sommerville
Chapter 21 - Software evolution. In this chapter, the learning objectives are: To explain why change is inevitable if software systems are to remain useful, to discuss software maintenance and maintenance cost factors, to describe the processes involved in software evolution, to discuss an approach to assessing evolution strategies for legacy systems. | Software evolution Objectives To explain why change is inevitable if software systems are to remain useful To discuss software maintenance and maintenance cost factors To describe the processes involved in software evolution To discuss an approach to assessing evolution strategies for legacy systems Topics covered Program evolution dynamics Software maintenance Evolution processes Legacy system 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 organisations is implementing and managing change to their existing software systems. 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 . | Software evolution Objectives To explain why change is inevitable if software systems are to remain useful To discuss software maintenance and maintenance cost factors To describe the processes involved in software evolution To discuss an approach to assessing evolution strategies for legacy systems Topics covered Program evolution dynamics Software maintenance Evolution processes Legacy system 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 organisations is implementing and managing change to their existing software systems. 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 evolving existing software rather than developing new software. Spiral model of evolution Program evolution dynamics is the study of the processes of system change. After major empirical studies, Lehman and Belady proposed that there were a number of ‘laws’ which applied to all systems as they evolved. There are sensible observations rather than laws. They are applicable to large systems developed by large organisations. Perhaps less applicable in other cases. Program evolution dynamics Lehman’s laws Applicability of Lehman’s laws Lehman’s laws seem to be generally applicable to large, tailored systems developed by large organisations. Confirmed in more recent work by Lehman on the FEAST project (see further reading on book website). It is not clear how they should be modified for Shrink-wrapped software products; Systems that incorporate a significant number of COTS components; Small organisations; Medium sized .
đang nạp các trang xem trước