1 / 12

System Maintenance

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.

maya
Download Presentation

System Maintenance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

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

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

  4. IEEE Maintenance Process Modification request • Classification and Identification • Analysis • Design • Implementation • System Test • Acceptance Test • Delivery

  5. 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”

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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!

  11. 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 email with first and second preferences for topic, date, and part

  12. 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

More Related