Love it, or hate it, eventually every software developer has to create some documentation. UML (Unified Modeling Language) diagrams are a common, but sometimes neccesary evil, in this line of work. While there are many commercial packages (Rational Rose, for example) available for enterprise use, it’s often easier to use one of the many free offerings available.