The software development process, as with all great projects, starts with an idea. Software evolution, specifically software maintenance, is the term used in software engineering to refer to the process of developing software initially, then repeatedly updating it for various. Software maintenance cost is derived from the changes made to software after it has been delivered to the end user. Typically, maintenance takes up about 4080% of the project cost, usually closer to the higher pole. Then, continue this process for all critical assets. During the maintenance phase, the customer monitors the software to ensure it continues to operate according to the coding specifications.
In software engineering, software maintenance is the process of. The most common case of this is fixing bugs, though things such as software refactoring, changing to use a new framework, or even updating documentation could be considered maintenance. Adaptive maintenance is concerned with the change in the software that takes place to make the software adaptable to new environment such as to run. In your product development processes, whether for a new or revamped product, your process management strategies are critical to ensuring that your products will be continuously improved. Standard for software engineering software life cycle processes. Forward engineering is same as software engineering process with only one. This effort is categorized as preventive maintenance, or modification of a software product after delivery to detect and correct potential faults in the software product before they take effect. After software passes the design stage and is implemented, the maintenance phase of the software life cycle begins. Software maintenance is a process by which a computer program is altered or updated after it has been released. Predelivery activities include planning for postdelivery operations, maintainability. The process and lifecycle models have evolved in an environment of high awareness of software development issues as opposed to maintenance issues and, as such, are development models. The maintenance phase of the software life cycle allows individuals to check the performance of the software after it is launched to see if it is all working correctly.
While the term maintenance may imply repairs and corrections of errors, only a portion of this process is intended for this purpose, referred to as corrective. Software development firms will often impose a more stringent process than is needed to just get the job done. There are mostly nontechnical differences between maintenance and initial development at the start and the end of the process. The main purpose of software maintenance is to modify and update software application after delivery to correct faults and to improve performance. The software maintenance, which can last for 56 years or even decades after the development process, calls. Software maintenance is a part of the software development life cycle. Only 1 in 5 development groups surveyed made a point of checking maintainability during qa, and just 3% of maintenance time is spent improving maintainability. Part of the reason for this is that over time, the managers develop a better sense of how long it takes to accomplish various kinds of tasks and what kinds of skills are needed. A software development process, also known as a software development lifecycle, is a structure imposed on the development of a software product.
Software maintenance is a part of software development life cycle. How to plan for software maintenance the startup medium. The software maintenance and support work starts once the delivery of the software product is done. It takes planning, preparation, and management of phases and team members to reach a goal.
When the real world changes, the software requires alteration wherever possible. Software process in software engineering a software process is the process of dividing the development works into different phase. There are very many software process and lifecycle models and. Using software maintenance procedure, such elements of ui and coding are removed and replaced with new development using the latest tools and technologies. Ideally, maintenance planning should begin during the stage of planning for software development. You need to know how the maintenance work will flow through your company from its request to its completion. Software maintenance overview software maintenance is widely accepted part. The maintenance stage is the final phase of the sdlc. Maintenance making changes to the software after it has been handed over to the client, and enters productive use. Software maintenance is an important phase of software development life cycle sdlc, and it is. Software maintenance is one of the major concerns of software development and maintenance organizations. Application maintenance and support best practices.
Sdlc includes a detailed plan for how to develop, alter, maintain, and replace a software system. In this guide, software maintenance is defined as the totality of activities required to provide costeffective support to software. The maintenance phase happens after the project team deploys the software and it is fully operational in the customer environment. Software maintenance is the process of modifying a software product after it has been. Model the software development process as a stately and sequential progression through the previously mentioned phases the model is orderly, simple to understand, and represents a. The sm process includes a maintenance plan which contains software. Sdlc involves several distinct stages, including planning, design, building, testing, and deployment. Maintenance is the process of providing upkeep on an existing product. The essential part of software maintenance requires preparation of an accurate plan during the development cycle. Its main purpose is to modify and update software application after delivery to correct faults and to improve performance.
On an average, the cost of software maintenance is more than 50% of all sdlc phases. Software maintenance costs will typically form 75%. This elimination makes the system adaptive to cope with changing circumstances. Sdlc methodologies sdlc phases, models and advantages. A study on estimating software maintenance found that the cost of maintenance is as high as 67% of the cost of entire software process cycle. What is the difference between a software process and. Theres an important distinction to be made between preventive maintenance and predictive maintenance. Pdf a framework for software maintenance and support phase. The preventive maintenance scheduling software also called preventative maintenance within a cmms can reduce the amount of manual labor by autoscheduling work orders based on a calendar or meter basis, or use import tools to populate schedules. Predictive maintenance is a similar but distinct category of cmms software wherein meters or sensors predict when a machine may breakdown. For example, user issues that surface in the maintenance and support phase can become requirements at the beginning of the next cycle.
Software engineering software maintenance geeksforgeeks. Since software is needed almost everywhere today, its development is a highly intelligent and precise process, involving various steps. Reverse engineering is processes of extracting knowledge or design. Software process is the central to the development of an efficient information system. Sdlc is a mappedout, regulated framework that typically follows the following universal phases to deliver highquality software application. Software maintenance itself as a field of study is new compared to software development. The maintenance stage of the sdlc eternal sunshine of. Software development process steps can be grouped into the phases of the lifecycle, but the importance of the lifecycle is that it recycles to enable continuous improvement. There are four types of maintenance, namely, corrective, adaptive, perfective, and preventive. This international standard provides the framework within which generic and specific software maintenance plans may be executed, evaluated, and tailored to the maintenance scope and magnitude of given software products.
This lesson explains the process and outcomes of the maintenance phase. Process management is a technique that ensures improvements are introduced with a consistent, structured set of activities. Its main purpose is to modify and update software applications after. Maintenance is considered as part of the software development life cycle. Software does not wear out but it will become less useful as it gets older, plus there will always be issues within the software itself. Over the years, the cost of maintenance has become the. The maintenance phase is the final step in the software development life cycle. A maintenance planning and scheduling process needs to be designed.
Software maintenance is the single largest computerrelated cost for most companies the software development process. Sdlc or the software development life cycle is a process that produces software with the highest quality and lowest cost in the shortest time. Everyone needs to know how the maintenance work will be planned, scheduled and executed, and what they will do in the maintenance process. Corrective maintenance is concerned with fixing errors that are observed when the software is in use. Accurately estimate your software maintenance costs. Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes. Now that we know what software maintenance entails, you would assume we could then perform cost estimation. Software maintenance in software engineering is the modification of a. Activities are performed during the predelivery stage as well as during the postdelivery stage.
12 1102 494 1160 603 573 757 799 581 375 22 402 353 631 1065 308 923 430 57 539 1154 293 446 923 427 1220 266 2 1037 1189 374 722 187 552 1467 661 1474 1190 1417 1228