Use Case Driven Object Modeling with UML

Use Case Driven Object Modeling with UML - Theory and Practice

It seems like only last year that I was saying the same thing, but my third book, Use Case Driven Object Modeling with UML – Theory and Practice, is just heading into copy-edit: it’s due for release sometime in January. It’s also my third book that I’ve co-written with Doug Rosenberg.

In fact it was more or less this time last year when I was saying the exact same thing; except the publisher was different. So, a year later and with a more progressive publisher, the book is once again building up to its release.

I’m now going to put on my salesman’s hat to pitch you some details about the new book – you’ve been warned!

The book’s main topic is: how to get from use cases to source code. We demonstrate how to do this using the ICONIX Process (a minimalist, free-to-use object modeling process), in a few short easy steps, by following an example "Internet Bookstore" project.

We’ve extended the original ICONIX Process to cover unit testing and requirements traceability; and there’s a full-on example using Java/Spring Framework, showing how to systematically drive the code from the design; and the design from the requirements.

One of the things we’ve attempted to capture in the book is the feel of an actual training course, when there’s a “live” instructor in the room with you. For example, at first people sometimes just don’t “get” robustness analysis (the centerpiece of the ICONIX Process). But when they’re walked through the practice of drawing these diagrams a few times, step-by-step, the light bulb flicks on and suddenly, of course, they can do it for themselves.

So in this book we’ve tried to capture the essential qualities of Doug’s ICONIX training courses. We walk through example diagrams each starting with a blank screen, showing the steps – and, essentially, the thought process – involved in creating the various types of diagrams.

The training courses are also interactive – the attendees are busy drawing diagrams and getting feedback, and so learning from their mistakes. This is by far the best way to learn, as it’s programmed into our brains. From the day we’re born, we learn by discovering how not to do things, and then trying over and over until we get it right. Experts eventually “perfect” their art because they no longer make mistakes – at least none that they’ll admit to!

So – back to the book – for the review milestones (each step in the process finishes with a review), we’ve had some fun and created fictional dialogs between a reviewer and a developer, to demonstrate the sort of issues that should be addressed at each review milestone. The feedback provided by the reviewer shows the most common (and the most dangerous) mistakes that developers tend to make.

One other thing, we've defined the ICONIX Process in a hyperlinked set of activity diagrams, and we'll be posting an HTML version of these on-line "real soon now" - stay tuned!

I’ll also post the occasional excerpt from the book here leading up to its pub date in January...

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.