UPDATED ACTUAL QUESTIONS AND
CORRECT ANSWERS
Explain why a software system that is used in a real-world environment must change or become
progressively less useful. - CORRECT ANSWER
Explain why legacy systems should be thought of as sociotechnical systems rather than simply
software systems that were developed using old technology. - CORRECT ANSWER
Under what circumstances might an organization decide to scrap a system when the system
assessment suggests that it is of high quality and high business value? - CORRECT ANSWER
What are the strategic options for legacy system evolution? When would you normally replace all or
part of a system rather than continue maintenance of the software? - CORRECT ANSWER
Explain why problems with support software might mean that an organization has to replace its legacy
systems. - CORRECT ANSWER
As a software project manager in a company that specializes in the development of software for the
offshore oil industry - CORRECT ANSWER
Briefly describe the three main types of software maintenance. Why is it sometimes difficult to
distinguish between them? - CORRECT ANSWER
Explain the differences between software reengineering and refactoring. - CORRECT ANSWER
Do software engineers have a professional responsibility to develop code that can be easily
maintained even if their employer does not explicitly request it? - CORRECT ANSWER
Suggest six reasons why software dependability is important in most sociotechnical systems. -
CORRECT ANSWER