Software Maintenance and Various Software Maintenance Tables

There are two formal definitions of software maintenance, which are as under-

  1. IEEE, 1993 :-
    Software maintenance is 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.

  2. ISO/IEC Standard 12207 :-
    A set of software maintenance activities that occur when software undergoes modifications to the code and associate documentation due to a problem or need for improvement or adaptation.

The first definition is similar to hardware maintenance, car servicing, where a product is checked for errors or additional tasks are given after it is sold.

In contrast, the second definition includes software maintenance as an essential aspect of the entire life cycle of a software product, beginning early development.

Software maintenance specifies the activities following the delivery of the initial working version of the software system. Must be maintained in the system from the beginning i.e., maintenance should be taken into consideration during the entire development. Although maintenance does not have the most complex aspect of software production.

Maintenance includes portions of all other stages of the software process. After receiving a maintenance request, the first step is to identify what type of maintenance is required. Sometime, the problem is with the user- not the software.

In the case of software products, one would be more interested in updating the product so that it would adapt to changes in its environment or hardware, rather than reducing it and replacing it with another new product. Hence, software products also require maintenance for keeping them up to date with their surroundings for their best application.

Problem Identification Phase

Input:

Process:

Control:

Output:


Analysis Phase

Input:

Process:

Control:

Output:


Design phase

Input:

Process:

Control:

Output:


Implementation Phase

Input:

Process:

Control:

Output:


System Test Phase

Input:

Process:

Control:

Output:


Acceptance Test Phase

Input:

Process:

Control:

Output:


Delivery Phase

Input:

Process:

Control:

Output:


Contact Us