Unformatted text preview:

Slide 16 1 Object Oriented and Classical Software Engineering Fifth Edition WCB McGraw Hill 2002 Stephen R Schach srs vuse vanderbilt edu The McGraw Hill Companies 2002 CHAPTER 16 Slide 16 2 MAINTENANCE PHASE The McGraw Hill Companies 2002 Overview Slide 16 3 Why maintenance is necessary What is required of maintenance programmers Maintenance case study Management of maintenance Maintenance of object oriented software Maintenance skills versus development skills Reverse engineering Testing during the maintenance phase CASE tools for the maintenance phase Metrics for the maintenance phase Challenges of the maintenance phase The McGraw Hill Companies 2002 Maintenance Phase Slide 16 4 Maintenance Any change to any component of the product including documentation after it has passed the acceptance test This is a short chapter But the whole course is on maintenance Why is maintenance necessary The McGraw Hill Companies 2002 Types of maintenance The McGraw Hill Companies 2002 Slide 16 5 Types of maintenance contd Slide 16 6 Corrective maintenance To correct residual faults Specification design implementation documentation or any other types of faults On average 17 5 of maintenance The McGraw Hill Companies 2002 Types of maintenance contd Perfective maintenance Client requests changes to improve product effectiveness Add additional functionality Make product run faster Improve maintainability On average 60 5 of maintenance The McGraw Hill Companies 2002 Slide 16 7 Types of maintenance contd Slide 16 8 Adaptive maintenance Responses to changes in environment in which product operates Product ported to new compiler operating system and or hardware Change to tax code 9 digit ZIP codes On average 18 of maintenance The McGraw Hill Companies 2002 Difficulty of Maintenance Slide 16 9 About 67 of the total cost of a product accrues during the maintenance phase Maintenance is a major income source Nevertheless even today many organizations assign maintenance to Unsupervised beginners and Less competent programmers The McGraw Hill Companies 2002 What is Required of Maintenance Programmers Slide 16 10 Maintenance is one of the most difficult aspects of software production because Maintenance incorporates aspects of all other phases Suppose a fault report is handed to a maintenance programmer What tools does the maintenance programmer have to find the fault The fault report filed by user The source code And often nothing else The McGraw Hill Companies 2002 What is Required of Maintenance Programmers Slide 16 11 Maintenance programmer must have superb debugging skills The fault could lie anywhere within the product The original cause of the fault might lie in the by now non existent specifications or design documents The McGraw Hill Companies 2002 Corrective Maintenance Slide 16 12 Suppose that the maintenance programmer has located the fault Problem How to fix it without introducing a regression fault The McGraw Hill Companies 2002 Corrective Maintenance contd Slide 16 13 How to minimize regression faults Consult the detailed documentation for product as a whole Consult the detailed documentation for each individual module What usually happens There is no documentation at all or The documentation is incomplete or The documentation is faulty The programmer must deduce from the source code itself all the information needed to avoid introducing a regression fault The McGraw Hill Companies 2002 Corrective Maintenance contd Slide 16 14 Now the programmer changes the source code Test that the modification works correctly Use specially constructed test cases Check for regression faults Use stored test data Add specially constructed test cases to stored test data for future regression testing Document all changes The McGraw Hill Companies 2002 Corrective Maintenance contd Slide 16 15 Major skills required for corrective maintenance Superb diagnostic skills Superb testing skills Superb documentation skills The McGraw Hill Companies 2002 Adaptive and Perfective Maintenance Slide 16 16 The maintenance programmer must go through the phases of Requirements Specifications Design Implementation and integration Using the existing product as a starting point The McGraw Hill Companies 2002 Adaptive and Perfective Maintenance contd Slide 16 17 When programs are developed Specifications are produced by specification experts Designs are produced by design experts Implementation is performed by implementation experts Integration is performed by integration experts Testing is performed by testing experts Documentation is produced by documentation experts The McGraw Hill Companies 2002 Adaptive and Perfective Maintenance contd Slide 16 18 But every maintenance programmer needs to be an expert in Specifications Design Implementation Integration Testing Documentation The McGraw Hill Companies 2002 Adaptive and Perfective Maintenance contd Slide 16 19 Conclusion No form of maintenance Is a task for an unsupervised beginner or Should be done by a less skilled computer professional The McGraw Hill Companies 2002 The Rewards of Maintenance Slide 16 20 Maintenance is a thankless task in every way Maintainers deal with dissatisfied users If the user were happy the product would not need maintenance The user s problems are often caused by the individuals who developed the product not the maintainer The code itself may be badly written Maintenance is despised by many software developers Unless good maintenance service is provided the client will take future development business elsewhere Maintenance is the most important phase of software production the most difficult and most thankless The McGraw Hill Companies 2002 The Rewards of Maintenance contd Slide 16 21 How can this situation be changed Managers must assign maintenance to their best programmers and Pay them accordingly The McGraw Hill Companies 2002 Maintenance Case Study Slide 16 22 Temperate Fruit Committee Software was developed for exactly 7 temperate fruits Apples apricots cherries nectarines peaches pears and plums It was extended to include kiwi fruit with difficulty The product now needed to handle 26 additional fruits Just to the same thing 26 times The McGraw Hill Companies 2002 Maintenance Case Study contd Slide 16 23 Lessons to be learnt from this The problem was caused by the developer not the maintainer A maintainer is often responsible for fixing other people s mistakes The client frequently does not understand that maintenance can be difficult or all but


View Full Document

STAN STATE CS 4800 - MAINTENANCE PHASE

Download MAINTENANCE PHASE
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 MAINTENANCE PHASE 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 MAINTENANCE PHASE 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?