There are some good books. It depends what you are looking for.
You can start with:
Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design and the Unified Process
It's a starter book for iterative development in OO: Project Scope, Analysis, Design, Coding. Its main emphasis is on OO Design
-What is the magic to find the right classes with adequate responsabilities ?
-How to make your classes with high-cohesin and low-coupling ?
-How to make your architecture protected against variations?
Craig does not only give the right definition of good OO Design but he explains how the brains of an OO expert reaches a solution.
To explain that, Craig gives some very simple Design Patterns
(Information Expert, Creator, Controller, Polymorphism, Indirection, Pure Fabrication,...). These Patterns are really easy to understand by a beginner. Whith them you can really start constructing quite good OO Design
After that, Craig explains some more well-known Patterns like Adaptor, Singleton, Facade, Observer...
The second version of this books also uses the Unified Process: the book is organised with the first two UP phases (Creation, Elaboration ) and multiple iterations. This gives the reader a good feeling of the iterative process and on when to do each activity.
Tell me what is your experience and which job you want to perform for other books recommendations.
'Functionnal' analyst, OO programmer ? Which Programing language do you use ? fixed accidental HTML probs in image tag
[ October 13, 2002: Message edited by: Frank Carver ]