10
Mohammad Hanif Hefaz Ghazni University * Software Aging

Software aging

Embed Size (px)

Citation preview

Mohammad Hanif Hefaz

Ghazni University

*Software Aging

Ageing means to get old.Programs, like people, get old.In software engineering, software ageing refers to progressive performance degradation or the state of the software degrades with time.

* What is Software Ageing?

Software is a mathematical product;mathematics doesn’t decay with time. If a theorem was correct 200 years ago, it will be correct tomorrow. If a program is correct today, it will be correct 100 years from now. If it is wrong 100 years from now, it must have been wrong when it was written. It makes no sense to talk about software aging.

*Scientists Opinions

There are two, quite distinct, types of software aging. Lack of Movement: The first is caused by the failure of the product’s owners to modify it to meet changing needs; Ignorant Surgery: The second is the result of the changes that are made.

*What causes S.A?

Unless software is frequently updated, its user’s will become dissatisfied and change to a new product.Excellent software developed in the

60’s would work perfectly well today, but nobody would use it.

That software has aged even though nobody has touched it.

Actually, it has aged because nobody bothered to touch it.

*Lack of Movement

One must upgrade software to prevent aging.

Changing software can cause aging too.

Changes are made by people who do not understand the software.

Changes take longer and introduce new bugs.

Inconsistent and inaccurate documentation makes changing the software harder to do.

*Ignorant Surgery

Dynamic failure of the environmentTechnology challenges (Hardware and Software) Competition Business compatibility & stability Requirement evolution High cost Degrading quality Increasing complexity

*Other S.A Factors

Design for successKeep records (documentation)Seek second opinions (reviews)

*Preventive Medicine

i. A new life style• Imposing standards

ii.Planning for change • Analyze the future changes• Designate a distinct department

iii.No document ? nothing done• Documentation done after shipping the

product is usually inaccurate

*Planning ahead

Corrective Perfective Adaptive Restructuring (All versions in one) Redesign Realignment Redeployment

*Preventing Actions