HW16: Chapter 9

9.8. Briefly describe the three main types of software maintenance. Why is it sometimes difficult to distinguish between them?

Type of software maintenance:

  1. Fault repairs: Coding errors are usually relatively cost effective to fix – while design errors are not as they generally involve rewriting fundamental program concepts. Requirement errors are the most expensive to fix due to the entire system needing to potentially be redesigned.
  2. Environmental adaptation: This type of maintenance is required when something about the system’s environment has changed. This could be hardware, O.S., or some other software change that must be taken note of an the system must adapt to in order to keep moving forward.
  3. Functionality addition: This type of maintenance is necessary when the system requirements change in response to organizational or business change. The scale of the changes required for this mode of maintenance is often much larger than the previous two modes.

It is difficult to differentiate between these 3 types of maintenance due to it not always being clear which type of problem you are dealing with.

9.10. Do software engineers have a professional responsibility to develop code that can be easily maintained even if their employer does not explicitly request it?

Absolutely. As a software engineer one of your duties is to produce products of the highest quality possible. This is massively helpful as to reduce the amount of time and therefore money required to maintain the code in the future.

Leave a comment

Design a site like this with WordPress.com
Get started