There are many tools that do this; some are better than others, cheaper than others, etc. I happen to like EssModel for building class diagrams because it's free, very fast, and generates good quality models.
"Write beautiful code; then profile that beautiful code and make little bits of it uglier but faster." --The JavaPerformanceTuning.com team, Newsletter 039.