This book certainly packs a lot of topics into its 500 pages, covering quite a breadth of OO and described in a logical sequence from beginning to end of the lifecycle, including the development process itself.
The book describes itself as a primer and it is certainly easy to read, with a clear layout. The page layout includes greyed boxes of Tips and Definitions and there is a liberal sprinkling of diagrams throughout. Initially I found that certain items seemed to be repeating but this grew on me as I found it a book that could be read in sections and put down. When I picked it back up a definition of a term was never more than a page or two away, and listing only terms relevant to the topic area making it easy to see the relationship between certain words. There is a standard glossary at the back of the book but these definition boxes help the student to OO and make the book appear less formal and more a teaching material, which it is. Each chapter ends with a short summary, typically only a paragraph, which really is very high level before a few questions for review purposes. The book has lots of examples, some of which seem very wordy and some slightly humorous, which I was unable to decide if this was good thing in keeping the book light and readable or if it seemed to be talking down to me.
As for coverage it starts with gathering requirements and validating them then moves onto OO concepts. The biggest sections are analysis then design; the programming section covers how to translate the design into Java, with lots of Java snippets. Each of these chapters includes not only an explanation of the topic but steps to follow and has the authors advice in the forms of tips, some made me nod in agreement whereas others seemed to have too much preaching and not enough background, aimed at a novice student they are OK but they become tiring for anyone more advanced.
Overall an introduction to OO software in structured steps written in a teaching style, easy to read for a novice.