Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Lecture 2, Lecture notes of Information and Computer Technology

slide - slide

Typology: Lecture notes

2014/2015
On special offer
30 Points
Discount

Limited-time offer


Uploaded on 09/19/2015

eric_twum
eric_twum 🇬🇧

2 documents

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SOFTWARE
ENGEENERING
SOFTWARE EVOLUTION
By: Mr. Eric Okyere Twum
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
Discount

On special offer

Partial preview of the text

Download Lecture 2 and more Lecture notes Information and Computer Technology in PDF only on Docsity!

SOFTWARE

ENGEENERING

SOFTWARE EVOLUTION

Definition

Software Evolution i s the process of developing a software product using software engineering principles and methods Software evolution refer to the process of developing software initially, then repeatedly updating it for various reasons.

Software Evolution Laws

Lehman has given laws for software evolution. He divided the software into three different categories:

  • (^) Static-type (S-type)
    • (^) This is a system, which works strictly according to defined specifications and solutions
    • (^) These are simple systems are generally not subject to evolution
    • (^) Example, calculator program,

Cont.

  • (^) Practical-type (P-type)
    • (^) The p-type software have their requirements defined precisely and formally,
    • (^) But its intended solution is not immediately ostensible
    • (^) and its acceptability is dependent on the environment in which the program is being used
    • (^) P-type programs are iteratively developed in order to improve their effectiveness.
    • (^) Example, gaming software
  • (^) Embedded-type (E-type)
    • (^) This software works closely as the requirement of real-world environment
    • (^) This software has a high degree of evolution as there are various changes in laws, taxes etc.
    • (^) Example, Online trading software

Cont.

  • (^) Organizational stability
    • (^) Over a program’s lifetime, its rate of development is approximately constant and independent of the resources devoted to system development.
  • (^) Conservation of familiarity
    • (^) Over the lifetime of a system, the incremental change in each release is approximately constant.
  • (^) Continuing growth
    • (^) The functionality offered by systems has to continually increase to maintain user satisfaction.

Cont.

  • (^) Declining quality
    • (^) The quality of systems will appear to be declining unless it is rigorously maintained and adapted to operational environment changes
  • (^) Feedback system
    • (^) Evolution processes incorporate multi-agent, multi-loop feedback systems and must be treated to achieve significant product improvement.

Software Development Paradigm

  • (^) This is also known as software engineering paradigms; where all the engineering concepts pertaining to the development of software are applied.
  • (^) This phase consist of:-
    • (^) Requirement gathering
    • (^) Software design
    • (^) Programming

Software Design Paradigm This paradigm is a part of Software Development and includes –

  • (^) Design
  • (^) Maintenance
  • (^) Programming Programming Paradigm This paradigm is related closely to programming aspect of software development. This includes –
  • (^) Coding
  • (^) Testing
  • (^) Integration

Change identification and evolution

Software Evolution Process

Importance of evolution

  • (^) Organisations 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 evolving existing
  • (^) software rather than developing new software.

Key points

  • (^) Software development and evolution should be a single iterative process.
  • (^) Lehman’s Laws describe a number of insights into system evolution.
  • (^) The process of evolution is driven by requests for changes from system stakeholders.
  • (^) The business value of a legacy system and its quality should determine the evolution strategy that is used.

THANK YOU