1. Can correctness proving (proving mathematically that a program is correct) solve the problem that the product as delivered to the customer may not be what the customer really needs? Explain your answer.
2. Software reliability is very important to the success of our software engineering efforts. Explain the effect of maintenance activities on software reliability and how to ensure continued software reliability.
3. You are a support manager who has inherited a system that contains several errors. In addition, the users of the system have several enhancements that they really need made to the system. How would you address the maintenance of this system to get it to the point where it fully works for the users?
4. You are a project manager and have been told that you need to reuse some given code in your new development effort. How would you go about determining whether it is possible to reuse code for this effort?
5. One of the two issues that we should focus on to determine how well we are progressing in the area of software engineering, is how well we move our new software engineering ideas into practice. How well do you think we are doing towards this goal? State the rationale for your answer.
This solutions discusses in various parts the topics of correcctness proving, software reliability, system maintenance, code reusability, some project management principles, and related software engineering and design concepts.