Software Maintenance Definition

The institute of electrical and electronic engineers (IEEE), is the regulatory and standards setting body for electrical and electronics engineering profession worldwide. IEEE document 1219-1998 describes fully the process of software maintenance. Software maintenance is concerned with changes for the better made to software usually after delivery. Software maintenance is an integral part of the software development life cycle.

  1. Software Maintenance Definition

    • The IEEE 1219-1998 software standards document defines software maintenance as "the modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment." Software maintenance is the concluding part of the software development process or "life cycle."

    Software Development Life Cycle

    • The software development life cycle consists of six phases: requirements phase, specification phase, design phase, implementation phase and the maintenance phase. The maintenance phase takes up over half the cost of software development.

    Types of Maintenance

    • There are four types of software maintenance defined in IEEE 1219-1998: corrective, adaptive, perfective and emergency maintenance. Corrective maintenance fixes the bugs discovered after delivery while adaptive maintenance keeps the software program usable in a changed or changing environment. Changes to software to improve performance and maintainability are classified as perfective maintenance. Emergency maintenance is usually unscheduled maintenance to keep the system working properly at any time.

    Process Model for Software Maintenance

    • As defined by IEEE 1219-1998, software maintenance has seven phases, with each phase having input, process, control and output. The phases are problem identification, analysis, design, implementation, system test, acceptance test and delivery. Modification request (MR) constitutes the input to problem identification while validated MR is the final output of this first phase. The last phase of maintenance is delivery. Physical configuration Audit (PCA) plays an important part to make sure that the validated MR is fully achieved in the prior phases. Finally installation, training of users and version description document (VDD) is produced.

    Process Model Metrics

    • Metrics involves time, money and numbers. Process model metrics for software maintenance encourages keeping records of time spent on problem validation, document error rates, number of lines of corrective code added, error rates by priority and type (generated and corrected) and document changes. Document changes include VDDs, training manuals and operation guidelines.

    Supporting Maintenance Technology

    • The maintenance process requires supporting technology. These include software re-engineering, reverse engineering, holistic reusing and software tools. IEEE 1219-1998 defines re-engineering as "a system changing activity that results in creating a new system that either retains or does not retain the individuality of the initial system." Reverse engineering comes in to re-document and update the system that has outgrown its initial base system. Holistic reuse is when a new system is created from an old one and both run concurrently. Software maintenance tools include performance monitors for system/acceptance testing and code generator for the implementation stage.

    Maintenance Plan Guidelines

    • IEEE 1219-1998 details guidelines for a software maintenance plan in eight steps which improve administration and communication. The first four steps are introduction, references, definitions and software maintenance overview. The next four are software maintenance process, software maintenance reporting requirements, software maintenance administrative requirements and software maintenance documentation requirements.

Related Searches



  • Photo Credit software box image by Dmitri MIkitenko from

You May Also Like

  • Types of Software Maintenance

    Types of Software Maintenance. Computer software programmers and engineers perform various software maintenance functions to keep software running with as few problems...

  • Define Preventive Maintenance

    Preventive maintenance can be defined as activity performed on a certain schedule which is intended to prevent breakdowns or deterioration. These activities...

  • Definition of Software Maintenance & Support

    Most software is sold with a maintenance contract, or an agreement under which the vendor modifies the software after installation for a...

  • The IEEE Standards for Software

    The Institute of Electrical and Electronics Engineers, or IEEE, creates standards for electronics and digital devices. According to "Software Engineering & Testing...

  • Standard for Software Maintenance

    The software life cycle defines the phases that constitute software development. Software maintenance, though listed as the final phase, most often consumes...

  • What Is Software Maintenance?

    The Institute of Electrical and Electronics Engineers (IEEE) defines software maintenance as the "process for managing and executing software maintenance activities ...

  • Progressive Build Model Definition

    The U.S. Department of Energy defines progressive, performance based design-build models as buildings that produce net zero-energy. This means buildings significantly ...

  • Software Maintenance Testing

    Testing is an integral part of the software maintenance process and intensively takes place in two of the seven phases of software...

  • Role of Maintenance of Software

    Maintenance is the final phase of a software development process that also includes planning, analysis, design and implementation. As the final phase,...

  • The Requirements of a Corporate Financial Audit

    To the untrained eye, internal audits and external reviews may show practical similarities. But regulators and securities-market participants separate the two ...

  • Software Maintenance Requirements

    Software Maintenance Requirements. Software maintenance is the last phase of a software project life cycle. It includes a range of activities conducted...

  • Types of Software Applications Used by Engineers

    Types of Software Applications Used by Engineers. Engineers use many types of software to create and test designs. The exact type of...

  • Definition of Nominal Bore

    The bore is the hollow center of any pipe. Nominal is used in the sense of "in name only" or "putative"-- approximate....

  • The Advantages of Software Maintenance

    With the software on our computers playing such a vital role in our lives, it is important to maintain that software properly....

  • Adaptive Driving Equipment

    Specific driving equipment for the physically impaired is produced by a large number of manufacturers. As technology has advanced over the past...

  • IEEE Standards for Software Users

    Although the Institute of Electrical and Electronics Engineers, or IEEE, began creating standards for electronics, it has expanded its scope to create...

  • What Is Software Maintenance & Change Control?

    Software maintenance is performed to keep applications, networks and systems running smoothly. Software becomes outdated and needs to be modified or expanded,...

  • Definition of Smart Appliances

    Smart appliances utilize modern computer and communications technology to make functions faster, cheaper and more energy-efficient. The appliances can take advantage ...

Related Ads

Check It Out

Prep for Black Friday Checklist [Infographic]