Software maintenance maintenance models quickfix model this is basically an adhoc approach to maintaining software. Exactly what are process performance models in the cmmi. 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 at the same time their stability in terms of interface and behavior, so that higherlevel frameworks and. It is also known as a software development life cycle sdlc. Need for maintenance software maintenance must be performed in order to. Software maintenance overview software maintenance is widely accepted part of sdlc now a. There are very many software process and lifecycle models and.
Software maintenance and development plan for the emd. The main purpose of software maintenance is to modify and update software application after delivery to correct faults and to improve performance. Then thereafter many successive iterations versions are implemented and delivered to the customer until the desired system is released. These models are also referred as software development process models. 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 objective of this paper is thus to document and analyze an existing, moderate size, software maintenance project. It is the process by which we prevent our system from being obsolete. The smdp addresses software processes, methods, organizational responsibilities. The methodology may include the predefinition of specific deliverables and artifacts that are created and completed by a project. Software engineering software maintenance geeksforgeeks. Corrective maintenance is concerned with fixing errors that are observed when the software is in use. For example, user issues that surface in the maintenance and support phase can become requirements at the beginning of the next cycle.
Software process models fundamental process activities the software engineering process is the set of activities and associated results that produce a software product. Its possible to minimize maintenance costs through intelligent planning and execution, but its also possible. 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. The basic premise is that when given a problem to solve, it is divided into stages. Process performance baselines vs models examples of process performance models. 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. 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. An example of the object cross reference generated by edt. 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. Identify ways of accommodating the evolutionary tendency of software within traditional software lifecycle models. User support and software maintenance process model. 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.
On an average, the cost of software maintenance is more than 50% of all sdlc phases. These generic models are abstractions of the process that can be used to explain different approaches to the software development. 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. Software engineering software maintenance javatpoint. Capability maturity model cmm, ami, spice, bootstrap, trillium, iso 90003 standards. Machines, tools, parts, equipment, hardware, software, and so on equipment to be maintained. The more complex the software, the more maintenance it will likely need to ensure continued use. 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 various software development life cycle models defined and designed which are followed during the software development process. What is an example of a waterfall model in software. 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. An introduction slide 10 software process improvement models objective. Perfective maintenance is concerned with the change in the software that occurs while adding new functionalities in the software. The essential part of software maintenance requires preparation of an accurate plan during the development cycle. Software maintenancesoftware maintenance a very essential activity 2. Software maintenance in software engineering is the modification of a software product after.
This section describes the six software maintenance processes as. Use of this standard is not restricted by size, complexity, criticality, or application of the software product. This process contains search out for errors in code and correct. Software process models a software process model is an abstract representation of a process. Software engineering software maintenance with software engineering. If the pm schedule isnt regularly monitored, audited, and improved, pm creep can occur. As with all maintenance types, there are potential drawbacks to relying solely on preventive maintenance. Most parts of the icebergs are under water and cannot be seen. 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. Such models can be used to develop more precise and. Process models in software engineering walt scacchi, institute for software research, university of california, irvine. However, generic models, as they aimed at more wide applications, are not always straightforward to implement. Explore 10 different types of software development process. 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. A comparison between five models of software engineering. Similar to the definition provided in chapter 2 for software development process, a. Ever since mankind starting exploring the oceans, icebergs have been a problem for seamen getting closer to the poles. Incremental process model is also know as successive version model. For example, initially unix was developed in assembly language. 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.
The waterfall method is a project management strategy. To design, implement, and operate a successful software development process, exposure to similar existing systems is invaluable. 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. Also, traditional models fail to capture the evolutionary nature of the software. It presents a description of a process from some particular perspective as.
Software engineering software process and software. The software maintenance process software engineering 3rd ed. Studies suggest that the software maintenance process begins without proper. Lets take a look at two interesting models that are not widely used. Maintenance also requires several activities that are not found in software development see section 3. 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. 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.
In contrast to software life cycle models, software process. Kan discusses several metrics in each of three groups of software quality metrics. Software engineering institute carnegie mellon university. 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. The criteria established apply to both the planning of maintenance for software while. The distribution of types of maintenance by type and by. 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. Studies suggest that the software maintenance process begins without proper knowledge of the software system.
Some methodologies are sometimes known as software development life cycle sdlc methodologies. In maintenance management, bug fixing comes at priority to run the software seamlessly. Download scientific diagram software maintenance process model. Preventive preventive software maintenance services help in preventing the system from any upcoming vulnerabilities. Software maintenance itself as a field of study is new compared to software development. In this chapter from his book on software quality engineering, stephen h. The software maintenance process model alain april1, jane huffman hayes. 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. There are four types of maintenance, namely, corrective, adaptive, perfective, and preventive. Explain the weaknesses of traditional lifecycle models with respect to maintenance. 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. He also describes the key metrics used by several major software developers and discusses software metrics data collection. This occurs because the software maintenance team is unaware of the requirements and design documentation.
103 1346 309 190 1197 705 1567 803 797 1149 554 435 772 1135 1242 1245 1548 28 107 207 107 1139 529 1126 260 1433 1118 467 59 318 160 1504 450 1319 1289 1089 1160 1265 454 237 1031 805 852