Software maintenance issues in software engineering

Factor analysis resulted in the identification of six problem factors. Race conditions and other async issues that dont occur in testing because of poor l. When we need to update the software to keep it to the current market, without impacting its functionality, it is called software reengineering. The software is modified so that it can adapt to the changed environment. A third factor is the sense that much of the software engineering and computer science research has not touched on the problems associated with maintenance. Software engineering causes of software maintenance problems with software engineering tutorial, models, engineering, software development life cycle, sdlc. The objective of this paper is thus to document and analyze an existing, moderate size, software maintenance project. Software maintenance costs will typically form 75%. Categories of software maintenance maintenance can be divided into the following. Chapter 18 slide 2 objectives to explain the benefits of software reuse and some reuse problems to discuss several different ways to implement software reuse to explain how reusable concepts can be represented as patterns or embedded in program generators. There are very many software process and lifecycle models and. Software engineering was introduced to address the issues of lowquality software projects. Major issues of software maintenance are in arrangement with customer significances, cost estimation with some technical challenges and staffing etc. Arial times new roman verdana wingdings globe maintenance issues in software engineering slide 2 categories of software maintenance maintenance activities maintenance process models phases in software maintenance maintenance management maintenance organizations maintenance.

Acceptance testing after testing the system internally, it is tested for acceptance with the help of users. Software engineering risk management geeksforgeeks. When the real world changes, the software require alteration wherever possible. Software maintenance is the process of modifying a software product after it has been. 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 the software on a new operating system. Software project management has wider scope than software engineering process as it involves. Maintenance is the last stage of the software development life cycle. Problems and solutions in software maintenance sciencedirect.

Software engineering software maintenance software maintenance is the process of modifying a software product after it has been delivered to the customer. Postdelivery maintenance in modern software development. Which factors affect software projects maintenance cost more. The difference between adaptive and preventive maintenance can be fuzzy at times. Software maintenance article about software maintenance. Some of the crucial factors contributing to the software maintenance problems are identified and. Software maintenance in software engineering is the modification of a software product after. Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes. Limited understanding refers to how quickly a software engineer. Software engineers shall advance the integrity and reputation of. Generally in the software engineering process, the development part of the software is done by a software engineer who may not contribute to the maintenance part. Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

What are the problems that occure during software maintenance in. Introduction to software engineeringdeploymentmaintenance. We need to upgrade your system with latest technologies 2. Software engineering is the systematic approach to the development, operation, maintenance, and retirement of software. Maintenance in modern software development goes behind just fixing bugs or defects in the code, it entails keeping up with users expectations and adaptations to new platforms, devices, and. If at this state, user complaints some issues they are. It makes it very difficult for a programmer to detect and correct a critical defect affecting customer operations. Its primary goal is to modify and update software application after delivery to correct errors and to improve performance. 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 software maintenance cost has risen to 70% of the data processing budget in some corporations. Causes of software maintenance problems javatpoint. Problems arise when a software generally exceeds timelines, budgets, and. It is a thorough process where the design of software is changed and programs are rewritten. Software maintenance software maintenance is the process of changing a system after it has been delivered.

Profession software engineers shall advance the integrity and reputation of. What is the purpose behind the software maintenance. A computer code project may be laid low with an outsized sort of risk. Management software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

Maintenance issues in software engineering praveen chandra kidambi. The 11th european conference on software maintenance and reengineering, held in march 2007, was dedicated to methods and techniques of dealing with these issues of software evolution. A common perception of maintenance is that it merely involves fixing defects. In this course, we will cover the problems in maintaining software systems, building software in view of the maintenance problems, the activity of maintenance and some management issues in maintenance. However, one study indicated that over 80% of maintenance effort is used for noncorrective actions. Reference software configuration management standards interna tional standards isoiec 12207 1995. A fundamental problem of software engineering is the problem of scale. The key software maintenance issues are both managerial and technical.

Some of the crucial factors contributing to the software maintenance problems are identified and discussed and some management and technical solutions to the pressing problems are proposed. We need our software to work smooth while integrating to multiple other tools, frameworks, features, functionalities, etc. Knowledge of computer programming is a prerequisite for becoming a software engineer. The outcome of software engineering is an efficient and reliable software product. Ian sommerville 2004 software engineering, 7th edition. However, studies and surveys over the years have indicated that the majority, over 80%, of the maintenance effort is used for noncorrective actions pigosky 1997. Software engineering is an engineering branch associated with development of software product using welldefined scientific principles, methods and procedures.

Finally, the last maintenance process, also an event which does not occur on a daily basis, is the retirement of a piece of software. 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. Reverse engineering reverse engineering is the process followed in order to find difficult, unknown and hidden information about a software system. Legacy software cannot keep tuning with the latest technology available in the market.

Preventive maintenance is a software change you make to avoid potential but not guaranteed future issues. A free powerpoint ppt presentation displayed as a flash slide show on id. Ieee trans software engineering, vol se7 no 2 1981, pp. Any glitches and bugs discovered in the software are corrected so that users can use the software and so that it would operate and run smoothly as well. Software maintenance fundamentals of software engineering. Requirements phase, design, implementation, testing, and maintenance.

The software maintenance process comprises a set of software engineering activities that occur after the software has been delivered to the user. Software engineering software maintenance geeksforgeeks. In 2004 the ieee computer society produced the swebok, which has been published as isoiec technical report 1979. This chapter is the updated version of the software maintenance generally accepted knowledge to be used as a consistent view of this software engineering topic worldwide. There are few fundamental problems that software engineering faces. Software engineering software life cycle processes. Why we need to address ethical issues in software engineering. Codes are rarely traceable to the requirements and design specifications. Software maintenance provides unique technical and management challenges for software engineersfor example, trying to find a fault in software containing a large number of lines of code that another software engineer developed. To design, implement, and operate a successful software development process, exposure to similar existing systems is invaluable. Software maintenance, understanding the 4 types coderhood. It is become important since several software products lack of documentation and are highly unstructured. Modifying a program after it has been put into use. Another of the many types of software maintenance in software engineering is corrective maintenance.

Like a detective, the programmer pores over the program looking for clues. This issue requires adaptive maintenance, which is modification of a software product performed after delivery to keep a software product usable in a changed or changing environment. First we identify the software maintenance unique activities. Software maintenance itself as a field of study is new compared to software development. Software engineering risk management risk management. Software maintenance cost is derived from the changes made to software after it has been delivered to the end user. This includes modifications and updations when the customers need. Software engineering causes of software maintenance.

Software maintenance 2nd edition, grubb and takang, world scientific 2003. Software production and maintenance issues, costs estimation, project schedule and knowledge of the process have always been complicated cases in software engineering. Sometimes, maintenance also involves adding new features and functionalities using latest technology to the existing software system. Here, the maintenance engineer, responsible for maintaining the software or application, has to get acquainted with the detailed design, relevant documentation, functioning of the. Accurately estimate your software maintenance costs. Maintenance issues in software engineering praveen chandra kidambi what is software maintenance. To address this issue and the other maintenance issues presented above, we propose a maturity model for software maintenance modeled after the cmmi of the software engineering institute sei02. Cost depends on the creation and maintenance of the software. Cleaning up legacy data to migrate to new structures. Thus, continuous monitoring and control of maintenance costs, and software optimization, are really important.

Perfective maintenance is concerned with the change in the software that occurs while adding new functionalities in the software. Types of software maintenance in software engineering. Software engineering is a detailed study of engineering to the design, development and maintenance of software. The process of software development includes requirements phase, design, implementation, testing, and maintenance. Pdf software maintenance is often a challenging and hectic process for both software engineers and it consultancy firms. The main aim of this paper is to highlight the major issues of maintenance phase.

1285 721 1323 506 1603 1295 1007 909 376 1358 1135 729 1129 113 1029 1248 985 408 270 1590 305 437 1352 1430 99 1226 1162 1024 991 243 436 521 759 18 330 567 364 139 866