home |  
Sell Downloads - Ejunkie
open db network by 19.5 degrees
LYRICS | FREE E-BOOKS | SELL DOWNLOADS WITH PAYPAL
 in   
 
contribute for fun & profit
brink
-The WHYs & HOW-..
-Are supervisory..
-Software Mainte..
-Role of Metrics..
-E-commerce / Se..
-Internet Articl..
-New Media Artic..
 
See all Computers and Internet Articles
 
-Art Articles..
-Astrology Tutor..
-Beauty Articles..
-Body / Mind / S..
-Business / Econ..
-Computers and I..
-Education Artic..
-Family / Relati..
-Feng Shui Artic..
-Food and Bevera..
 
See all Articles, Information and Tips
 
articles
All Resources > Articles, Information and Tips > Computers and Internet Articles > TECHNOLOGY ARTICLES
spread the word around  send this page to a friend   read/write comments/corrections/additions comments  rate this 

Software Maintenance Management: What is it all about?

by Salam Chowdhary
 
 
views: 2427 | rating: 4/10
 


Software development life cycles involve complex processes using a hierarchy of activities and their documentation and maintenance is the last stage of the software life cycle.

Software maintenance includes all activities associated with changing, modifying or altering existing software applications. After the product has been released, the maintenance phase keeps the software up to date with environment changes and changing user requirements. One of the most important criteria in good software development is that all the phases of the software life cycle project should be done in such a way that final product is easily maintainable. Maintenance can only happen efficiently if the earlier phases are done properly. The major problems that can slow down the maintenance process are unstructured code, maintenance programmers having insufficient knowledge of the system, documentation being absent, out of date, insufficient, and software maintenance personnel not having the required attributes for the job. For maintenance to be successful, these problems should be taken care off in the earlier stages of a life cycle project.

Maintenance plays an important role in the life cycle of a software product. There are a large number of software projects most of which are unstructured and not well documented. Maintenance can lessen these problems.

Maintenance phase is a very expensive phase costing the developers lot of time, effort, and money. Thus, the maintenance phase should be as efficient as possible. There software maintenance phase involves steps like, understanding the design that already exists, the studying the structure of the existing product and finally test and debug the product and make the new changes work properly. As products age it becomes more difficult to keep them updated with new user requirements.

There are three categories of software maintenance:

  • Perfective maintenance deals with revise the software according to changes in user requirements, improving documentation, and making the code easier to understand. Perfective maintenance mainly deals with accommodating to new or changed user requirements. Perfective maintenance concerns functional enhancements to the system and activities to increase the system's performance or to enhance its user interface.
  • Adaptive maintenance deals with adapting the software to new environments like new version of OS, system compiler, DB.
  • Corrective maintenance deals with fixing bugs in the code; basically it is fire fighting. It is generally known as the 'traditional maintenance'. Corrective maintenance deals with the repair of faults or defects found.

There are certain program qualities like system size, system age, application type, programming language, and the degree of structure that make a software system more difficult to maintain. Older systems require more maintenance effort than do younger systems, because software systems are generally expected to grow larger with age, become less organized due to the changes over time, and become less understandable to the personnel as new teams are recruited over long periods of time.

The degree of complexity of development process and its documentation, and alteration of the documentation during maintenance are important problems for improvement of quality. Documentation provides communication between all groups concerned with development on the one hand, and the control of project process on the other. Because of complex relationships between planning documentation, test requirement, and different phases of development life cycle elements, documentation is difficult to evaluate and ensure that all activities have been sufficiently addressed.

Traditional methods for verification of quality, such as checklist can fail in most complex software development processes. Audits and review which assist in identifying compliance with standards and procedure should be performed by the developers of the software.

The goals of reuse during maintenance are to increase productivity, increase quality, facilitate code transportation, reduce maintenance time and effort, and improve maintainability. Software reuse is basically reapplication of a variety of kinds of knowledge about one system to another similar system in order to reduce the effort of development or maintenance of that other system.



« PREVIOUS
  INDEX
NEXT »

spread the word around
read comments
no comments posted!

read more commentspost comment 



home | contact | contribute | terms of use | privacy policy |