Abstract The dictionary defines maintenance as, “The job of keeping something in proper order.” However, this definition doesn’t always fit for software. Software maintenance differs from hardware maintenance because software does not physically put on out, but frequently will get less helpful as we grow older. Software programs are typically delivered with undiscovered flaws. Therefore, software maintenance is: “The entire process of modifying existing operational software while departing its primary functions intact.” Maintenance typically exceeds 50 percent from the systems’ existence cycle cost . While software maintenance may be treatable as an amount of effort activity, you will find effects on quality, functionality, reliability, cost and schedule that may be mitigated by using parametric estimation techniques.
1. INTRODUCTION Among the finest challenges facing software engineers is the treating of change control. It’s been believed that the price of change control could be between 40% and 70% from the existence cycle costs . Software engineers have wished that new languages and new process would help reduce these figures however, this is not the situation. Essentially it is because software programs are still delivered having a significant quantity of defects. Capers Johnson estimates there are about 5 bugs per Function Point produced during Development . Watts Humphrey found “… even experienced software engineers normally inject 100 or even more defects per KSLOC . Capers Johnson states, “A number of studies the defect density of software varies from 49.5 to 94.5 errors per 1000 lines of code .” The objective of this information is to first evaluate the fundamentals of software maintenance and also to present alternative methods to estimating software maintenance. A vital element to notice is the fact that development and management decisions made throughout the development process can considerably modify the developmental cost and also the resulting maintenance costs.
2. SOFTWARE MAINTENANCE Maintenance activities include all work transported out publish-delivery and really should be distinguished from block modifications which represent significant development and design effort and supersede a formerly released software program. These maintenance activities can be very diverse, also it helps you to identify precisely what publish-delivery activities should be incorporated in approximately maintenance effort. Maintenance activities, once defined, might be evaluated inside a quite different light than when known as simply “maintenance”. Software maintenance differs from hardware maintenance because software does not physically put on out, but software frequently will get less helpful as we grow older and it will be delivered with undiscovered flaws. Additionally towards the undiscovered flaws, it’s quite common that some quantity of known defects pass in the development organization towards the maintenance group. Accurate estimation from the effort needed to keep delivered software programs are along with the decomposition from the overall effort in to the various activities that comprise the entire process.
3. APPROACHING The Constant Maintenance ISSUE Maintenance is really a complicated and structured process. In the textbook, Estimating Software Intensive Systems, Richard Stuzke outlines the normal software maintenance process. It’s apparent that the operation is not only writing new code.
The next listing may be used to explore the realism and precision of maintenance needs.
o Which programs is going to be maintained?
o How lengthy will the machine have to be maintained?
o Are you currently estimating the whole maintenance problem, or simply incremental maintenance?