Software evolution l Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing.

Slides:



Advertisements
Similar presentations
Chapter 27 Software Change.
Advertisements

Chapter 11 Software Evolution
Quality Management. What is a software product? Software product = computer programs (sources and executable) + associated documentation Software products.
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
Introduction to Software Evolution and Maintenance
Software Evolution Managing the processes of software system change
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Ch2: Software: Its Nature and Qualities. 1 Introduction  Difference between a software and other engineering products.  Difference between software.
PVK-HT061 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Software Maintenance.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software evolution.
Software evolution.
Software maintenance Managing the processes of system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Chapter 9 – Software Evolution and Maintenance
Lecture # 22 Software Evolution
11/09/2015Dr Andy Brooks1 MSc Software Maintenance MS Viðhald hugbúnaðar Fyrirlestrar 1 & 2 The SWEBOK Chapter on Software Maintenance © IEEE
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Software change  Managing the processes of software system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Software Engineering Lecture 20 Software Maintenance.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution CS 425 November 12, 2013 Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,

Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Chapter 11 Maintaining the System System evolution Legacy systems Software rejuvenation.
SOFTWARE MAINTENANCE 1. TOPICS TO BE DISCUSSED.. Definition of Maintenance Software Maintenance Types of Maintenance Maintenance Process Need of Maintenance.
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
1 Ontology Summit 2011 Track 3 Value Metrics & Value Models Ontology Use - Maintenance Todd Schneider Raytheon 17 February 2011.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Chapter 9 – Software Evolution Chapter 9 Software Evolution1.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 2.
Chapter 9 – Software Evolution Chapter 9 Software Evolution130/10/2014.
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Chapter 5 – Software Testing & Maintenance (Evolution) 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software change Software change is inevitable –New requirements emerge when the software is used –The business environment changes –Errors must be repaired.
CS223: Software Engineering Lecture 32: Software Maintenance.
1 / 14 CS 425/625 Software Engineering Software Change Based on Chapter 27 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVI. Software Evolution.
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Software Configuration Management
Overview Software Maintenance and Evolution Definitions
Maintenance Issues in Software Engineering
Chapter 18 Maintaining Information Systems
Introduction to Software Evolution and Maintenance
Chapter 9 – Software Evolution
Software Engineering (CSI 321)
Chapter 9 – Software Evolution
CS 425/625 Software Engineering Software Evolution
Software Testing and Maintenance Maintenance and Evolution Overview
Chapter 9 – Software Evolution and Maintenance
Chapter 27 Software Change.
CS310 Software Engineering Dr.Doaa Sami Khafaga
Chapter 8 Software Evolution.
Lecture 06:Software Maintenance
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Presentation transcript:

Software evolution l Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing software initially, then repeatedly updating it for various reasons.

Software Evolution2 Importance of evolution l Organizations have huge investments in their software systems - they are critical business assets. l To maintain the value of these assets to the business, they must be changed and updated. l The majority of the software budget in large companies is devoted to evolving existing software rather than developing new software. l Studies indicate that up to 75% of all software professionals are involved in some form of maintenance/evolution activity.

Software Evolution3 Software change l 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. l A key problem for organizations is implementing and managing change to their existing software systems.

Software Evolution4 l Repair software faults Changing a system to correct deficiencies in the way meets its requirements. l Adapt software to a different operating environment Changing a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation. l Add to or modify the system’s functionality Modifying the system to satisfy new requirements. l Improve the program structure and system performance Rewriting all or parts of the system to make it more efficient and maintainable. Types of changes

Software Evolution5 Software evolution and software maintenance l No standard definitions. l Broad definition of evolution: Generally, software evolution refers to the study and management of the process of making changes to software over time. In this definition, software evolution comprises: Development activities Maintenance activities Reengineering activities l Narrow definition of evolution: Sometimes, software evolution is used to refer to the activity of adding new functionality to existing software. l Maintenance refers to the activity of modifying software after it has been put to use in order to maintain its usefulness.

Software Evolution6 l Repair software faults Changing a system to correct deficiencies in the way meets its requirements. l Adapt software to a different operating environment Changing a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation. l Add to or modify the system’s functionality Modifying the system to satisfy new requirements. l Improve the program structure and system performance Rewriting all or parts of the system to make it more efficient and maintainable. Types of changes “Maintenance” “Evolution” “Reengineering”

Software Evolution7 Evolution processes l Processes for evolving a software product depend on The type of software being maintained; The development processes used; The skills and experience of the people involved. l Proposals for change are the drivers for system evolution. Change identification and evolution continue throughout the system lifetime. Sommerville, Ch. 21

Software Evolution8 Change identification and evolution Sommerville, Ch. 21

Software Evolution9 The system evolution process Release planning Change implementation System release Impact analysis Change requests Platform adaptation System enhancement Fault repair Sommerville, Ch. 21

Typess of maintenance l Corrective maintenance: Reactive modification of a software product performed after delivery to correct discovered problems. l Adaptive maintenance: Modification of a software product performed after delivery to keep a software product usable in a changed or changing environment; Software Evolution10

Cont………….. l Perfective maintenance: Modification of a software product after delivery to improve performance or maintainability. l Preventive maintenance: Modification of a software product after delivery to detect and correct latent faults in the software product before they become effective faults. Software Evolution11