Although I have a somewhat solid ground on object oriented theory and know how to build something as simple as a tetris / tic tac toe game in a "evolutive" design with no major trouble, I'd like to learn how to take the totally different approach of first designing the system and only them trying to implement it.
I am looking for something that'll teach me how to take a problem (for example, a tic tac toe game) and learn how to make its uml design (object domain model -> system sequence diagrams and finally communication diagrams).
I'm looking for something like a workbook that has a bit of theory, examples, exercises and solutions (if possible).
I know people generally recommend UML and Patterns but I've had it in my OO course and found it awful.