0% found this document useful (0 votes)
71 views17 pages

Presentation of Software Engineering: Presented BY: Bisma Hidayat, Nimra Saeed

This document presents information about software engineering and software evolution. It discusses how software evolves through principles of software engineering to satisfy customers. It highlights that organizations invest heavily in software systems, which must change and update to maintain business value. The objectives of software evolution are reliability, flexibility and ensuring functionality. Evolution processes depend on factors like the software type and development processes used. Changes are proposed and identified throughout the software lifecycle. The document also discusses agile methods, Lehman's laws of software evolution, and different types of software evolution.

Uploaded by

Status Life
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)
71 views17 pages

Presentation of Software Engineering: Presented BY: Bisma Hidayat, Nimra Saeed

This document presents information about software engineering and software evolution. It discusses how software evolves through principles of software engineering to satisfy customers. It highlights that organizations invest heavily in software systems, which must change and update to maintain business value. The objectives of software evolution are reliability, flexibility and ensuring functionality. Evolution processes depend on factors like the software type and development processes used. Changes are proposed and identified throughout the software lifecycle. The document also discusses agile methods, Lehman's laws of software evolution, and different types of software evolution.

Uploaded by

Status Life
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/ 17

Presentation of Software Engineering

Presented BY: Bisma Hidayat, Nimra Saeed


Software Evolution
Software Evolution
• Process of developing a software using principles and methodology of
software engineering is termed as software Evolution.
• The satisfaction level of customer/client, all the changes, updates,
modifications, updates are under the software evolution.
Importance’s of evolution
➢ Organization's 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.
Objectives of software
evolution
The main objectives of software evolution are
• Reliability of the system
• Flexibility of the system
• Ensuring functional relevance
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.
Change identification and evolution
processes
The Software evolution process
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.
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
Software Evolution Laws

Lehman has given laws for software evolution. He divided


the software into three different categories:
➢ Static-type (S-Type)
➢ Practical-type (P-Type)
➢ Embedded-type (E-Type)
Lehman’s Law of software
evolution

According to Lehman's laws of software


evolution,
On the one side, the size and the complexity
of a software system will continually
increase in its life time; on the other side, the
quality of a software system will decrease.
Software evolution law’s
S Type: Static
It is the type of software evolution which works exactly according to the
requirements and specification, the chances of getting changes is very less
approximately null.
For Example: Calculation Software’s
P Type: Practical
IT is the type of software evolution which works on procedures and described
specifications, change might be needed ahead.
For Example: Gaming Software’s

E Type: Embedded
It is the type of software evolution which works on real world problems,
environments.
This software has a high degree of evolution as there are various changes in
laws, taxes etc.in real world situations.
For Example: Online Trading Software etc.
Lehman has given laws for E-Type software
evolution

Continuing change - An E-type software system must continue to adapt to the real
world changes, it becomes progressively less useful.
Increasing complexity - As an E-type software system evolves, its complexity tends to
increase unless work is done to maintain or reduce it.
Conservation of familiarity - The familiarity with the software or the knowledge about
how it was developed, why was it developed in that particular manner etc. must be
retained at any cost, to implement the changes in the system.
Continuing growth- An E-type system intended to resolve some business problem, its
size of implementing the changes grows according to the lifestyle changes of the
business.
Feedback systems- The E-type software systems constitute, multi-level
feedback systems and must be treated as such to be successfully
modified or improved.
Thank You

You might also like