I’m often asked about what tools I recommend for certain tasks and today I was asked about some good replacements for Rational Rose (open source or inexpensive commercial ones). Although I’m not a huge fan of UML (I’ve seen too many efforts create reams of useless UML to be stored on shelves never to be seen or used again), I do think there are many great uses for UML. My most common use for it is in reverse-engineering someone else’s model so that I can better understand it. However, I’ve also been involved in creating UML diagrams for forward-engineering activities (when there’s appropriate time and resources available). If you need good UML generation tools but can’t afford Rose, MagicDraw is a really good choice. There are community and profession/enterprise editions. Another good tool (commercial but cheap) is Enterprise Architect by Sparx Systems in Australia. It can arguably do more than Rational Rose at a fraction of the price. I recommend it for a variety of architecting tasks (not just UML).