From the Inside Flap
It was 1991 when I got my first copy of Booch's classic Object Oriented Design with Applications (first edition). I had learned several OO languages by then, including C++ and Smalltalk. I was absolutely thrilled by the concept of Booch's notation. Those clouds! Those relationships! The message passing diagrams! As a software designer it was just what I needed!
I also needed a tool to draw the diagrams. So I started writing a CASE tool in Think-C for the Macintosh. I remember spending a lot of time getting the cloud icon to look just right. Though I never finished that CASE tool, one artifact of it remains. The cloud icon I created has followed me from computer to computer, from Macintosh to Windows, and has been the source of all the cloud icons I have ever drawn in any book or article.
I remember the incredible day that my office partner, Billy Vogel, was talking on the phone to a head-hunter. He looked over at me and said: "Uncle Bob, I think you should take this call." The recruiter was looking for consultants to work at Rational, with Grady Booch, on a CASE tool to draw Booch Diagrams! How could such luck drop right into my lap?
A dozen years have passed. I still have my original copy of Booch's book. It's a bit frayed and dog-eared, but the book still has the power to evoke echoes of the same old thrills.
Today, of course, we use UML -- the one-third offspring of Booch's notation. UML is a powerful and comprehensive notation, far grander in its sweep and scope than Booch's was. Whereas Booch's notation was good for drawing pictures of software, UML is apparently good for creating models of just about anything you can imagine -- or so say some of its pundits. As grand and all-encompassing as UML may be, I find that a reasonable subset is all I need for drawing pictures of software. The same kind of pictures I used to create with Booch's notation.This book is about that subset, and about those pictures. This book takes the vast richness of UML 2.0 and boils it down to the essence that every programmer needs in order to draw pictures of his, or her, software designs. This book reduces the panoply of UML widgets, icons, diagrams, relationships, and arrowheads, into a simple suite of tools that Java programmers can use to record their design decisions.
Make no mistake about it. This book will not teach you everything about UML. But if you are a Java programmer, it will teach you what you need to know.
From the Back Cover
UML for Java Programmers
Robert C. Martin
All the UML Java developers need to know
You don't use UML in a vacuum: you use it to build software with a specific programming language. If that language is Java, you need UML for Java Programmers. In this book, one of the world's leading object design experts becomes your personal coach on UML 1&2 techniques and best practices for the Java environment.
Robert C. Martin illuminates every UML 1&2 feature and concept directly relevant to writing better Java software--and ignores features irrelevant to Java developers. He explains what problems UML can and can't solve, how Java and UML map to each other, and exactly how and when to apply those mappings.
See all Product description
- Pragmatic coverage of UML as a working tool for Java developers
- Shows Java code alongside corresponding UML diagrams
- Covers every UML diagram relevant to Java programmers, including class, object, sequence, collaboration, and state diagrams
- Introduces dX, a lightweight, powerfully productive RUP & XP-derived process for successful software modeling
- Includes a detailed, start-to-finish case study: remote service client, server, sockets, and tests