I just finished reading this book and thought I'd give a quick overview of it and my feelings on the book.
Quite simply, I loved the book. This was my first exposure to the ICONIX Process (created by Doug Rosenberg) and I would love to try to put this process in action on a future project. It's logical, systematical, and easy to learn. The real challenge is in sequence diagramming. The authors are very good at explaining the topic in a very easy-to-read and engaging style. The entire ICONIX process is discussed from beginning to end while implementing a Java/Spring bookstore web site.
ICONIX is considered an agile methodology. Taken right from the book: "ICONIX Process is a minimalist, streamlined approach that focuses on that area that lies in between use cases and code. Its emphasis is on what needs to happen at that point in the life cycle where you're starting out: you have a start on some use cases, and now you need to do good analysis and design." ICONIX originated several years before the UML and combined the best techniques from the "Three Amigos" (Ivar Jacabson, Jim Rumbaugh, and Grady Booch). The three methods, Ivar Jacobson's Objectory method, Jim Rumbaugh's Object Modeling Technique, and Grady Booch's 'Booch method', were combined by taking the best features of each method and integrating them into a lifecycle approach. The three UML modeling techniques used are Use Cases, Robustness Diagrams, and Sequence Diagrams. Robustness diagrams are a nice tool that helps bridge the gap for designers to get from Use Case's to Sequence Diagrams (from analysis to design).
Each chapter in the book starts out with a graphic (like the one listed above) of the area you're currently in printed in red. This helps the reader know exactly where they are in the process. Every chapter also gives a "Top 10 Guidelines" list for the topic and explains each point in detail throughout the chapter. At the end of each chapter there are exercises and practice problems to help to reinforce the topic just covered. Also at the end of each chapter is a flow chart that shows the current step in the process in detail. This summarizes the chapter by showing each sub-step in the process, which I found quite informative. The example used throughout the book is an internet bookstore and the authors explain 2-3 use cases from chapter to chapter. This allows you to see first-hand how a requirement becomes a use case and a domain model, then a robustness diagram with an updated domain model, which then leads to a detailed sequence diagram and a full-blown class diagram, which then easily transitions to real code. Thats what I really like most about the ICONIX process. The concepts are not new, they just follow a logical flow from requirements to code in the fastest way possible, losing most, if not all, ambiguity and vagueness of the system. What a novel concept!
The book is very well written with few mistakes (code or grammar). The authors go through each topic with an in-depth explanation and offer advice at every turn. Another nice tidbit I really enjoyed is in the chapter on Sequence diagramming, the authors list several quality OOAD books for further reading. For example, Object Design: Roles, Responsibilities, and Collaboration, which I'm now currently reading. Another book they mention for further reading is Object-Oriented Analysis and Design with Applications (the 3rd edition for this book just came out).
The book uses Enterprise Architect from Sparx Systems as the main modeling tool during the book. They also use MDG Integration for Visual Studio 2005 in Chapter 10 - Implementation: Getting From Detailed Design to Code and also in Chapter 11 - Code Review and Model Update to keep the code and design diagrams in sync.
If you're interested at all with software methodologies and processes, I highly recommend this book.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5