Software engineeringLesson 5 of 5 in the course Testing and maintenance

Software Maintenance: Change Cycles, Categories, and Legacy-System Decisions

5 flashcards · 5 quiz questions · 5 match pairs · 5 fill-in sentences · English

Lesson progress
0 / 5

Your progress is kept in this browser only.Sign up to save it

Summary

Software maintenance begins after software has been delivered and continues as users, technology, and business needs change. This lesson explains what maintenance involves and how a change moves from a request to a tested release.

Software maintenance is the modification of software after delivery. It is driven by events—such as user requests, bug reports, or changes in the environment—rather than only by a predefined set of development requirements. Its main purpose is to preserve the software's usefulness and ensure it continues to meet usability needs.

All flashcards

What is software maintenance?
The modification of software after delivery, including fixing defects, adapting to changes, and improving its usefulness.
What is a change request?
A request, often from a customer or end user, asking for a software change such as a defect fix or a new capability.
What are the common activities in a software maintenance life cycle?
Understanding the existing code, modifying it, and revalidating the changed system.
What does revalidation check?
It checks that the change achieves its intended purpose and that existing functionality has not been compromised.
Why can maintenance require extra resources after release?
The initial product may have unfinished work or defects, and the development team may be unavailable, so maintainers must provide support and learn the system.

Quiz questions

  1. What does technical debt describe in software development?Answer: Future cost and risk from expedient choices that reduce maintainability.
  2. Which measures are associated with calculating a maintainability index?Answer: Lines of code, McCabe measures, and Halstead complexity measures.
  3. How can a wrapper help integrate a legacy system with newer applications?Answer: It places an abstraction layer around the system's existing interfaces.
  4. What can make outsourced or offshored maintenance harder to coordinate?Answer: Time-zone, cultural, and organizational differences can impede communication.
  5. Why can testing account for a large share of legacy-system migration expense?Answer: Teams must verify that the new system produces the old system's outputs.

Based on the Wikipedia article Software maintenance, licensed CC BY-SA 4.0. Adapted into a summary, flashcards and quizzes.

All Software engineering lessons