Requirements for a Software Maintenance Methodology
Nance, Richard E.
Arthur, James D.
Keller, Benjamin J.
MetadataShow full item record
Software maintenance, although widely recognized as the most costly period in the life of a system, is given only passing consideration in life-cycle models. An extensive literature review shows the relationship between the development and maintenance phases to be ignored to a large extent. The Abstraction Refinement Model (ARM) describes the dependency of software maintenance on the quality of the documentation and depicts the adaptive and perfective maintenance forms as relying on earlier design and requirements documents to a greater degree than corrective and preventative maintenance. The ARM is effective in laying the foundations for a software maintenance methodology, particularly in explaining the role of reverse engineering. Coupling the ARM with the Objectives/Principles/Attributes procedure for the evaluation for software development methodologies proves effective in drawing the contrast with maintenance requirements. which are specifically identified for further study and assessment.