0% found this document useful (0 votes)
15 views16 pages

Software Design and Architecture Week 4

Software change is inevitable as new requirements emerge, business environments change, errors must be repaired, and new equipment is added. Most large companies spend more on maintaining existing systems than developing new ones. As organizations have huge investments in software systems, which are critical business assets, the systems must be changed and updated. A spiral model of development and evolution is used, where evolution involves implementing new requirements and servicing involves fixes to keep systems operational. Change identification and implementation are iterative processes that occur throughout a system's lifetime. Agile methods treat evolution as a continuation of incremental development through frequent releases.

Uploaded by

Laiba Riaz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views16 pages

Software Design and Architecture Week 4

Software change is inevitable as new requirements emerge, business environments change, errors must be repaired, and new equipment is added. Most large companies spend more on maintaining existing systems than developing new ones. As organizations have huge investments in software systems, which are critical business assets, the systems must be changed and updated. A spiral model of development and evolution is used, where evolution involves implementing new requirements and servicing involves fixes to keep systems operational. Change identification and implementation are iterative processes that occur throughout a system's lifetime. Agile methods treat evolution as a continuation of incremental development through frequent releases.

Uploaded by

Laiba Riaz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

1

SE311-Software Construction and


development

Week 4
Instructor: Ali Haider
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.

Lahore Garrison University


3
Importance of evolution

► Most large companies spend more on maintaining existing systems than on new systems development.
Based on an informal industry poll, Erlikh (2000) suggests that 85–90% of organizational software costs
are evolution costs.
► Other surveys suggest that about two-thirds of software costs are evolution costs.

► Organizations 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.

Lahore Garrison University


4
A spiral model of development and evolution

Lahore Garrison University


5
Evolution and servicing

Lahore Garrison University


6
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 i.e. 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.

Lahore Garrison University


7
Evolution processes

► Software 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.
► Should be linked with components that are affected by the change, thus allowing the cost and
impact of the change to be estimated.
► Change identification and evolution continues throughout the system lifetime.

Lahore Garrison University


8
Change identification and evolution processes

Lahore Garrison University


11
The software evolution process

Lahore Garrison University


12
Change implementation

Lahore Garrison University


13
Change implementation

► Iteration of the development process where the revisions to the system are designed,
implemented and tested.
► A critical difference is that the first stage of change implementation may involve
program understanding, especially if the original system developers are not
responsible for the change implementation.
► During the program understanding phase, you have to understand how the program is
structured, how it delivers functionality and how the proposed change might affect the
program.

Lahore Garrison University


14
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 to allow normal operation to continue;
► 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).

Lahore Garrison University


15
The emergency repair process

Lahore Garrison University


16
Agile methods and evolution

► Agile methods are based on incremental development so the transition from development
to evolution is a seamless one.
► Evolution is simply a continuation of the development process based on frequent system
releases.
► Automated regression testing is particularly valuable when changes are made to a
system.
►Changes may be expressed as additional user stories.

Lahore Garrison University


17
Handover problems

► Where the development team have used an agile approach but the evolution
team is unfamiliar with agile methods and prefer a plan-based approach.
► The evolution team may expect detailed documentation to support evolution and this is not
produced in agile processes.
► Where a plan-based approach has been used for development but the evolution
team prefer to use agile methods.
► The evolution team may have to start from scratch developing automated tests and
the code in the system may not have been refactored and simplified as is expected in
agile development.

Lahore Garrison University


16
Reference

► Software Engineering 10th Edition by Somerville chapter 9 “Software Evolution”

Lahore Garrison University

You might also like