Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 20 Systems Operations and Support.
Unit 1, Lesson 4 Software Development Cycle AOIT Introduction to Programming Copyright © 2009–2012 National Academy Foundation. All rights reserved.
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
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 Configuration Management
Chapter 10 Systems Operation, Support, and Security
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.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
CHAPTER 19 Building Software.
Data Structures and Programming.  John Edgar2.
Chapter 9 – Software Evolution and Maintenance
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
CSCI ClearQuest 1 Rational ClearQuest Michel Izygon - Jim Helm.
Lecture # 22 Software Evolution
Term 2, 2011 Week 3. CONTENTS The physical design of a network Network diagrams People who develop and support networks Developing a network Supporting.
Module CC3002 Post Implementation Issues Lecture for Week 6 AY 2013 Spring.
Software Configuration Management
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 Engineering Lecture 20 Software Maintenance.
Understand Application Lifecycle Management
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Maintenance.
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.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Installation and Maintenance of Health IT Systems
SOFTWARE MAINTENANCE 1. TOPICS TO BE DISCUSSED.. Definition of Maintenance Software Maintenance Types of Maintenance Maintenance Process Need of Maintenance.
1 Ontology Summit 2011 Track 3 Value Metrics & Value Models Ontology Use - Maintenance Todd Schneider Raytheon 17 February 2011.
Software evolution l Software evolution is the term used in software engineering (specifically software maintenance) to refer to the process of developing.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
CSC 4700 Software Engineering
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
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.
CS451 Software Maintenance Yugi Lee STB #555 (816) Note: This lecture was designed based on Stephen Schach’s.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
CS223: Software Engineering Lecture 32: Software Maintenance.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Software Maintenance1 Software Maintenance.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
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 Engineering — Software Life Cycle Processes — Maintenance
Software Configuration Management
Overview Software Maintenance and Evolution Definitions
Maintenance Issues in Software Engineering
8.4 Management of Postdelivery Maintenance
Chapter 18 Maintaining Information Systems
Maintaining software solutions
Software Maintenance PPT By :Dr. R. Mall.
Software Engineering (CSI 321)
CS 425/625 Software Engineering Software Evolution
Chapter 9 – Software Evolution and Maintenance
Software Maintenance Main issues: why maintenance is such an issue
Software Maintenance Main issues: why maintenance is such an issue
Chapter 8 Software Evolution.
Software Maintenance Main issues: why maintenance is such an issue
Lecture 06:Software Maintenance
Systems Operations and Support
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Introduction Software maintenance:
Presentation transcript:

CS 325: Software Engineering April 2, 2015 Software Maintenance Software Bugs & Sugs Maintenance Categories Maintenance Process Models Software Reengineering

Software Bugs As a faculty member at Harvard in 1946, Grace Murray Hopper traced an error to a moth trapped in a relay, the first documented case of a software “bug”. CS 325 April 2, 2015 Page 213

Software Bugs How do you plan to deal with problems once your software is released? Provide users with the means to report bugs Include fields for version, platform, component, severity, and description Status Resolution Unconfirmed New Assigned Reopened Unresolved Resolved Verified Closed Fixed Invalid Won’t Fix Not Reproducible Part Of Other Bug - Moved To Other Bug Database CS 325 April 2, 2015 Page 214

Software Sugs What features might users want in your next software release? Feature request information is similar to bug report information (i.e., version, platform, component, severity, and description). Warn users that any ideas they provide in a feature report belong to your team, not to the reporting user! CS 325 April 2, 2015 Page 215

Corrective Maintenance Perfective Maintenance Emergency Maintenance Maintenance Categories The IEEE splits software maintenance into four categories: Corrective Maintenance When problems are discovered after the software is delivered, repairs must be made so the system will satisfy its requirements. Adaptive Maintenance When the software environment (e.g., the operating system) changes after delivery, the software may need to be upgraded, too. Perfective Maintenance Latent faults in the software may need to be addressed before they manifest themselves as performance failures. Emergency Maintenance Unscheduled modifications may be needed pending more permanent corrective measures. CS 325 April 2, 2015 Page 216

Maintenance Process Models Modified systems are often viewed as new systems that reuse parts of the original system. Quick-Fix Model Take the source code of the original system, make the necessary changes, update the requirements and the design, and then test the modified code. Old System Requirements Design Code Test New System Requirements Design Code Test Iterative Enhancement Model Analyze the old system to identify needed updates to the requirements, then repeat the development life cycle until the desired system is produced. Old System Requirements Design Code Test New System Requirements Design Code Test Full Reuse Model Store old system components in a reusable repository and replace components as needed. Old System Requirements Design Code Test Repository Ri Di Ci Ti New System Requirements Design Code Test CS 325 April 2, 2015 Page 217

Software Reengineering To improve a software system, it is sometimes necessary to restructure the system or some of its components. Motivations for reengineering software systems include: Reducing the system’s complexity Improving the system’s modifiability Improving performance, efficiency, or resource utilization Improving the system’s maintainability CS 325 April 2, 2015 Page 218