Sonoma State University
Department of Computer Science
CS-370: Software Design and Development
Exercise 17: Long-term software maintenance

Objective:

To categorize software defects into one of four long-term maintenance tasks in software development:

  • Perfective
  • Adaptive
  • Corrective
  • Preventive

The exercise:

Place the following situations in their correct maintenance task categories (if applicable):

  • Rewrite a complicated method to see how it works. Then tuck the new code away for future reference but don't replace the original code in the application.
  • Add 2FA (two factor authentication) to the login screen.
  • Write documentation to clarify a module's low-level design.
  • Allow the users to change form background colors.
  • Rewrite code to run on a cloud platform instead of locally on the user's desktops.

Note: If the situation does not fit into one of the four maintenance categories (above), indicate this as well and justify your answer.

Uploading your solution:

  • This is an individual exercise, not a team exercise.
  • Please upload your answer in either PDF (Acrobat) or as an image file (i.e. digital scan of a paper document).