Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems.

Slides:



Advertisements
Similar presentations
Chapter 27 Software Change.
Advertisements

Chapter 27 Software Change.
Chapter 11 Software Evolution
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,
Software Evolution Managing the processes of software system change
© 2005 by Prentice Hall Chapter 5 Maintaining Information Systems Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
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.
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
System Analysis and Design
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Lecture 3 Managing the Development Project SFDV Principles of Information Systems.
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.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 18 Maintaining.
Software evolution l Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
©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.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Chapter 2: Software Maintenance Omar Meqdadi SE 3860 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
©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.
Software Maintenance1 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.
Overview Software Maintenance and Evolution Definitions
Chapter 18 Maintaining Information Systems
Chapter 9 – Software Evolution
Chapter 18 Maintaining Information Systems
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.
Chapter 9 – Software Evolution
Chapter 8 Software Evolution.
Lecture 06:Software Maintenance
Chapter 9 – Software Evolution
Re- engineeniering.
Chapter 9 – Software Evolution
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Chapter 18 Maintaining Information Systems
Presentation transcript:

Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems

2 Overview  Software change  Controlling the quality of software change after the software has been released  Controlling the quality of software change during the development of software  Software aging and evolution  Understanding the continued need to develop software over time

3 Software aging and evolution Software maintenance Tools used to assist in project management SCM

4 Software Change  Why does software change?  Legacy systems (25+ years)  Defects  New or changed requirements  Different strategies for software change  Software maintenance - Changes made in response to changed requirements but fundamental same structure  Architectural transformation – significant changes to the architecture of the software system  Software re-engineering - No functionality is added to the system, Rather the system is modified to make it easier to understand and change

5  Support (Maintenance)  Objective  Keep system running productively after installation  Main activities 1. Maintain the system 2. Enhance the system 3. Support the users  Reasons for initiating this phase include  Changes in business processes  New requests from stakeholders, users, and managers  Bugs or errors in the program  Technical and hardware problems  Unexpected events

6 Software Maintenance “… general process of changing a system after it has been delivered.”  Changes 1. Simple changes to correct coding errors 2. More extensive changes to correct design errors 3. Significant enhancements to correct specification errors or accommodate new requirements  Types :  Corrective - to repair s/w faults (coding, design, requirement errors) [Sommerville, 2004]  Adaptive - to adapt the software to a different operating environment (operating, Hardware environment)  Perfective (add or modify system’s functionality)  Preventive - changes made to reduce the chance of future problems (future problem)

7 Cost of Maintenance  Factors for high maintenance costs  Team stability  Contractual responsibility  Staff skills  Program age and structure [Sommerville, 2004]

8 Managing Maintenance Personnel  Move to maintenance  Maintenance organisation structures  Separate Advantages: formal transfer of the systems between groups improves the system and documentation quality (documentation needs to be well written – other viewing it – other adding to it) Disadvantages: all things cannot be documented, so the maintenance group may not know critical information about the system.  Combined Advantages: maintenance group knows or has access to all assumptions and decisions behind the system’s original design Disadvantages: documentation and testing thoroughness may suffer due to a lack of a formal transfer of responsibility. YearProgram mers on New Programs Program mers on Maintena nce ,5001, ,00035, ,200,000800, ,000,0004,000, ,000,0006,000,000

9 Maintenance Process [Sommerville, 2004] 1.Change request Triggers the process (e.g. from user (feedback), management or client) 2.Impact analysis: Then the cost and impact of these changes are assessed: How much of the system is affected by the change How much it might cost to implement the change 3.Release planning If proposed changes are accepted then project planning next version Ideally at this stage the system specification, design and implementation to reflect the system changes are proposed, analysed and validated. 4.Change implementation System components are redesigned and implemented and the system re- tested. Throughout the Change implementation and system release - Requirement analysis - any other change emerge.

10 What is Software Aging?  Causes of Software Aging  Non adaptation  Change upon change  Size growth  Increased volume of data  Changes in the technical and contextual environment  Lack of knowledge or skills  Limited resources  Short-term focus

11 References  Sommerville, Software Engineering, 7 th Edition, Addison Wesley, 2004  Hoffer, et al., Modern System Analysis & Design, 3 rd Edition, Prentice Hall, 2002   Note:  Note: End of Assignment and start Practical Test 2 (10%)