- Software Engineering Tutorial
- Software Engineering Home
- Software Engineering Overview
- Software Development Life Cycle
- Software Project Management
- Software Requirements
- Software Design Basics
- Analysis & Design Tools
- Software Design Strategies
- Software User Interface Design
- Software Design Complexity
- Software Implementation
- Software Testing Overview
- Software Maintenance
- CASE Tools Overview
- S/W - Exams Questions with Answers
- SE - Exams Questions with Answers
- S/W Engineering Resources
- SE - Interview Questions
- SE - Useful Resources
- SE - Quick Guide
- SE - Discussion
- SE - Android App
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
SE Models Q & A #6
Question:Explain the term, software maintenance.
Answer: - Maintenance of a software system may be define which is used to concerned about the alteration or changes which are done in software system after the release. Maintenance of software is the part of software Engineering. Maintenance of software has a great value in the development of a system. Needs of Maintenance is required after
When the user get the product at his own place.
When software is in operational stage.
When any alteration or modification is done in software during the operation time then it is called maintenance. Maintenance of software have a large area which has correcting coding, and design faults, documentation and updating of user support. IEEE gives the definition of maintenance as
Software maintenance is modification of a software product after delivery to correct faults to improve performance or other attribute or to adapt the product to a modified environment.
According to Stephan - Software maintenances is a detailed activity that include
Error detections and corrections
Enhancement of capabilities
deletion of obsolete capabilities
Reason of Maintenance of software
In the life of a software maintenance activity have a great value. In the comparison of development cost, the maintenance cost is higher. Normally Maintenance of a software take 40 to 70 % cost of total costing of software life cycle. Cost and difficulty are the two drawbacks in maintenance of software. We have some reasons which increases the need of software maintenance.
Where user needs change time to time.
When technology of hardware change.
When the environment of a system changed.
To increase the ability or capacity of system.
To keep the same quality of the product.
To resolve the Errors.
For getting the best output with the help of existing software.
To reject the unusual effects.
For making the software more compatible in the favor of user.
Types of software Maintenance
Corrective Maintenance - Corrective maintenance may be define with those alteration which is done for the solving those errors which was available in the software. With the help of corrective maintenance method software can change by removing all the faults. Thus the goal of this method is to correct the software from every type of errors. A software have many kind of faults just like specification errors, logical errors, coding error etc. . and corrective maintenance solve all those types of faults. For the recovery of a system many types of actions performed in corrective Maintenance.
According to K. Bennett,
Maintenance personal sometimes resolve to emergency fixes known as patching to reduce the pressure from the management.
20 % of total maintenance cost is the part of corrective method.
Adaptive Maintenance - Adaptive maintenance may be defined by that alteration in software system to survive in that area where this system operates. Environment refers those situations which affects the software from outside. According to R. Books,
A change to the whole or part of this environment will require a corresponding alteration of the software.
20 % of the total maintenance cost is the part of adaptive maintenance.
Perfective maintenance - To increase the efficiency, performance, maintainability, effectiveness of software that is called perfective maintenance. Most of the times enhancement also includes perfective maintenance as one of its part. After changes user operate this software for the purpose which it was developed by developer. For example: if GUI not attract the customer then some change are made for improving the looks and design of the software. Just to get the perfection the changes are made otherwise it is not necessary in normal cases. The demand of the perfective maintenance could be completed by software Engineering. All changes which improve the quality are including in perfective maintenance. The reason of alteration in a system could be a cause in improve the efficiency and functions and easy to understand. 50% of the total maintenance cost is the part of perfective maintenance.