UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition) Book Review
|The first thing I imagine I should address is why the heck I am reviewing a book that is over 5 years old. I have owned the first edition since its publication and have continued to use it on every project as a reference. When the second edition came out I really wanted it, but there was always another book on my wish list that I needed to also have. Since I had the first edition, I opted for the other book. That continued for longer than I anticipated.|
So here it is 6 years later and I am holding a copy of the second edition!!!! The reason I am choosing to review it is that is as relevant today as it was when it was written.
One of the things I like most about this book is that you can turn to the appendix and not find the word agile. This book is all about agility, but it was written before the days of the "agile" buzz word.
This book is about using UML 2 in a development process to implement a solid solution. It is one of the best books available when it comes to using UML in the real world.
The book is broken down into 6 parts. In Part 1 the book starts out with an introduction to UML and the Unified Process. Part 2 is dedicated to Requirements, Part 3 Analysis, Part 4 Design, Part 5 Implementation, and Part 6 is an introduction to the Object Constraint Language (OCL).
The book covers all the UML diagrams (Use Case, Activity, Class, Sequence, State machines, etc.) in the context of the Unified Process.
Beyond the typical UML diagrams the book also covers the requirement workflow, the analysis workflow, finding analysis classes, relationships, inheritance and polymorphism, use case realization, the design workflow, interfaces and components, the implementation workflow, and the OCL.
Each chapter begins with an activity diagram that shows the structure and the flow of the chapter. This makes it easy for you to layout a reading plan for a specific topic. There are tons of notes highlighting the important information in the given section. The UML diagrams include annotations in blue which really make them easy to see. Every chapter ends with a "What we have learned" section. These are great. They can be used as review lists during your development process.
The authors have a writing style that makes the book easy to read from cover to cover, but it also makes a great reference.
This is still my number one choice in UML books to have at my side. The first version of this book made it to everyone of my gigs in the past, now it is this versions turn.
If you are working with UML, this book can make you life much easier. I highly recommend getting a copy of it!!!!