Trying to cover the full gamut of object-oriented design, analysis, UML, etc. in a single book anymore is a daunting task. There's just so much out there now. Trying to make it readable is even more difficult. Go ahead and add in a textbook style format on top of that, and it's enough to normally scare me away. Surprisingly, Mike O'Docherty overcomes all these obstacles and does a good job with Object-Oriented Analysis And Design - Understanding System Development with UML 2.0.
Contents: Part 1 - Setting the Scene: Object Concepts; Inheritance; Type Systems; Software Development Methodologies Part 2 - Understanding the Problem: Gathering Requirements; Analyzing the Problem Part 3 - Designing the Solution: Designing the System Architecture; Choosing Technologies; Designing the Subsystems; Reusable Design Patterns; Specifying the Interfaces of Classes; Continuous Testing Appendix: Ripple Summary; iCoot Case Study; Summary of UML Notation Used Bibliography; Index
Any one of these particular areas could be expanded out into a full volume (and I have a few of them on my shelf). I was a little surprised that O'Docherty was able to squeeze them all into a book that doesn't cause adverse back strain to carry around. Even better, the coverage of the subjects is adequate to get the first time student, either in school or in an organization, up to speed on the subject matter. By using a single case study throughout the entire book, he maintains a continuity in which skills and terminology learned in one chapter easily glide into the next one. I didn't feel like I was getting whiplash trying to follow a large number of unrelated examples that didn't pull together anything I had learned in previous pages. He also gives you enough knowledge on UML to be able to effectively use it on your job without becoming bogged down in the minute details that UML gurus argue over for years. Practicality seems to be the keyword here. While he does use Java to illustrate the few code examples that exist, the book largely steers clear of code and focuses on design that is language-independent. What code *does* exist can easily be followed regardless of your knowledge of Java.
Basically, this is a book I wouldn't have a hard time recommending to someone who didn't know object-oriented design and wanted to move into that area. There's not much wasted effort, and the payback for the time and effort expended should be pretty high...
What did you think of this review?
Fun to Read
What's your opinion on Object-Oriented Analysis and Design: Und...?