I used to use Visio for UML diagrams. I stopped doing UML diagrams and just write the code instead. Also, Visual Studios class diagram feature is something I use as a replacement to some of what UML was used for.