Hi
I used Enterprise Architect from
www.sparxsystems.com.au I think its best in its size.
you can model all UML diagrams in a very easy and fashion manner , help and documentation is the most complete.
forward and reverse engeenering , buisniss process modeling ...
and a good support for
java.
Also UML modeling plugins from eclipse foundation is something usefull / Opensource and totaly free.
Hope it helps.