Question:Explain the term, software maintenance. Show
Answer: - Maintenance of a software system may be define which is used to concerned about the alteration or changes which are done in software system after the release. Maintenance of software is the part of software Engineering. Maintenance of software has a great value in the development of a system. Needs of Maintenance is required after
When any alteration or modification is done in software during the operation time then it is called maintenance. Maintenance of software have a large area which has correcting coding, and design faults, documentation and updating of user support. IEEE gives the definition of maintenance as Software maintenance is modification of a software product after delivery to correct faults to improve performance or other attribute or to adapt the product to a modified environment. According to Stephan - Software maintenances is a detailed activity that include
Reason of Maintenance of softwareIn the life of a software maintenance activity have a great value. In the comparison of development cost, the maintenance cost is higher. Normally Maintenance of a software take 40 to 70 % cost of total costing of software life cycle. Cost and difficulty are the two drawbacks in maintenance of software. We have some reasons which increases the need of software maintenance.
Types of software Maintenance
As long as your software product is in use, it’s never truly finished. In an ever-changing tech landscape, your software requires constant maintenance to keep up. It needs to be able to grow and evolve alongside trends, new technologies, your user base and your business goals. Far more than bug-fixing, there are several distinct categories of software maintenance. Some software maintenance changes happen behind the curtain, others are on stage and in the spotlight. As such, each category has a varying effect on your users. Here, we explore the different types of software maintenance and their user impact. Software maintenanceSoftware maintenance is the act of fine-tuning a software product. It’s about repair, upkeep and ongoing optimisation. Whenever you make a change to your existing software product (one currently in use by customers), you are performing software maintenance. Some of these changes are inconspicuous – if not invisible – to your users. Others can be disruptive if handled incorrectly. You can group software maintenance into four overarching categories:
Between them, these categories cover the full scope of changes you might make to a software product over its lifetime. But what do they actually mean? Preventive software maintenancePreventive maintenance refers to software changes carried out to futureproof your product. So, software maintenance changes are preventive when they prepare for any potential changes ahead. This includes making your code easier to scale or maintain and managing your legacy content. It also covers finding and fixing latent faults in your product, before they evolve into operational faults. Preventive software maintenance, then, tends to be behind the scenes. Think tidying and preparation, rather than headline changes. Your users are unlikely to notice preventive software changes – but they still have a positive effect later. This is because preventive maintenance can mean the smoother implementation of bigger changes later down the line. (As well as ongoing stability day to day.) Corrective software maintenanceCorrective changes in software maintenance are those that fix bugs, flaws and defects in the software. It often comes in the form of quick, small updates on a semi-regular basis. For users, corrective software maintenance is unlikely to cause negative sentiment. Who, after all, is unhappy about annoying bugs, glitches or issues getting fixed? This category of change helps make the user experience instantly and obviously smoother, as well as more reliable. However, on the odd occasion, a corrective change may cause some disruption to users. This might happen when a bug or flaw in the software is long-standing – and the user has grown accustomed to it. In such a case, a user may have adapted their behaviour around a flaw in your software. When it’s fixed, they must change their behaviour again, which can cause a negative response. Another time that a corrective change might upset a user is if they struggle with a certain bug or issue, but it isn’t fixed when other issues (that don’t affect them) are fixed. So, with corrective software maintenance, it’s important to act quickly and often. That helps you offset any potential user problems, and keep your product in shipshape. Adaptive software maintenanceThe tech environment is constantly changing. New knowledge, hardware, and cybersecurity threats mean that software quickly becomes outdated. Adaptive software maintenance addresses this issue. Adaptive changes focus on the infrastructure of the software. They’re made in response to new operating systems, new hardware, and new platforms, to keep the program compatible. Adaptive software changes tend to be low impact for users as they deal with the internal workings of the software. (Making sure it can integrate with new tech.) Users may notice a small improvement in speed or scalability but are otherwise unaffected. In fact, users are more likely to notice when adaptive maintenance isn’t completed. For example, it would mean their software stops working on their up-to-date devices. Perfective software maintenanceThe last software maintenance category is the biggest. Perfective software maintenance addresses the functionality and usability of the software. Perfective maintenance involves changing existing product functionality by refining, deleting, or adding new features. As well as changing the way a product works, perfective changes might also change the way it looks. Any user interface tweaks, redesigns, or in-app user journey changes fall under the perfective maintenance category, too. This scope and palpability make perfective maintenance the most likely to elicit change aversion in users. After all, perfective changes are highly noticeable. Users won’t notice a bit of refactored back-end code, but they’ll notice any chops and changes visible up-front. So, managing perfective changes means communicating with your users to mitigate any potential negative sentiment. Try using product feedback, dogfooding, and offering accessible support. Change is necessary: but make sure you manage it effectively. Manage your maintenanceSoftware maintenance is integral to keeping software running smoothly. But it’s not enough to merely make your changes and deploy them unannounced. When performing software maintenance, it’s important to consider what effect the changes you make could have on your users. If your software maintenance could cause confusion, you need to make sure you’re effectively communicating with – and supporting – your users. That way, you avoid the potential disruption of change and ensure that maintenance stays your product’s mainstay. Useful links
What is hardware and software maintenance?(1) Hardware maintenance is the testing and cleaning of equipment. (2) Software maintenance is the updating of operating systems and application programs in order to add new functions and change data formats. It also includes fixing bugs and adapting the software to new hardware devices.
Which type of maintenance ensure the system to run on changing environment and also a new environment?Adaptive maintenance is concerned with the changes made to the software in order to make it adaptable to new environments, such as running it on a new operating system. The term "perfective maintenance" refers to the changes in the software that occur as a result of adding new features.
What are the 4 types of software maintenance?What are the 4 types of software maintenance?. Corrective Software Maintenance. Corrective software maintenance is the typical, classic form of maintenance (for software and anything else for that matter). ... . Preventative Software Maintenance. ... . Perfective Software Maintenance. ... . Adaptive Software Maintenance.. What are the maintenance activities during software development?Software Maintenance must be performed in order to: Correct faults. Improve the design. Implement enhancements.. Corrective maintenance: ... . Adaptive maintenance: ... . Perfective maintenance: ... . Preventive maintenance:. |