Experience report on using object-oriented design for software maintenance

  • Authors:
  • Norman F. Schneidewind

  • Affiliations:
  • Naval Postgraduate School, Pebble Beach, CA

  • Venue:
  • Journal of Software Maintenance and Evolution: Research and Practice
  • Year:
  • 2007

Quantified Score

Hi-index 0.01

Visualization

Abstract

We experimented with modifying the existing object-oriented (OO) design and C++ code of a software reliability model. Our purpose was to assess the efficacy of OO methods for performing maintenance on mathematical software, using a real-world system (NASA Space Shuttle flight software) to illustrate the approach. In this process, we used variants of UML diagrams to modify our design. We found that although a top-down approach to software maintenance is normally a good idea, it was still necessary to modify the design once the realities of what could be accomplished in the C++ code came to light. As reliability and maintenance are intimately related, we developed reliability risk analysis to show how maintenance changes to our design and code could be used to measure risk. Another maintenance enhancement to the design and code is the use of reliability parameter analysis to assess, in the advance of prediction, the reliability of a set of software releases. We believe this is the first evaluation of software maintenance using OO methods.