Explain Software maintenance and its types.

Software Maintenance

- Software maintenance is a natural part of SDLC (software development life cycle). 

 - Software Maintenance is the process of modifying a software product after it has been delivered to the customer. 

- The main purpose of software maintenance is to modify and update software applications after delivery to correct faults and to improve performance.

- Software Maintenance is an activity in which a program is modified after it had been put into use.

- In Software Maintenance usually, it is not preferred to apply major software changes to the system’s architecture.

- Maintenance is a process in which changes are implemented by either modifying the existing system’s architecture p\or by adding new components to the system.

- Software Maintenance is an inclusive activity that includes error corrections, enhancement of capabilities, deletion of obsolete capabilities, and optimization.

- Software maintenance is the process of changing, modifying, and updating software to keep up with customer needs. Software maintenance is done after the product has launched for several reasons including improving the software overall, correcting issues or bugs, boosting performance, and more.  

-There are four major activities that occur within maintenance:-

  • Obtaining maintenance requests
  • Transforming requests into changes 
  • Designing changes 
  • Implementing changes


Need for Maintenance -

Software Maintenance must be performed in order to:

• Correct faults.

• Improve the design.

• Implement enhancements.

• Interface with other systems.

• Accommodate programs so that different hardware, software, system features, and telecommunications facilities can be used.

.

Types of maintenance

In a software lifetime, the type of maintenance may vary based on its nature. It may be just a routine maintenance task as some bug discovered by some user or it may be a large event in itself based on maintenance size or nature. Following are some types of maintenance based on their characteristics:

• Corrective Maintenance - This includes modifications and updations done in order to correct or fix problems, which are either discovered by a user or concluded by user error reports.

• Adaptive Maintenance - This includes modifications and updations applied to keep the software product up-to-date and tuned to the ever-changing world of technology and business environment.

• Perfective Maintenance - This includes modifications and updates done in order to keep the software usable over a long period of time. It includes new features, new user requirements for refining the software and improve its reliability and performance.

• Preventive Maintenance - This includes modifications and updations to prevent future problems with the software. It aims to attend problems, which are not significant at this moment but may cause serious issues in the future.


          FOR LONG ANSWER OF MAINTENANCE

Types of Software Maintenance Services Categories:

1. Adaptive Maintenance

It is the process of conversion in the system to keep the software compatible with changing business needs and technical evolution. This type of software maintenance primarily focuses on software frameworks. Adaptive maintenance is made in response to new operating systems, platforms, and hardware to retain continuity with the software.


2. Perfective Maintenance

It is a process of modifying all elements, functionalities, and abilities to enhance system operations and performance. The software’s receptiveness and usability are solved by perfective software maintenance. It includes altering current software functionality by improving, removing, or inserting new features or functions.


3. Corrective Maintenance

Identifying errors in the existing solution and correcting them to make it works more accurately. These software maintenance activities aim to eliminate and fix bugs or issues in the software. Corrective software maintenance is usually done in the form of small updates frequently.


4. Preventive Maintenance

This service helps in preventing the system from any forthcoming vulnerabilities. Preventive maintenance defines improvements of the software, which is done to safeguard the software for the future. It is carried out to prevent the product from any potential software alteration. Preventive maintenance also makes it easier to scale or maintain your code and handle your legacy system.

                                                                    OR,

There are four types of software maintenance:


  • Corrective Software Maintenance
  • Adaptive Software Maintenance
  • Perfective Software Maintenance
  • Preventive Software Maintenance

Corrective Software Maintenance

Corrective software maintenance is what one would typically associate with the maintenance of any kind. Correct software maintenance addresses the errors and faults within software applications that could impact various parts of your software, including the design, logic, and code. These corrections usually come from bug reports that were created by users or customers – but corrective software maintenance can help to spot them before your customers do, which can help your brand’s reputation.


Adaptive Software Maintenance

Adaptive software maintenance becomes important when the environment of your software changes. This can be brought on by changes to the operating system, hardware, software dependencies, Cloud storage, or even changes within the operating system. Sometimes, adaptive software maintenance reflects organizational policies or rules as well. Updating services, making modifications to vendors, or changing payment processors can all necessitate adaptive software maintenance.


Perfective Software Maintenance

Perfective software maintenance focuses on the evolution of requirements and features that existing in your system. As users interact with your applications, they may notice things that you did not or suggest new features that they would like as part of the software, which could become future projects or enhancements. Perfective software maintenance takes over some of the work, both adding features that can enhance user experience and removing features that are not effective and functional. This can include features that are not used or those that do not help you to meet your end goals.


Preventive Software Maintenance

Preventative Software Maintenance helps to make changes and adaptations to your software so that it can work for a longer period of time. The focus of the type of maintenance is to prevent the deterioration of your software as it continues to adapt and change. These services can include optimizing code and updating documentation as needed.


Preventative software maintenance helps to reduce the risk associated with operating software for a long time, helping it to become more stable, understandable, and maintainable.

                                                      OR,

The four types are:

  1. Corrective Software Maintenance
  2. Preventative Software Maintenance 
  3. Perfective Software Maintenance
  4. Adaptive Software Maintenance


Corrective Software Maintenance

  • Corrective software maintenance is the typical, classic form of maintenance (for software and anything else for that matter). Corrective software maintenance is necessary when something goes wrong in a piece of software including faults and errors. These can have a widespread impact on the functionality of the software in general and therefore must be addressed as quickly as possible. 
  • Many times, software vendors can address issues that require corrective maintenance due to bug reports that users send in. If a company can recognize and take care of faults before users discover them, this is an added advantage that will make your company seem more reputable and reliable (no one likes an error message after all).


Preventative Software Maintenance

  • Preventative software maintenance is looking into the future so that your software can keep working as desired for as long as possible. This includes making necessary changes, upgrades, adaptations, and more. 
  • Preventative software maintenance may address small issues which at the given time may lack significance but may turn into larger problems in the future. These are called latent faults which need to be detected and corrected to make sure that they won’t turn into effective faults. 


Perfective Software Maintenance

  • As with any product on the market, once the software is released to the public, new issues and ideas come to the surface. Users may see the need for new features or requirements that they would like to see in the software to make it the best tool available for their needs. This is when perfective software maintenance comes into play. 
  • Perfective software maintenance aims to adjust software by adding new features as necessary and removing features that are irrelevant or not effective in the given software. This process keeps software relevant as the market, and user needs, change. 


Adaptive Software Maintenance

Adaptive software maintenance has to do with the changing technologies as well as policies and rules regarding your software. These include operating system changes, cloud storage, hardware, etc. When these changes are performed, your software must adapt in order to properly meet new requirements and continue to run well. 


             






Comments

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?

Discuss classification or taxonomy of virtualization at different levels.