Having briefly introduced software maintenance as a phase in the software life cycle, we can now proceed to discussing specific techniques, methodologies, and tools that support software maintenance. It considers that the changes made to the software system are iterative in nature. It is also known as a software development life cycle sdlc. The criteria established apply to both the planning of maintenance for software while. The implementation process contains software preparation and transition activities, such as the conception and creation of the maintenance plan. This varies and is a bit of a loaded question because every software product is different. These models can be used to explain different approaches to software development.
Software engineering software maintenance geeksforgeeks. Download scientific diagram software maintenance process model. Its possible to minimize maintenance costs through intelligent planning and execution, but its also possible. Software engineering software process and software process. Automatic demo models on startup can be disabled in the toolspreferences menu.
Software products change due to corrective and noncorrective software actions. Our aim is to describe a landscape for research in software maintenance and. There are various software development life cycle models defined and designed which are followed during the software development process. Market conditions policies, which changes over the time, such as taxation and. Yet they are inevitable activities almost all software that is useful and successful stimulates usergenerated requests for change and improvements.
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. A few of software development paradigms or process models are defined as follows. Quickfix model changes made at the code level, as easily as possible rapidly degrades the structure of the software. Software maintenance in software engineering is the modification of a software product after. This standard uses a process model to discuss and depict aspects of software maintenance. Software change management is the process of selecting which changes to encourage, which to allow, and which to prevent, according to project criteria such as schedule and cost. The software requirements ka is related closely to the software design, software testing, software maintenance, software configuration management, software engineering management, software engineering process, software engineering models and methods, and software quality kas. Once in operation, anomalies are uncovered, operating environment change, and new user requirements surface. Nowadays, software maintenance is widely accepted as part of software development life cycle sdlc. Corrective maintenance is concerned with fixing errors that are observed when the software is in use. As a result, the software maintenance team needs to use a quickfix model to avoid the time consuming process of smlc. Software maintenance process the series of actions taken to effect change during maintenance. User support and software maintenance process model. Software maintenance, understanding the 4 types coderhood.
Squier computer sciences corporation system sciences division lanhamseabrook, md, 20706 abstract. Software maintenance is widely accepted part of sdlc now a days. The main purpose of software maintenance is to modify and update software application after delivery to correct faults and to improve performance. The only constant in software development is change. The methodology may include the predefinition of specific deliverables and artifacts that are created and completed by a project. These models are also referred as software development process models. The software maintenance function suffers from a scarcity of management models to facilitate its evaluation, management, and continuous improvement. Lewins, prochaska and diclementes, and lippits theories to introduce three different software maintenance models. Typically, maintenance takes up about 4080% of the project cost, usually closer to the higher pole. Isoiecieee international standard for software engineering.
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. Y2k problem is an interesting example of the role of maintenance in software. This is a type of software development methodologies which is one conceptual framework for undertaking various software engineering projects. Additionally, we need a readily communicable model of the current process. The main reason for such linking is the ripple effects caused by a code change. Software maintenance is the general process of changing a system after it has been delivered.
Accordingly, the software product must change or evolve. Software engineering software process and software. When the real world changes, the software require alteration wherever possible. 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. There are many different approaches that you can mix and match, depending on your assets, your industry, and the size and experience of your maintenance team. This occurs because the software maintenance team is unaware of the requirements and design documentation.
Need for maintenance software maintenance must be performed in order to. Software maintenance itself as a field of study is new compared to software development. Waterfall model is the simplest model of software development paradigm. There are number of reasons, why modifications are required, some of them are briefly mentioned below. Finally, the last maintenance process, also an event which does not occur on a daily basis, is the retirement of a piece of software. The more complex the software, the more maintenance it will likely need to ensure continued use. Hence, a focus on maintenance definitely helps keep costs down. Software evolution and maintenance models slideshare. Software change management processes in the development. 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. 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. P14764 software engineering software life cycle processes.
S o f t w a r e m a i n t e n a n c e 12 software maintenance models software maintenance quickfix model iterative enhancement model fullreuse model boehms model tautes model. For example, the sashimi process is a way of organizing a waterfall with feedback. This model is beneficial when a single user is using the software system. Software maintenance and evolution are characterised by their huge cost and slow speed of impleme ntation. In this section a number of general process models are introduced and they are presented from an architectural viewpoint. There are various factors, which trigger maintenance cost go high, such as. It stands for all the modifications and updations done after the delivery of software product. Change management for maintenance and reliability professionals with these elements in place, the work could be planned, scheduled and the work crews effectively and efficiently deployed. Full text of control and management of the software maintenance changes process. Machines, tools, parts, equipment, hardware, software, and so on equipment to be maintained. Y2k was the need to fix software that handled years as twodigit numbers when the calendar switched from 1999 99 to 2000 00. There are four types of maintenance, namely, corrective, adaptive, perfective, and preventive. Software change management processes in the development of. Mar 17, 2017 software engineering software process and software process models part 2.
A corrective maintenance action is a software change that you make because. Software engineering software maintenance javatpoint. Dec 03, 2014 s o f t w a r e m a i n t e n a n c e 11 cost of software maintenance software maintenance 12. In the software maintenance process section we discuss the software maintenance process. This standard describes an iterative process for managing and executing software maintenance activities. Rusty gaston is one of thousands of cios who use oracle software to automate their organizations supply chain, financial, and hr operations. The changes are quickly made to the code and then to the accompanying documentation iterative enhancement model. Software process models a software process model is a simplified representation of a software process. Firstly, descript of the eight software maintenance process, then, research software maintenance process model of the structure and content, including the rapid change model, boehm model, ieee model, iterative enhancement four models, finally, analyze to the four models of software maintenance process, provide the basis for the selection of the. Use of this standard is not restricted by size, complexity, criticality, or application of the software product. Demo model automatically opens when processmodel starts, it will randomly pick a demo model from the industry selected during the install process. Studies suggest that the software maintenance process begins without proper.
From the original concept through phases of completion to maintenance updates, a software product is constantly changing. This may be effected at the coding level, or may require significant changes in design. A software process model is an abstract representation of a software process. Changes are implemented in the software system by following a software maintenance process, which is known as software maintenance life cycle smlc. The essential part of software maintenance requires preparation of an accurate plan during the development cycle.
Full text of control and management of the software. But shes one of just a handful who have decided to run those applications without an oracle maintenance contract, giving up rights to software. Models will have a basic explanation and may have a narration to help. This section describes the six software maintenance processes as. Each model represents a process from a specific perspective. If the organization is isocertified and fully compliant, a good documentation of the process should be readily available. There are very many software process and lifecycle models and. Maintenance for software always involves a change in the software. Software maintenance is an integral part of a software life cycle. Software maintenance process models allison lindemann. In this paper, we use change theory to introduce a deeper understanding of the software maintenance process. The sm mm addresses the unique activities of software maintenance while preserving a structure similar to that of the capability maturity model integration cmmi. Software engineering process models by computer education for all.
These process models are alternatives, but not exclusive ones. This life cycle comprises seven phases, namely, problem identification, analysis, design, implementation, system testing, acceptance testing, and delivery phase. Evolution of software development process models penn state harrisburg comp4w fall 2007 part of this material taken from steven schach. Mar 10, 2018 software evolution and maintenance models. Software maintenance overview software maintenance is widely accepted part. Jan 14, 2019 a maintenance action is always a software change, but its classification depends on the reasons that triggered it. A software development paradigm has its own set of tools, methods and procedures, which are expressed clearly and defines software development life cycle. Software maintenance process model and contrastive. Software maintenance is the process of modifying a software product after it has.
The process identifies the changes origin, defines critical project decision points, and establishes project roles and responsibilities. Lets take a deep dive in the four types of maintenance, and how to recognize them. First changes are made to the highest level documents. This standard uses a process model to discuss and depict each phase of software maintenance. Software maintenance is the process of modifying a software product after it has been delivered to the customer. Some programs took that to mean that time had moved backwards. Software maintenance process model and contrastive analysis. Software maintenance change control process change control process comes into effect when the software and associated documentation are delivered to configuration management change request form as shown in fig.
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. If the software must be ported to another platform without any change in functionality, this process will be used and a maintenance project team is likely to be assigned to this task. The changes are quickly made to the code and then to the accompanying. This document presents the fundamental principles that will guide the software maintenance and the user support tasks within the project. A change analysis process to characterize software maintenance projects lionel c. The typical reason for process change is either cost reduction or variation reduction. S o f t w a r e m a i n t e n a n c e reasons for maintaining software over a period of time softwares original requirement may change to reflect the customers needs. Maintenance is needed to ensure that the software continues to satisfy user requirements.
Nov 27, 2011 firstly, descript of the eight software maintenance process, then, research software maintenance process model of the structure and content, including the rapid change model, boehm model, ieee model, iterative enhancement four models, finally, analyze to the four models of software maintenance process, provide the basis for the selection of the. These models consider the three success factors and incorporate contextual information to help maintainers better understand the software. Agile software development is an approach that is used to design a disciplined software management process which also allows some frequent alteration in the development project. S o f t w a r e m a i n t e n a n c e 12 software maintenance models. Software maintenance is a part of the software development life cycle. Observations from the field george stark, mitre paul oman, univ of idaho abstract there is much literature describing software maintenance process models, but few com parative studies on the approaches used by managers in the field. On an average, the cost of software maintenance is more than 50% of all sdlc phases. Adaptive modifying the system to cope with changes in the software environment dbms, os. By keeping detailed records,following predefined standard operating procedures, and adhering to proper escalation protocols a company can efficiently maintain and update their product. Its primary goal is to modify and update software application after delivery to correct errors and to improve performance. Each process model follows a series of steps unique to its type to ensure success in the process of software development. Software maintenance and change control process are critical elements of continued success of any software package. 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.
As the user has proper knowledge of the software system, it becomes easier to maintain the software system without having need to manage the detailed documentation. The software maintenance process model alain april1, jane huffman hayes. Change is inevitable in all stages of a software project. A process model gives an abstract representation of a way in which to build software. Basili, yongmi kim computer science department and institute for advanced computer studies university of maryland, college park, md, 20742 donald r.
The criteria established apply to both the planning of maintenance for software while under development, as well as the planning and execution of software maintenance activities for existing software products. Many process models have been described and we will look at a number of such models. Oct 21, 2016 the more complex the software, the more maintenance it will likely need to ensure continued use. Maintenance is applicable to software that is developed using any software life cycle model for example, spiral or linear. The biggest challenge in software maintenance is when systems are not designed for changes. If these parts of the work process were lacking they would have to be. We spend a lot of time extolling the virtues of preventive maintenance, but its far from the only maintenance strategy out there. Objectoriented and classical software engineering 7e c julia m. Keywords software change management, software configuration, software maintenance, process improvement, process modelling, process analysis abstract the goal of the research presented in this thesis is to examine software change management processes in order to identify essential change management prob.
1193 83 1338 993 1431 1313 1599 677 799 828 1411 1440 861 911 1147 1097 77 151 1120 1070 586 665 1231 1345 459 648 1166 988 1000