Você está na página 1de 13
si152019 Software Maintenance, Understanding the 4 Types | CoderHood You are here: Home / productivity / Software Maintenance, Understanding the 4 Types Software Maintenance, Understanding the 4 Types JANUARY 14, 2019 BY LORENZO PASQUALIS Reading Time: 6 minutes hitpsshwwu:coderhood.comvsoftware-maintonance-nderstanding-the-14ypes! ana si152019 Software Maintenance, Understanding the 4 Types | CoderHood Software systems are a collection of bits recorded on a storage device. It might seem that once a software application works, as long as the hardware it runs on is functional, it should just keep working for eternity. So, why is "software maintenance” even a thing? There is no physical wear and tear, and there are no materials that can rot or rust away. Software systems are not affected by the atmosphere, pollution, the weather, and there isn't anything that can physically break. However, this argumentation doesn't take into consideration an essential aspect: the context. While software applications do not have moving parts that are subject to physical wear and tear, they most often have dependencies with their working environment. With very hitpsshwwu:coderhood.comvsoftware-maintonance-nderstanding-the-14ypes! ana si152019 Software Maintenance, Understanding the 4 Types | CoderHood few exceptions, as the working environment inevitably changes, the assumptions the application was built upon crumble. Eventually, the app stops working or loses its value Examples of Context Changes Let me give you a few examples of context changes that can cause a software system to lose its value or break: + Awebsite that allows users to log-in using Google authentication stops working when Google changes its authentication protocol. (External dependencies change) + Aweather prediction software system becomes outdated when the implemented mathematical weather models become outdated. (State-of-the-art knowledge change) « The navigation software of a car becomes obsolete when more recent navigation software products released by competitors are significantly better. (Market expectation change) + The software that manages bank accounts in a financial institution must be updated when the hardware it runs on breaks, and compatible hardware is no longer available. (Hardware change) + An application stops working when any one of the used third party libraries requires an update to a new version that is not backward compatible. (Software dependency change) + An application needs to be modified to comply with new laws and regulations. (Compliance change) + An application needs to be fixed because the definition of leap year changed (External concepts and definitions change) * An application needs to integrate with a new and popular third-party system. (Market environment change) * Traffic is increasing on a website, and the website software needs to be rearchitected to be able to scale to the new traffic levels. (Usage patterns change) So, in principle, it is true that software applications don’t withstand physical wear and tear. However, non-physical processes cause software applications to age and expire if they are not rigorously maintained The Different Types of Software Maintenance Maintenance of software systems comes in four different flavors: adaptive, corrective, perfective and preventive. Please, note that | did not make up these names. If | did, | would have chosen something different. For example, | find the term “perfective” to be cringy, but | am going to stick with it for compatibility with the standard industry jargon A maintenance action is always a software change, but its classification depends on the reasons that triggered it. Let’s take a deep dive in the four types of maintenance, and how hitpsshwwu:coderhood.comvsoftware-maintonance-nderstanding-the-14ypes! ana

Você também pode gostar