System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
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
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
SE 555 Software Requirements & Specification Requirements Management.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
CS 501: Software Engineering
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software evolution.
Software evolution.
Systems Development (SD) Presentation Michael Webb IT Director for Medicaid Utah Department of Health UDOH Informatics Brownbag August.
Configuration Management
Software maintenance Managing the processes of system change.
Chapter 9 – Software Evolution and Maintenance
Lecture # 22 Software Evolution
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Module CC3002 Post Implementation Issues Lecture for Week 6 AY 2013 Spring.
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Systems Development Lifecycle Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design Implementation Maintenance.
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.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Teaching material for a course in Software Project Management & Software Engineering – part II.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
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.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Timesheet training Version: Introduction Duration: 1.5 hours Purpose: Guide on how to use Timesheet.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Software Maintenance and Evolution CSSE 575: Session 4, Part 2 Software Maintenance Process Steve Chenoweth Office Phone: (812) Cell: (937)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software Maintenance1 Software Maintenance.
© SERG Reverse Engineering (Software Maintenance & Reengineering) Software Maintenance Managing the processes of system change.
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,
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
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.
Advanced Software Engineering Dr. Cheng
Configuration Management
Software Configuration Management
Software Project Configuration Management
Overview Software Maintenance and Evolution Definitions
Maintenance Issues in Software Engineering
Exam 0 review CS 360 Lecture 8.
Fundamentals of Information Systems, Sixth Edition
Chapter 18 Maintaining Information Systems
Configuration Management
Classical Waterfall Model
Maintaining software solutions
Systems Development Lifecycle
Chapter 9 – Software Evolution and Maintenance
Chapter 11: Software Configuration Management
Chapter 8 Software Evolution.
Presentation transcript:

System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system while it is in operation Evolving an information system to adapt to changing business conditions and user needs

Systems Development Lifecycle Models Waterfall Iterative Enhancement Prototyping Spiral model Rapid Application Development Inspections and Reviews

Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design Implementation Maintenance Feasibility Analysis Requirements Design Coding & Integration Test Installation Maintenance Systems Lifecycle Software Engineering Lifecycle

IEEE Maintenance Process Modification request –Classification and Identification –Analysis –Design –Implementation –System Test –Acceptance Test –Delivery

Categories of Maintenance Corrective - fixing bugs Adaptive - no change to functionality, but now works under new conditions Perfective - adds something new; makes the system “better” Preventive - enhances internal structure of system without affecting external behavior “Enhancements”

Maintenance Terms Configuration Control Board (CCB) - organizational unit that makes decisions about what proposed maintenance changes will actually be made Regression testing - testing a modified system with some of the test cases with which it was originally tested to make sure that only those functions that were meant to change actually behave differently Releases - planned collections of maintenance changes that are applied to a system before it is delivered to customers Patches - emergency fixes to a system that are delivered to customers between scheduled releases Configuration management - the process of keeping track of different versions of a system that have been supplied to different customers and that must be maintained separately

Maintenance Terms (cont.) Ripple effect - the (usually unintended) effects that a change in one part of a system has on other parts of the system Impact analysis - analysis of a planned modification to a system in an effort to determine all of the components of the system that will be affected by the modification, including ripple effects System decay - a degradation of system structure and quality over time due to poorly planned and executed changes Program comprehension - the human process of understanding a piece of software code Porting - a type of adaptive maintenance in which a system is translated from one operating system, language, or platform to another

Impact analysis During planning - determine modules that will need to be modified, to estimate time and resources needed During analysis - understand data and control flow in order to follow chain of ripple effects During design & implementation - keep track of what ripple effects have been accounted for During test - known ripple effects guide testing; further testing reveals unknown ripple effects

Impact Analysis Strategies Data flow - follow changed pieces of data (variables) from one module to another to see what other variables are affected Control flow - follow the “call chain,” i.e. what modules are called by affected modules Program slicing - based on data flow and/or control flow

Course Logistics Meet every Tuesday at 7:00pm for 2-3 hours Group project - small-to-medium maintenance task Leading class - lecture, discussion, and class exercises Exams - non-traditional Class participation - I take this seriously!

Student-led Class Sessions Part I: 30-minute (~10-12 slides) lecture on textbook chapter Part II: Class discussion based on 3 research papers Part III: Class exercise from textbook By Friday: send me an with first and second preferences for topic, date, and part

Information for Forming Project Teams Name Department Degree Program Programming experience (languages, length of experience, type of experience) Other skills Times you could meet regularly