Improving the quality of existing software will drastically improve productivity and competitiveness of our software. Software engineering shares common interest with other engineering disciplines. This report presents the results of interviews between case environments project team members and personnel in eight software maintenance projects within an agency of the u. Techniques for software maintenance computer science. Maintenance knowledge area a maintainer is defined by isoiec 12207 as an the breakdown of topics for software maintenance is a organization that performs maintenance activities decomposition of software engineering topics that are iso12207. Maintenance phase ffiec it examination handbook infobase. This section focuses on systems development life cycle sdlc of software engineering. This first section introduces the concepts and terminology. Free download in pdf multiple choice questions with answers on software development life cyclesdlc. The main objective of software engineering is to develop methods for large systems, which help. Nasa sp20166105 rev2 supersedes sp20076105 rev 1 dated december, 2007. It involves debugging of errors and different types of enhancements. This chapter addresses the maintenance portion of software engineering and the software life cycle. Maintenance several different process models exist and vary mainly in the frequency, application and implementation of the above techniques, for example, different process models.
Abstract maintenance of software is a very crucial and important task but it is a very expensive process. Specification, design, implementation, documentation, or any other types of faults. Aggregate dod outlays for software maintenance amount to many billions of dollars every year. Three special steps always taken in this phase which are. During the initial development, the first version of the. In addition, software maintenance serves the following purposes. Due to the problems that arise during the maintenance phase, the research focuses on software qualify after delivery.
In this photo, engineers led by researcher greg gatlin have sprayed fluorescent oil on a. Guide to the software operations and maintenance phase esa. Software maintenance management nist technical series. A startling 90% of the cost of a typical software system is incurred during the maintenance phase 2. Top 27 sdlc interview questions and answers guru99. Maintenance phase an overview sciencedirect topics. There are 9 types of maintenance split between preventive maintenance and corrective maintenance. Baumann 3 bugs bug inexplicable defect engineering jargon, since 1940s can even trace back to t. Like other engineering domains where a given problem for example, building a bridge can be solved by following a series of interrelated steps, the software development process also comprises a number of steps or phases. Software maintenance in software engineering computer notes. 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. Sep 01, 2006 this standard uses a process model to discuss and depict each phase of software maintenance.
People in this stage are seeing results from their change, and working to keep it up. Maintenance is the most important phase of software production, the. Scheduled restoration tasks and replacement tasks are examples of preventive maintenance tasks. Abstract in every organization, testing is an important and valuable phase in.
In the coding phase, tasks are divided into units or modules and assigned to the various developers. Software engineering software life cycle processes 3. Model of the software development life cycle, highlighting the maintenance phase in systems engineering, information systems and software engineering, the software development life cycle sdlc, also referred to as the application development lifecycle, is a process for planning, creating, testing, and deploying an information system. This document should be read by everyone involved with software maintenance or software operations support. This guide discusses operations from the point of view of their interactions with software maintenance activities and the support activities needed to use the software efficiently and effectively. The maintenance phase involves making changes to hardware, software, and documentation to support its operational effectiveness. If estimated the cost of maintenance, phase wise, it is noted that for all phases of sdlc, the average cost of software maintenance at all stages is more than 50% of the cost of software product. The maintenance phase involves making changes to hardware, software, and. A study in software maintenance june 1993 technical report susan a. Maintenance is the last and the most critical phase of the software development life cycle. Importance of maintenance phase in software development. These are more suited to software systems and software objects as these do not wear or tear out like real world physical objects. Jun 04, 2017 this collection of solved mcq questions on software engineering includes mcq questions on definition of software engineering along with different ways of software maintenance.
There are two major types of maintenance corrective maintenance and adaptive maintenance. Importance of maintenance phase in software development model. Software maintenance constitutes a major phase of the software life cycle. Concepts and practice software maintenance, it is the representation of those parts of the process specifically pertaining to the evolution of the software. Software maintenance in software engineering tutorial 03. Software maintenance is considered as the longest phase in software s. It is well known that software maintenance consumes the majority of the costs of a software system during its entire life. Sometimes, maintenance also involves adding new features and functionalities using latest technology to the existing software system. Software maintenance and evolution are characterised by their huge cost and slow speed of impleme ntation. The role of program structure in software maintenance. It also includes about serial or linear sequential, rapid application development and iterative development model along with the different phases involved in developing a. Baumann the maintenance phase bug tracking credits.
Tech, be, me students an interview for various positions like web developer, system analyst etc. It is therefore prudent to possess software maintenance. For software systems that are under development the target is to reduce maintenance of software system already in early phase of software development. Software maintenance an overview sciencedirect topics. The chosen process usually involves techniques such as analysis, design, coding, testing and. During the operations and maintenance phase, the information systems availability. 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.
We take the exploration phase as an example to analyze the economic effectiveness of the software development activities. A brief examination of a number of web sites and papers concerned with software engineering, software evolution, and software maintenance also illustrated the confusion between terms such as maintenance and evolution with a completely uniform maintenance phase, and the almost universal acceptance of the lientz and swanson analysis. A software engineering process is the model chosen for managing the creation of. Software engineering is the application of engineering to software. The modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment. In the software maintenance process section we discuss the software maintenance process.
Software maintenance is defined in ieee standard 1219 1 as. Reports suggest that the cost of maintenance is high. Doj systems development life cycle guidance chapter 11. May 24, 2019 the goal of the maintenance stage isnt to expect endless progress without more life potholes to take care of. Reverse engineering is also useful in software testing, it helps the testers to study the virus and other malware code. Ffiec it examination handbook infobase maintenance phase. In this phase, developers start build the entire system by writing code using the chosen programming language. But at the same time, the field requires a future research work to enhance the quality of software and to reduce the challenges of maintenance phase. Software engineering processes dalhousie university. Software reverse engineering is used in software design, reverse engineering enables the developer or programmer to add new features to the existing software with or without knowing the source code. Nbsspecialpublication500429 softwaremaintenance management jamesa. During the operations and maintenance phase, t he information systems availability and performance in executing the work for which it was designed is maintained. In particular, the operations manual, sbd and contingency plan need to be updated and finalized during the operations and maintenance phase.
Preventive maintenance can be defined as an equipment maintenance strategy based on replacing, or restoring, an asset at a fixed interval regardless of its condition. Software maintenance as part of the software life cycle. The identifier of the practice is added in parentheses to mark a repetition. It is become important since several software products lack of documentation and are highly unstructured. Guide to the software engineering ieee computer society. Thus, software maintenance testing is essential during software testing phase. Monitoring software maintenance project risks core. In the planning phase, project goals are determined and a highlevel plan for the intended. The research will provide in its initial phase the maintenance method from the implementation stage, where this stage is one of the most important. The software maintenance process focuses on fixing errors, recovering from failures such as hardware failures or incompatibility of hardware with the software, and accommodating changes in the operating system and the hardware.
Preventive maintenance is done before a failure occurs and consists of maintenance types like. Department of electrical and computer engineering, national technical university. Software engineering software maintenance geeksforgeeks. Time based maintenance, failure finding maintenance, risk based maintenance, condition based maintenance and predictive maintenance. It has been estimated that there are more than 100 billion lines of code in production in the world. Maintenance is a very challenging and time consuming task and researchers have tried to. Once the system design phase is over, the next phase is coding. Software maintenance is an integral part of a software life cycle. Department ofcommerce nationalbureau ofstandards computerscience andtechnology nbs publications.
Maintenance phase the main focus of maintenance phase is change which cause is correction of errors, adaption of new idea, according to the needs of software after change in customer mood. This list briefly outlines some of the roles and responsibilities for key maintenance personnel. The output of the coding stage is the source code which can act as input for testing and maintenance phase. On an average, the cost of software maintenance is more than 50% of all sdlc phases. Basically software maintenance phase keeps the software up to date with environment changes, correct the faults and improve the performance of software product after delivery. The goal is to be aware we always have more potholes, and enjoy filling in more of them to build resilience. It is the longest phase of the software development life cycle process. Sdlc is an abbreviation of software development life cycle.
Pdf software maintenance model through the development. Ieee standard for software maintenance ieee std 12191998. Jun 05, 2015 maintenance phase starts after the successful completion of the deployment phase. Contents list of contributors xxv part i maintenance organization 1 maintenance organization 3 ahmed e. Changes include using modelbased systems engineering to improve. A study in software maintenance sei digital library carnegie. These multiple choice questions on software engineering are very useful for nielit, bca, b. Reverse engineering reverse engineering is the process followed in order to find difficult, unknown and hidden information about a software system. Sample pages of the template for a software maintenance plan. After the implementation of the system, maintenance phase looks for all the activity that is mandatory to keep the system operational. Once the systems engineering and analysis phase has been completed, and a. Software maintenance and software reengineering both fall in the ambit of software engineering. It includes making changes to improve a systems performance, correct problems, enhance security, or address user requirements. Thus, the definition of software maintenance as a lifecycle phase.
Nasa systems engineering handbook viii preface s ince the initial writing of nasasp6105 in 1995 and the following revision rev 1 in 2007, systems engineering as a discipline at the national aeronautics and space administration nasa has undergone rapid and continued evolution. This guide discusses operations from the point of view of their interactions with software maintenance activities and the support activities needed to use the software efficiently and. In that case the target is to provide early estimates for allocating resources and estimating costs for maintenance tasks. First introduced in 1995, it aims to be a primary standard that defines all the processes required for developing and maintaining software systems, including the outcomes andor activities of each process. The state realizes the largest value for the system during this phase. Software engineering multiple choice questions and answers pdf free download,objective type questions and answers,interview questions,viva,online bits,quiz. Yet they are inevitable activities almost all software that is useful and successful stimulates usergenerated requests for change and improvements. A new integrated model for maintenance process will be constructed and implemented to support the analysis activates during software maintenance.
These multiple choice questions mcq should be practiced to improve the software engineering skills required for various interviews campus interview, walkin interview, company interview, placements, entrance. Maintenance is despised by many software developers unless good maintenance service is provided, the client will tak e future development business elsewhere maintenance is the most important phase of software production, the most difficult and most thankless. The answers being yes, the system progressed to the next stage. To ensure modifications do not disrupt operations or degrade a systems performance or security, organizations should establish appropriate change management. Review and update documentation from the previous phases. Defects and errors found during testing process must undergo a retest process so that flaws, that is, defects and errors can be eliminated easily. Guide to the software operations and maintenance phase. The last phase of the software engineering lifecycle, operation and maintenance, often takes the majority of life cycle funds. Sdlc deliverables help state agencies successfully plan, execute, and.
A common observation of maintenance phase is that it purely includes fixing faults. Isoiecieee 12207 systems and software engineering software life cycle processes is an international standard for software lifecycle processes. 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. Software maintenance is often a challenging and hectic process for both software engineers and it consultancy firms. Short interview questions and answers on software engineering. Maintenance phase california state university, northridge. Importance of testing in software development life cycle ijser. Software engineering process te chnology sept in conjunction with the noted software maintenance expert thomas pigoski has developed this template for a software maintenance plan to aid the software engineer in implementing software maintenance requirements. They have been compiled from discussions with software engineers, research of the software engineering literature.
1300 240 1754 1354 537 1369 1554 1151 1663 948 1711 50 547 531 680 182 1585 1077 1505 1204 1464 282 896 835