21.01.2022 Views

Sommerville-Software-Engineering-10ed

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

9.1 ■ Evolution processes 259

Change identification

process

New system

Change proposals

Figure 9.3 Change

identification and

evolution processes

Software evolution

process

Figure 9.4 A general

model of the software

evolution process

components are included in each system release. I discuss change and configuration

management in Chapter 25.

Figure 9.4 shows some of the activities involved in software evolution. The process

includes the fundamental activities of change analysis, release planning, system

implementation, and releasing a system to customers. The cost and impact of these

changes are assessed to see how much of the system is affected by the change and

how much it might cost to implement the change.

If the proposed changes are accepted, a new release of the system is planned.

During release planning, all proposed changes (fault repair, adaptation, and new

functionality) are considered. A decision is then made on which changes to implement

in the next version of the system. The changes are implemented and validated,

and a new version of the system is released. The process then iterates with a new set

of changes proposed for the next release.

In situations where development and evolution are integrated, change implementation

is simply an iteration of the development process. Revisions to the system are

designed, implemented, and tested. The only difference between initial development

and evolution is that customer feedback after delivery has to be considered when

planning new releases of an application.

Where different teams are involved, a critical difference between development and

evolution is that the first stage of change implementation requires program understanding.

Change

requests

Impact

analysis

Release

planning

Change

implementation

System

release

Fault repair

Platform

adaptation

System

enhancement

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!