310414 -Software Maintenance1 Software Maintenance.

Slides:



Advertisements
Similar presentations
Ch 3: Unified Process CSCI 4320: Software Engineering.
Advertisements

MIS 2000 Class 20 System Development Process Updated 2014.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
1 Postdelivery Maintenance Xiaojun Qi. 2 Why Postdelivery Maintenance Is Necessary Corrective maintenance: To correct residual faults –Analysis, design,
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
© 2005 by Prentice Hall Chapter 5 Maintaining Information Systems Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
March 30, Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn.
Lecturer: Dr. AJ Bieszczad Chapter Lehman’s system types S-system: formally defined, derivable from a specification P-system: requirements based.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Maintenance = Software Evolution Any changes after the client has accepted the product is considered maintenance. n Any Changes? n What might these be?
Design, Implementation and Maintenance
Chapter 16 Maintaining Information Systems
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 maintenance Managing the processes of system change.
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.
Ethics in Software Engineering
Lecture # 22 Software Evolution
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
System Analysis and Design
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Maintaining Information Systems Modern Systems Analysis and Design.
Software Configuration Management
Software Engineering Lecture 20 Software Maintenance.

Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Software Maintenance.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 11 Maintaining the System System evolution Legacy systems Software rejuvenation.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 3 Slide 1 Chapter 16 Maintaining Information Systems.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
System Analysis (Part 3) System Control and Review System Maintenance.
SOFTWARE MAINTENANCE 1. TOPICS TO BE DISCUSSED.. Definition of Maintenance Software Maintenance Types of Maintenance Maintenance Process Need of Maintenance.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
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.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
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.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Lecture Videos will no longer be posted. Assignment 3 is due Sunday, the 8 th, 7pm. Today: –System Design,
Herriman High Computer Programming 1A Software Development Cycle Things to Know.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
1 Chapter 13 (Week 13) SYSTEMS MAINTENANCE AND EVALUATION Chapter 13: SYSTEMS MAINTENANCE AND EVALUATION Throughout its life, a system should operate effectively.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
Chapter 16 Maintaining Information Systems. Objectives:  Explain and contrast four types of system maintenance.  Describe factors affecting maintenance.
CS223: Software Engineering Lecture 32: Software Maintenance.
Software Design and Development Development Methodoligies Computing Science.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
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 Configuration Management
Regression Testing with its types
Maintenance Issues in Software Engineering
Chapter 18 Maintaining Information Systems
Introduction to Software Evolution and Maintenance
Managing the System PPT SOURCE : Shari L. Pfleeger Joann M. Atlee.
Software Engineering (CSI 321)
CS 425/625 Software Engineering Software Evolution
Software Testing and Maintenance Maintenance and Evolution Overview
Maintaining Information Systems (SAD- 18)
Chapter 8 Software Evolution.
Lecture 06:Software Maintenance
Chapter 16 Maintaining Information Systems
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Presentation transcript:

Software Maintenance1 Software Maintenance

Software Maintenance2 Maintenance Activities and Roles maintenance activities are similar to those of development people who perform maintenance have similar roles: analysts, programmers, and designers maintenance focuses on 4 major aspects: - maintaining control over the system’s day- today functions - maintaining control over system modifications - perfecting existing acceptable functions - preventing system performance from degrading to unacceptable levels

Software Maintenance3 Corrective Maintenance to control day-to-day system function resolve problems resulting from faults - find the failure’s cause - make corrections - change to requirement, design, code, test suites, and documentation as necessary often, the initial repair is temporary: something to keep the system running, but not the best fix long-range changes may be implemented later

Software Maintenance4 Adaptive Maintenance sometimes a change introduced in one part of the system requires changes to other parts can be performed for changes in hardware or environment more functions are added to the system

Software Maintenance5 Perfective Maintenance as we maintain a system, we examine documents, design, code, and tests, looking for opportunities for improvement for example, as functions are added to a system the design may become confused and difficult to follow a redesign may enhance future maintenance and make it easier for us to add new functions in the future involve marking changes to improve some aspect of the system - documentation changes to clarify items - test suite changes to improve test coverage - code and design modifications to enhance readability

Software Maintenance6 Preventive Maintenance is similar to prefective maintenance involves changing some aspect of the system to prevent failures may include: - the addition of type checking - the enhancement of fault handling to make sure the system can handle all possibilities to find potential fault that has not yet become a failure and takes and action to correct the fault before damage is done

Software Maintenance7 Who Performs Maintenance may be development team or a separate maintenance team there are positive and negative aspect to using a development team positive: - the team is familiar with the system negative: - the team sometimes feels so confident in their understanding of the system that they tend no to keep the documentation up to date - lack of care in writing and revising documentation - may result in the need for more people or resources to tackle a problem

Software Maintenance8 Team Responsibilities maintaining involves all team members: - users, operators, or customer representatives - analysts or programs: determine affected part and the impact on the design the maintenance team activities: - understanding the system - locating information in the system documentation - keeping system documentation up to date - extending existing functions to accommodate new or changing requirement - adding new functions to the system

Software Maintenance9 Team Responsibilities (cont.) - finding the source of system failures or problems - locating and correcting faults - answering questions about the way the system works - restructuring design and code component - rewriting design and code component - deleting design and code components that are no longer useful - managing changes to the system as they are made