Unit-9
Unit-9
1
Contents:
q Evolution Process;
q Legacy Systems;
q Software Maintenance;
2
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Unit 9:
Software Evolution
There are many reasons why 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
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Unit 9:
Software Evolution
• 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.
• A Spiral model of development and evolution represents
how a software system evolves through a sequence of
multiple releases.
4
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Unit 9:
Software Evolution
Proposals for change are the driver for system evolution. These
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.
6
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Evolution processes
7
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Evolution processes
9
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Program evolution dynamics
11
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Program evolution dynamics
Law Description
A program that is used in a real-world environment must
Continuing
necessarily change, or else become progressively less
change
useful in that environment.
As an evolving program changes, its structure tends to
Increasing
become more complex. Extra resources must be devoted
complexity
to preserving and simplifying the structure.
Program evolution is a self-regulating process. System
Large program attributes such as size, time between releases, and the
evolution number of reported errors is approximately invariant for
each system release.
Over a program's lifetime, its rate of development is
Organizational
approximately constant and independent of the resources
12 stability
devoted to system development.
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Program evolution dynamics
Law Description
Conservation Over the lifetime of a system, the incremental change
of familiarity in each release is approximately constant.
Continuing The functionality offered by systems has to continually
growth increase to maintain user satisfaction.
The quality of systems will decline unless they are
Declining
modified to reflect changes in their operational
quality
environment.
Evolution processes incorporate multi agent, multi loop
Feedback feedback systems and you have to treat them as
system feedback systems to achieve significant product
improvement.
13
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Software maintenance
14
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Software maintenance
15
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Software maintenance
16
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Software maintenance
17
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Software maintenance
21
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Software Refactoring
23
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Software Refactoring
25
Compiled by : Madan Nath (B.Sc. CSIT, TU)
Legacy system management
27
Compiled by : Madan Nath (B.Sc. CSIT, TU)
~ END ~
28
Compiled by : Madan Nath (B.Sc. CSIT, TU)