CSE503: Software Engineering

Software evolution

A legacy

Change

Why does it change?

Kinds of change

High cost, long time

Total life cycle cost

Open question

High-level answer

Question: relationship of reuse to evolution?

(Common) Observations

Laws of Program Evolution
Program Evolution: Processes of Software Change
(Lehman & Belady)

Law of increasing complexity

Reprise

Statistically regular growth

And two others

Open question

Approaches to reducing cost

Approaches to reducing cost

Program understand & comprehension

Various strategies

Did you try to understand?

A scenario

A view of maintenance

Sample (simple) task