Free UML Tool
There's a great free (yes FREE) UML tool called Poseidon for UML Community Edition . It's the base version of Poseidon for UML but comes with all the features you'd want. Not only can it create all UML diagrams, but it will generate Java code for you and even reverse engineer from Java source code. It is a Java application so you can run it on any platform that has a Java Virtual Machine. Not bad for a free download.