Other Tutorials by

Visual Basic - Visual Basic tutorials

VB6 beginners tutorial - Learn VB6

Advanced VB6 tutorial - Learn Advanced VB6

You are here: > Systems Analysis and Design

SDLC - Implementation and Maintenance in Software Life Cycle

Maintenance includes all the activity after the installation of software that is performed to keep the system operational. As we have mentioned earlier, software often has design faults. The two major forms of maintenance activities are adaptive maintenance and corrective maintenance.

It is generally agreed that for large systems, removing all the faults before delivery is extremely difficult and faults will be discovered long after the system is installed. As these faults are detected, they have to be removed. Maintenance activities related to fixing of errors fall under corrective maintenance.

Removing errors is one of the activities of maintenance. Maintenance also needed due to a change in the environment or the requirements of the system. The introduction of a software system affects the work environment. This change in environment often changes what is desired from the system. Furthermore, often after the system is installed and the users have had a chance to work with it for sometime, requirements that are not identified during requirement analysis phase will be uncovered. This occurs, since the experience with the software helps the user to define the needs more precisely. There might also be changes in the input data, the system environment and output formats. All these require modification of the software. The maintenance activities related to such modification fall under adaptive maintenance.

Maintenance work is based on existing software, as compared to development work, which creates new software. Consequently maintenance resolves around understanding the existing software and spares most of their time trying to understand the software that they have to modify. Understanding the software involves not only understanding the code, but also the related documents. During the modification of the software, the effects of the change have to be clearly understood by the maintainer since introducing undesired side effects in the system during modification is easier.

To test whether those aspects in the system that are not supposed to be modified are operating as they were before modification, regression testing is done. Regression testing involves executing old test cases to test that no new errors have been introduced. Thus, maintenance involves understanding the existing software (code and related documents), understanding the effects of change, making the changes - both to the code and documents, testing the new parts (changes), and resetting of the old parts that were not changed.

Since often during development, needs of the maintainers are not kept in mind, little support documents are produced during development to aid the maintainer. The complexity of the maintenance task is coupled with the neglect of maintenance concerns during development which makes maintenance the most cost effective activity in the life of a software product.

Related Topics

See Also


<< Previous Page | Contents | Next Page >>


Home | About Us | Privacy Policy | Contact Us

Copyright © | All Rights Reserved