FORDHAM CSLU 3598 - chap16 MAINTENANCE

Unformatted text preview:

An Introduction to Object-Oriented Systems Analysis and Design with UML and the Unified Process McGraw-Hill, 2004 Stephen R. Schach [email protected] 16Chapter OverviewMaintenance—DefinitionWhy Maintenance Is NecessaryDevelopment and MaintenanceDevelopment and Maintenance (contd)What Is Required of Maintainers?What Is Required of Maintainers? (contd)Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Maintenance Case StudyMaintenance Case Study (contd)Lessons of the Case StudyLessons of the Case Study (contd)Management of MaintenanceFault ReportsFault Reports (contd)Fault Reports (contd)Slide 30Slide 31Slide 32Authorizing Changes to the Information SystemAuthorizing Changes to the Information SystemAuthorizing Changes to the Information SystemEnsuring MaintainabilityEnsuring Maintainability (contd)The Problem of Repeated MaintenanceThe Problem of Repeated Maintenance (contd)The Problem of Repeated Maintenance (contd)Slide 41Slide 42Slide 43Maintenance and the Object-Oriented ParadigmSlide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Maintenance versus Development SkillsReverse EngineeringReverse Engineering (contd)Testing during MaintenanceCASE Tools for MaintenanceCASE Tools for Maintenance (contd)Slide 58Slide 59Slide 16.1Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction toObject-Oriented Systems Analysis and Design with UML and the Unified Process McGraw-Hill, 2004Stephen R. [email protected] 16.2Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. CHAPTER 16MAINTENANCESlide 16.3Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter OverviewWhy Maintenance Is NecessaryDevelopment and MaintenanceWhat Is Required of Maintainers?Temperate Fruit Committee Mini Case StudyThe Management of MaintenanceMaintenance and the Object-Oriented ParadigmMaintenance Skills versus Development SkillsReverse EngineeringTesting during MaintenanceCASE Tools for MaintenanceSlide 16.4Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Maintenance—DefinitionMaintenance is the process that occurs when an information system artifact is modified–Either because of a problem, or–Because of a need for improvement or adaptation»(International Standards Organization and International Electrotechnical Commission, 1995)That is, maintenance occurs whenever an information system is modified–Regardless of whether this takes place before or after installationSlide 16.5Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Why Maintenance Is NecessaryThere are three main types of maintenance:Corrective maintenance–To correct a faultPerfective maintenance–To improve the effectiveness of the information systemAdaptive maintenance–To react to changes in the environment in which the information system operatesSlide 16.6Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Development and MaintenanceThe information system life cycle can be viewed as an evolutionary process –This is how maintenance is viewed by the Unified Process–Maintenance is treated merely as another incrementHowever, there is a basic difference between development and maintenance–It is easier to create a new version than to modify an existing versionSlide 16.7Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Development and Maintenance (contd)ExampleConsider the similarities and differences between–Modifications to a portrait–Modifications to a information systemConclusions–A new portrait must be painted from scratch–The existing information system must be modifiedSlide 16.8Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers?About 67% of the total cost of a product can be attributed to maintenanceMaintenance is a major income sourceNevertheless, even today many organizations assign maintenance to –Unsupervised beginners, and –Less competent maintainersSlide 16.9Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers? (contd)Maintenance is one of the most difficult aspects of software production because–Maintenance incorporates aspects of the rest of the life cycleSlide 16.10Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers? (contd)Suppose a fault report is handed to a maintainerWhat tools does the maintainer have to find the fault?–The fault report filed by user–The source code–And often nothing elseSlide 16.11Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers? (contd)A maintainer must have superb debugging skills–The fault could lie anywhere within the information system–The original cause of the fault might lie in the old (and by now non-existent) specifications or design documentsSlide 16.12Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers? (contd)Suppose that the maintainer has located the faultProblem–How to fix it without introducing a regression faultSlide 16.13Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers? (contd)How to minimize regression faults–Consult the detailed documentation for the information system as a whole–Consult the detailed documentation for each individual code artifactWhat usually happens–There is no documentation at all, or –The documentation is incomplete, or –The documentation is faultyThe maintainer must gather information from the source code to avoid introducing a regression faultSlide 16.14Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers? (contd)Now the maintainer changes the source code, then–Tests that the modification works correctly»Using specially constructed test cases–Checks for regression faults »Using stored test cases–Adds the specially constructed test cases to the existing test data for future regression testing, and–Documents all changesSlide 16.15Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. What Is Required of Maintainers? (contd)Major skills required for


View Full Document
Download chap16 MAINTENANCE
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view chap16 MAINTENANCE and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view chap16 MAINTENANCE 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?