UModel is Altova’s tool for software modeling with support for all 14 UML diagrams, additional UML-style diagrams for databases and XML Schemas, plus Business Process Modeling (BPM), and SysML. UModel 2016 Release 2 adds code engineering support for C# 6.0, complementing support for Java, Visual Basic, and earlier versions of C#. Creating a UML model from existing code can be a great way to analyze and document an unfamiliar project.
UModel supports code generation from models and model generation from code. The UModel project directory lets you import by folder or by project to generate a new UML model for source code that already exists, whether it is legacy code within your enterprise or a project you found on GitHub.
One way to start understanding an existing application is to review class relationships. Each class is shown in the UModel Model Tree helper window, and selecting it immediately displays related classes in the Hierarchy window.
Viewing the class in a UML class diagram gives you access to a variety of intuitive entry helpers that let you modify or add properties, operations, and methods of the class by editing the diagram. And after your revisions are complete, you can regenerate code to implement your changes.
If you’d rather work directly in your favorite source code editor, go right ahead – with round-trip engineering you can stay synchronized by merging the changes in your code back to the model at any time. UModel even supports automatic synchronization between your code and the software model. When you integrate UModel with Visual Studio or Eclipse, you can keep the code and model open in different windows and see your edits in one instantly reflected in the other.
Sequence diagrams, state machine diagrams, and their corresponding source code really let you dig into the inner workings of the project.
UModel has features like subproject support and three-way project merge to assist with teamwork when developers collaborate, generates project documentation, and UModel can transform projects from one code language to another – a great way to bring legacy code up to date or migrate to a new platform.
Check out software modeling tool UModel for yourself — download a fully functional free trial!