The occasional java programmer in me can see the benefit of UML. The DBA / database designer in me finds it lacking (like most data people do). It doesn't adequately address data modeling. In fact, it doesn't really address it at all. The assumption made by many is that the persistent data elements of the "class diagram" will become your data model. Bad idea. Bad, bad, bad idea.
Use case diagrams (imagine a stick figure standing next to an oval with an arrow between them) are good for communicating requirements back to end users, but not necessarily as good for the developer. (my opinion)
Sorry. UML makes me get on my soap box.
