Software maintenance process models examples

There are various software development life cycle models defined and designed which are followed during the software development process. This lesson defines the software development life cycle sdlc, and explains its sixstage process. The criteria established apply to both the planning of maintenance for software while. However, generic models, as they aimed at more wide applications, are not always straightforward to implement. Explain the weaknesses of traditional lifecycle models with respect to maintenance. The methodology may include the predefinition of specific deliverables and artifacts that are created and completed by a project. Software engineering software maintenance geeksforgeeks. On an average, the cost of software maintenance is more than 50% of all sdlc phases.

Software maintenance and development plan for the emd. It is also known as a software development life cycle sdlc. Software maintenance itself as a field of study is new compared to software development. Ever since mankind starting exploring the oceans, icebergs have been a problem for seamen getting closer to the poles. In contrast to software life cycle models, software process. This standard uses a process model to discuss and depict aspects of software maintenance. Software maintenance is an important phase of software development life cycle sdlc, and it is. This section describes the six software maintenance processes as. For example, user issues that surface in the maintenance and support phase can become requirements at the beginning of the next cycle.

Software maintenance maintenance models quickfix model this is basically an adhoc approach to maintaining software. These models are also referred as software development process models. As with all maintenance types, there are potential drawbacks to relying solely on preventive maintenance. Also, traditional models fail to capture the evolutionary nature of the software. I believe it was devised by the us department of defense or at least heavily used by it. This standard describes an iterative process for managing and executing software maintenance activities.

This varies and is a bit of a loaded question because every software product is different. Incremental process model is also know as successive version model. The more complex the software, the more maintenance it will likely need to ensure continued use. Lets take a look at two interesting models that are not widely used. This document presents the fundamental principles that will guide the software maintenance and the user support tasks within the project. 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. Use of this standard is not restricted by size, complexity, criticality, or application of the software product. In this chapter from his book on software quality engineering, stephen h. User support and software maintenance process model. In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management. The quickfix model is an ad hoc approach used for maintaining the software.

It is a fire fighting approach, waiting for the problem to occur and then trying to fix it as quickly as possible. The basic premise is that when given a problem to solve, it is divided into stages. Software maintenancesoftware maintenance a very essential activity 2. He also describes the key metrics used by several major software developers and discusses software metrics data collection. Some methodologies are sometimes known as software development life cycle sdlc methodologies.

Software process models fundamental process activities the software engineering process is the set of activities and associated results that produce a software product. It presents a description of a process from some particular perspective as. In contrast to software life cycle models, software process models often represent a networked sequence of activities, objects, transformations, and events that embody strategies for. Software engineering institute carnegie mellon university. Studies suggest that the software maintenance process begins without proper. This is when technicians get bogged down by unnecessary tasks and cost the organization time and money. Need for maintenance software maintenance must be performed in order to. There are very many software process and lifecycle models and. The essential part of software maintenance requires preparation of an accurate plan during the development cycle. The software maintenance task is responsible to coordinate the continuous maintenance of the middleware components developed within the project and included in an emi distribution, preserving. If the pm schedule isnt regularly monitored, audited, and improved, pm creep can occur. Maintenance also requires several activities that are not found in software development see section 3.

Each process model follows a series of steps unique to its type to ensure success in the process of software development. At the process level, software maintenance activities share much in common with software development for example, software configuration management is a crucial activity in both. The software maintenance process software engineering 3rd ed. In maintenance management, bug fixing comes at priority to run the software seamlessly. The software maintenance, which can last for 56 years or even decades after the development process, calls for an effective plan which can address the scope of software maintenance, the tailoring of the post deliverydeployment process, the designation of who will provide maintenance, and an estimate of the lifecycle costs. They can be adapted and extended to create more specific processes. Process performance baselines vs models examples of process performance models. Software maintenance is the process of modifying a software product after it has been delivered to the customer. Machines, tools, parts, equipment, hardware, software, and so on equipment to be maintained. Exactly what are process performance models in the cmmi. The objective of this paper is thus to document and analyze an existing, moderate size, software maintenance project.

There are a number of processes, activities and practices that are unique to maintainers, for example. Software process models a software process model is an abstract representation of a process. These generic models are abstractions of the process that can be used to explain different approaches to the software development. An example of the object cross reference generated by edt. The problem with too many general methods is confirmed by 33 who argue that there is a lack of specific, adaptable process improvement models for software maintenance and try to address this. Preventive preventive software maintenance services help in preventing the system from any upcoming vulnerabilities. Perfective maintenance is concerned with the change in the software that occurs while adding new functionalities in the software. The main purpose of software maintenance is to modify and update software application after delivery to correct faults and to improve performance. Software maintenance overview software maintenance is widely accepted part of sdlc now a. What is an example of a waterfall model in software.

It is the process by which we prevent our system from being obsolete. Download scientific diagram software maintenance process model. A comparison between five models of software engineering. Sdlc or the software development life cycle is a process that produces software with the highest quality and lowest cost in the shortest time possible.

In this video, we learn about maintaining software, why is it required, its tasks and the potential problems and challenges. This process contains search out for errors in code and correct. The distribution of types of maintenance by type and by. Such models can be used to develop more precise and. 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. 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. To design, implement, and operate a successful software development process, exposure to similar existing systems is invaluable. Its possible to minimize maintenance costs through intelligent planning and execution, but its also possible. In contrast to software life cycle models, software process models often represent a networked sequence of activities, objects, transformations, and events that embody strategies for accomplishing software evolution. Explore 10 different types of software development process. Corrective maintenance is concerned with fixing errors that are observed when the software is in use.

Studies suggest that the software maintenance process begins without proper knowledge of the software system. Process models in software engineering walt scacchi, institute for software research, university of california, irvine. For example, initially unix was developed in assembly language. First, a simple working system implementing only a few basic features is built and then that is delivered to the customer. Software maintenance in software engineering is the modification of a software product after. Software maintenance the first law of software engineering no matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle bersoff et al. Software engineering software maintenance with software engineering. This article will explain how sdlc works, dive deeper in each of the phases, and provide you with examples to get a better understanding of each phase. The waterfall method is a project management strategy. Typically, maintenance takes up about 4080% of the project cost, usually closer to the higher pole. An introduction slide 10 software process improvement models objective.

Similar to the definition provided in chapter 2 for software development process, a. A task oriented software maintenance model 11 a methodology for software maintenance developed by yau 12 also explicitly deals with ripple effect as shown infigure 3. The software maintenance process model alain april1, jane huffman hayes. Software engineering software maintenance javatpoint. Among the explanations of software development life cycle with examples, the most useful ones are those that explore the aforementioned models and stages in detail. The scope of this study is user support and maintenance processes that could be described as activities, which are performed during software operation phase, but are more of service nature, i. There are four types of maintenance, namely, corrective, adaptive, perfective, and preventive. Identify ways of accommodating the evolutionary tendency of software within traditional software lifecycle models. Capability maturity model cmm, ami, spice, bootstrap, trillium, iso 90003 standards.

This occurs because the software maintenance team is unaware of the requirements and design documentation. Most parts of the icebergs are under water and cannot be seen. Software engineering software process and software. The smdp addresses software processes, methods, organizational responsibilities. Kan discusses several metrics in each of three groups of software quality metrics. The emd sdps software maintenance and development plan smdp, cdrl item 002, did emdsmdp2, defines the steps by which the development and maintenance of emd sdps software will be accomplished and the management approach to software development and maintenance.

778 922 581 1519 901 72 380 393 1369 657 961 173 541 1259 1146 1159 376 884 1536 1030 394 1352 1190 75 1554 223 843 944 494 986 1033 1056 362 1132 1008 777 1376 986 145 932 960 1471 569 1417 109 1098 478