Here is another excellent book on UML and system development using UML. I found this book highly practical, amusing, and instructive to read. Among the many excellent features of this book, I found the following five main strengths of the book. First, the book is rich with five case studies. Many books are rich in discussion, but weak in examples and case studies. This book uses five case studies. Some case studies are detailed while other case studies are short. Second, the book covers many advanced concepts, not usually covered by many other popular UML books in one volume. Those advanced features include reified classes, interface inheritance, implementation inheritance, extension inheritance, delegation, four types of aggregations, etc. Fourth, the book integrates other important parts of the system development activities such as user interface design, window navigation diagrams, database design for OO, OR, and relational databases. Fifth, therefore, the book covers all the life cycle of OO system developments, beginning from requirements modeling to user interface design, database design and testing. All these features make this book as an excellent choice for learning how to use UML to develop a complete system. One of several minor drawbacks is that some discussions appear in several different sections. This is due to a fairly long guided tutorial in Chapter 2.