Looking for More Information

Looking for More Information

This book is not a complete and definitive reference to the UML, let alone OO analysis and design. There are a lot of words out there and a lot of worthwhile things to read. As I discuss the individual topics, I will talk about other books you should go to for more in-depth information on the ideas in the UML and on OOA&D in general.

Of course, your first step beyond this book should be the three amigos' books on the UML.

  • Grady Booch led the work on the user's guide (Booch, Rumbaugh, and Jacobson 1999). This tutorial book explores ways in which you can use the UML to carry out various design tasks.

  • Jim Rumbaugh led the effort on the reference manual (Rumbaugh, Jacobson, and Booch 1999). I often find this detailed reference to the UML very useful.

  • Ivar Jacobson led work on the book that describes a process that works with the UML (Jacobson, Booch, and Rumbaugh 1999). I'll talk more about process issues in Chapter 2.

Of course, the three amigos' books are not the only ones you should read to learn about good OOA&D. My list of recommended books changes frequently; take a look at my home page for details.

If you are new to objects, I recommend my current favorite introductory book, Larman (1998). The author has a strong responsibility-driven approach to design that is worth following. If you want to know more about objects from a conceptual point of view, Martin and Odell (1998) is now available in a UML edition. Real-time developers should get a copy of Douglass (1998).

I also suggest that you read books on patterns for material that will take you beyond the basics. Now that the methods war is over, I think that patterns will be where most of the interesting material about analysis and design will appear. Inevitably, however, people will come up with new analysis and design techniques, and it is likely that they will talk about how these techniques can be used with the UML. This is another benefit of the UML; it encourages people to add new techniques without duplicating work that everyone else has done.