Green UML
green is a LIVE round-tripping editor, meaning that it supports both software engineering and reverse engineering. You can use green to create a UML class diagram from code, or to generate code by drawing a class diagram.
green was developed with the pedagogical goal of focusing students on design. However green has proven to be a robust and flexible tool that can easily provide UML support in any environment.
All relationships are plug-in based extensions off of green. This means that at any time you can add your own relationships! This was added with the pedagogical goal of revealing relationships incrementally to students, and having green reflect only the relationships which our students have knowledge of!
The editor features a simple point-and-click interface. Right-clicking in the editor brings up a context-sensitive menu that includes features such as refactoring and quick fix functionality.
Come to this link for more detail: http://green.sourceforge.net/