Let's face it: UML is BS.
Ok, maybe I am being a bit too drastic here. Let's say that, apart from the occasional class or interaction diagram it's an useless way of introducing extra complexity, maintainability problems and fluff in a world (software development) that doesn't need any of that. A quick look at his history will clarify that further. UML is basically a commercial venture, an investment made by Rational Software (now IBM) to hire the the three most influential guys in the visual modeling business so that they could sell a ridiculously priced tool ( ex rational rose, now XDE) to spit out and maintain those useless diagrams. Unfortunately, their marketing department has been quite successful in convincing managers ( not so much the good programmers) that UML is a vital element of a successful project. So, you might be doomed to have to spend some valuable time in learning this totally artificial, nonsensical, useless, boring toy. If that's the case, I can recommend you this book. It's one of the best since it takes the most practical and hands on approach possible, guiding you through many small, varied case studies, making the subject almost bearable.
I have read the French edition that just came out in 2008, if you can read a basic French I suggest you do the same ( you can buy it form amazon.fr), otherwise for the moment you will be stuck with the older translated edition...
If you try to learn UML with a theory (fluff) book like "The Object Primer" you will run away screaming, trust me ;) Another good read is "Applying UML & Patterns" by Craig Larman. (No big surprise that the two guys have worked together...) I just wish these two very smart guys had spent their wits & energies for something better than UML..