APPENDIX Solutions to Exercises

Some of the exercises in this book have many possible solutions. For example, Exercise 4-7 asks you to think of ways to modify the Mr. Bones application. With a little creativity, you could probably come up with hundreds of possible modifications, so your answer probably won’t match mine.

In ambiguous cases like that one, look over the solution to see if it makes sense to you. If it doesn’t, you might want to review the material in the corresponding chapter. (Or you might like to e-mail me and ask, “What on earth were you thinking?”)

You can also start a discussion on the book’s P2P forum about any of these solutions. Sometimes, those kinds of discussions are fascinating.


  1. The basic tasks that all software engineering projects must handle are:
    1. Requirements Gathering
    2. High-Level Design
    3. Low-Level Design
    4. Development
    5. Testing
    6. Deployment
    7. Maintenance
    8. Wrap-up
  2. The following list gives a one sentence description of each of the tasks listed for Exercise 1.
    1. Requirements Gathering—Learn the customer’s wants and needs.
    2. High-Level Design—Describe the major pieces of the application and how they interact.
    3. Low-Level Design—Provide more detail about how to build the pieces of the application so that the programmers can actually implement them.
    4. Development—Write code to implement the application.
    5. Testing—Use the application under different circumstances to try to detect any flaws or bugs.
    6. Deployment—Roll out the application to the users.
    7. Maintenance ...

Get Beginning Software Engineering now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.