Problem 1
Explain how advances in technology can force a software subsystem to undergo change or run the risk of becoming useless.
Problem 3
Explain why legacy systems should be thought of as sociotechnical systems rather than simply software systems that were developed using old technology.
Problem 4
Some software subsystems are seen as "low quality, high business value." Discuss how those subsystems can be re-engineered with minimal impact on the operations of the organization.
Problem 6
Explain why problems with support software might mean that an organization has to replace its legacy systems.
Problem 8
Briefly describe the three main types of software maintenance. Why is it sometimes difficult to distinguish between them?
Problem 9
Explain the differences between software reengineering and refactoring?
Problem 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?