UModel - UML tool for software modeling and application development

UML tool for software modeling and application development
Altova UModel® 2017 is the starting point for successful software development. Visually design application models in UML and generate Java, C#, or Visual Basic .NET code and project documentation. Or, reverse engineer existing programs into UML 2 software architecture diagrams, then fine tune your designs and complete the round trip by regenerating code. UModel is the UML tool that makes visual software design practical for any project.

Download Trial

UML Software Modeling

Altova UModel® 2017 combines a rich visual interface with superior usability features to help level the UML learning curve, yet it also includes high-end functionality to empower users with the advantages of UML software development. UModel® 2017 supports all 14 UML 2.4 software architecture diagram types, plus a UML diagram for XML Schemas, and another to model tables in popular SQL databases – giving your development team a powerful tool for today's project challenges. More 

UML Code Engineering

UModel® 2017 includes the code engineering functionality for real-world application development: generate code in Java, C#, and Visual Basic .NET, reverse engineer existing Java, C#, and Visual Basic .NET code or binary files to create UML models, and synchronize changes between code and model at any time and in either direction with round-trip engineering. More 

Business Process Modeling

Whether you need a stand-alone BPMN tool for business analysts, or want to incorporate documentation of business rules into a software development project, UModel empowers you to diagram a wide range of private (internal) and public business activities. UModel supports BPMN 1.0 and 2.0 Business Process diagrams, BPMN 2.0 Choreography diagrams and Collaboration diagrams, and enables model exchange with other BPMN tools through the XMI specification. More 

Teamwork Support

The benefits of UML software modeling multiply when more developers work on a project. UModel® 2017 includes features to assist teams working together such as sub-projects, shared packages, source control support, automated generation of project documentation, integration with Visual Studio and Eclipse, and an API that enables automation of repeated actions. More 

Project requirements:

Use case diagrams are often considered separately from other software architecture diagrams because they capture project requirements and can define the scope of an application under development.


Affordable High-End Functionality – Starting at $149

Available in three editions priced from just $149 to $379 (€119 to €299) per user, Altova UModel is cost-effective for individual developers or entire teams.

Even the UModel Basic Edition supports all 14 UML diagram types, includes advanced code engineering for Java, C#, and Visual Basic, and automates generation of project documentation. Finally, you don't have to spend a fortune to get a tool with the advanced UML functionality to accelerate development projects of all sizes!

Visit the UModel Edition Comparison for a detailed list of the features included in each edition.



UML Modeling Features

UModel Visual Modeling Tools:

  • Dedicated toolbar for each diagram type
  • Entry helpers and fast editing buttons
  • Cascading styles for colors, fonts, line size, and more
  • Customizable alignment grid
  • Layout toolbar for complete control of element sizes, alignment, and more
  • Elements can be assigned to diagram layers and selectively viewed or hidden
  • Unlimited undo/redo encourages exploring new ideas
Visual UML modeling tools in Altova UModel

Convenient Features and an Unmatched Visual Interface to Make UML Modeling Easy and Fun

As with all Altova products, the UModel® 2017 interface helps you keep your favorite views and tools at your fingertips to improve efficiency and productivity. Everything is customizable in the UML diagrams you create with UModel – size, position, color, typeface characteristics, and line styles. The styles window gives you easy access to all the display options and lets you modify an individual element, a selected group, or an entire category. You can also choose colors from a palette in a pull-down menu, or easily assign custom colors to elements either individually, across groups and families, or for the entire project.

Flexible layout options let you give your models the clearest, most logical organization. The alignment grid forms a background framework to position diagram elements. As you create new elements or move existing ones across the main drawing pane, visual alignment snap lines help you align with other existing elements in the diagram.

The layout toolbar lets you select multiple diagram elements and set their alignment, size, and spacing attributes, and includes selections for line styles to draw transitions, generalizations, associations, and other connecting lines in the clearest style for your diagram.

Each diagram type has its own toolbar, so the screen won’t be crowded with irrelevant icons. You can turn toolbar text labels on or off and you can display or hide any toolbar.

Association connection alert in Altova UModel
Layout alignment guides in Altova UModel
UML diagram layers in Altova UModel

UModel Helper Windows

Helper windows at the left of the main diagram assist as you build and view your models. You can select a perspective into the project by choosing from the Model Tree, Diagram Tree, or Favorites.

Other windows provide quick access to Properties, Styles, Hierarchy, and Overview, a navigation aid for large diagrams.

Hyperlink any Element

UModel allows you to add hyperlinks to any element in any UML diagram. For instance, you might want to add a hyperlink to your use case actor to cross-reference a user story.

You can create hyperlinks to external files, Web URLs, or other diagrams in your project. Your description becomes pop-up text for the hyperlink.

Diagram Layers

UModel supports diagram layers. Each element can be assigned to a specific layer, and layers can be locked to prevent changes.

Comments added during a review cycle can be recorded on a dedicated layer. The comments layer can be made invisible for printing or in project documentation, but retained as a permanent record of the review process.

Overview Helper Window

The Overview helper window, shown at right, provides a reduced view that identifies which portion of a large diagram is displayed in the main diagram pane.

The Overview window is a quick navigation tool for complex diagrams that are too large to display. Click inside the window to scroll in any direction.

UML diagram layers in Altova UModel



UML Code Engineering

Generate Source Code from Models

UModel® 2017 includes a built-in code generator that creates Java, C#, or Visual Basic .NET code based on the classes in your UML model, freeing you from the mundane task of writing low level infrastructure code so you can concentrate on the business logic and overall architecture of your project.

Take advantage of the source code generated by UModel to accelerate the implementation phase of your project and eliminate the unintended errors that can creep into manually written code and prove time-consuming to debug later on.

Source code generation from UML models in Altova UModel

Code Generation Support for Multiple Language Versions

The UModel® 2017 code generator is based on the same technology used in Altova XMLSpy® 2017 and Altova MapForce® 2017. Supplied Java profiles generate industry-standard Java 1.4, Java 5.0, Java 6.0, Java 7.0, and Java 8.0 code compatible with Eclipse, Borland® JBuilder®, and other popular Java development environments. Profiles for C# 1.2, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6.0 and C# 7.0 generate code for Microsoft® Visual C# .NET®, Borland® C#Builder®, or other C# development environments. Profiles for Visual Basic .NET support VB 7.1, VB 8.0 and VB 9.0.

UModel supports C# generics with strong type checking and instantiation at runtime, and provides compatibility for new language constructs introduced in C# 3.0 and VB 9.0 that directly support XML. UModel also supports named arguments, optional parameters, dynamic programming, co- and contravariance introduced in C# 4.0 during round trip engineering, binary import and sequence diagram generation.

Java developers will appreciate support for Java generics as UML templates and Java enumerations, permitting easier definition of collections where all elements are the same type and allowing type errors in those collections to be detected at compile time.

To ensure code quality, UModel includes a model syntax checker to detect diagram errors or inconsistencies before they are replicated downstream in code.

A Java template in a class diagram in Altova UModel
Code generation message window in Altova UModel



Business Process Modeling

UModel BPMN Features:

  • Supports BPMN 1.0 and BPMN 2.0
  • Automatically update BPMN 1.0 diagrams to BPMN 2.0 notation
  • One-click conversion of swimlanes between horizontal and vertical orientations
  • Elements can be assigned to diagram layers and selectively viewed or hidden
  • Unlimited undo/redo encourages exploring new ideas
  • BPMN diagrams integrated with UML modeling for robust coverage of software project requirements
  • BPMN diagrams and elements included in automated project documentation
Business Process Modeling in Altova UModel

Create Business Process Diagrams to Document Enterprise Activities or Support a Software Development Project

Business Process Modeling Notation is a graphical standard for creating flow chart-like diagrams that are readily understandable by all business stakeholders including business analysts, technical developers, and business managers. The BPMN standard is maintained by the Object Management Group (OMG), the same organization that administers UML.

In today’s complex global marketplace, business processes can be coordinated within a single enterprise or across entire industries. As communication supporting various business activities accelerates, it becomes more and more critical to have a standard modeling system that can be easily read and understood by a variety of users at a broad range of levels within business organizations, yet can be used to represent complex processes involving multiple parties or enterprises.

UModel® 2017 supports both BPMN 1.0 and BPMN 2.0 notation, and even provides a migration path for users who want to update older diagrams with new elements and functionality introduced in the BPMN 2.0 standard. UModel also supports BPMN model exchange with other BPMN tools through the XMI specification first developed for UML models.

BPMN Business Process Diagrams

The elements and rules for business process diagrams (illustrated in the large screen shot above) are very similar to UML activity diagrams, providing a natural transition of the easy to use and highly acclaimed drawing tools of UModel from UML to Business Process Modeling Notation. UModel lets you create free-form diagrams that are useful for capturing the details of an internal process.

BPMN 2.0 added new elements to the original specification to let you refine diagrams that document a wide range of private (internal) and public business activities. New elements in BPMN 2 include event types, task elements, an additional gateway element, several new data elements, and a datastore element to represent a database

BPMN Choreography Diagrams

Choreography diagrams specify the way business participants coordinate their interactions. Choreographies can also be seen as a business contract between participants, where the focus lies on the exchange of information (messages) between the participants.

In the choreography diagram at the right, a customer requests credit from a bank. Each choreography task has two participants and the flow of activities is represented by arrows and gateways. The envelope elements represent messages sent or received.

The UModel Choreography diagram toolbar provides quick access to all BPMN 2.0 choreography elements with drop-down selection of task, event, and gateway variations.

A BPMN Choreography diagram in Altova UModel

BPMN Collaboration Diagrams

Collaboration Diagrams specify the interactions between two or more processes. A BPMN collaboration generally consists of two or more pools which represent the participants in the collaboration.

Message exchanges between participants are shown by Message Flows that connect the two pools, or the objects within the pools, creating a visual representation of the the seqences of activities and interactions of the participants.

UModel includes a convenient quick-editing button to flip a pool between horizontal and vertical layouts in case you start a diagram in one orientation and want to change later.

A BPMN Collaboration diagram in Altova UModel

"I'm very happy with UModel. Finally a UML modeling tool that is affordable and that works the way I like!"

Jashan Chittesh
Independent Game Developer



Teamwork Support for Development Projects

Large software projects are often divided among multiple developers to shorten development cycles. UModel® 2017 includes features to assist teams working together to successfully model large projects. The graphical communication benefits of UML software modeling multiply when more developers work on a project, as the visual representation of subprojects enhances communication across the development team.

UModel supports teams working on large projects by allowing projects to be split up into multiple subprojects. Individual developers may simultaneously edit different parts of a single model, and each subproject can be individually added to a source control system. The top-level project, i.e., the project from which the subprojects are organized, is the main project. Subprojects are UML packages saved as individual UModel project files and have a *.ump extension.

An existing project can be split into subprojects as it grows and more developers are assigned. Or, independent teams may initiate new UModel project files that can later be combined as subprojects under a new main project.

The screen shot at the top left shows the UModel Model Tree helper window for a project that includes several sub-projects. Each subproject is identified by its individual file name. UModel lets you organize subprojects without imposing any rigid development style. Based on the preferences of your own team, you can: organize subprojects as siblings on a flat level, organize subprojects hierarchically – a subproject can have its own subprojects through nesting, or you can assign each subproject as editable within the main project, or as read-only from within the main project.

During code generation or when updating the model from code, all subprojects are processed – there is no difference between a single project file or one that consists of multiple editable subprojects.

UML teamwork support in Altova UModel

3-way Project Merge

If team members make independent changes in copies of the same project file, or to combine project files, UModel project merge functionality lets you combine the changes into a single result.

Included subprojects may be editable or read-only in Altova UModel

Subproject Documentation

The UModel Generate Documentation feature allows users to optionally include subprojects in generated documentation, offering flexibility for individual developers to generate documentation for their own subprojects, and for project managers to automatically generate documentation for the full application.

Next Steps