Unified Modeling Language (UML) abstracts and visualiwes systems of object-orientated programming. This makes the modeling language a practical tool for developers: On the one hand, it makes it possible to create clear blueprints for software projects, on the other hand, complex software systems can also be presented in an understandable way for people not familiar with the subject. For example, if you want to introduce new software for the latest company app to the Head of Marketing, do not use code – instead, you can use UML to show them the most important features of the app.Contents
- UML diagram tools: what to consider
- Comparison of UML tools: from free UML tools to extensive desktop versions
- Microsoft Visio: the UML drawing tool for Office users
- Comparing UML tools: a summary
UML diagrams obviously aren’t drawn using Paint. UML tools are used to help you with the modeling language, but finding the right tool is not that easy. There are countless providers of UML programs on the net, but not every program offers the same functions. While some tools require less memory, they have few features. Other UML diagram tools can map any diagram type and export it to different programming languages and import a model from existing code. In return, many programs like these do not offer any function to exchange information about projects in a team.
The Object Management Group (OMG for short), specifies the UML standard – so you first should consider what you want to represent with UML. Should the system’s structure be shown or the system behaviour? Depending on the answer, you then choose a UML tool that is suitable for your project.
UML diagram tools: what to consider
Unified-Modeling-Language specifies 14 diagram types that represent the structure, behaviour, and interactions of a system. To work with this language, you need the right tool: UML tools are modeling tools that can do much more than simple drawing tools. These programs do not only provide the standardised UML shapes, which can be provided with corresponding arrows and labels. They are often platform-independent and export your UML diagrams in various formats. With some, you can also import code and display it as a diagram – or export diagrams as a code template. Other tools allow you to specify UML independently to create profiles that fit your project.
Depending on how far along you are with your project, particular tools might be more suited than others. Therefore, it makes sense to have more than one program at hand. These do not necessarily have to be desktop apps: there are also a variety of online UML tools. Although these often have a smaller range of functions, they are perfectly sufficient for making quick first drafts. It is important for the program to export your diagram via XMI (short for XML Metadata Interchange) in a format that is compatible with your other tools. In the following few paragraphs, we will explain some use cases and give tips on which functions a UML tool should offer in each case.
Use case A: simple drafts or prototypes
Are you still at the beginning and only have a few initial ideas for the structure? Or do you want to quickly display a part of the system graphically? Then free UML tools are an effective solution. If you are in a hurry, just grab a pen and paper or use a simple drawing tool. However, these variants can never be more than simple sketches and that’s it. A free UML tool would attribute meaning to these drawings. For example, a simple rectangle with the label <<classifier>> symbolises the instance of a class.
If you’re working in a team and the draft becomes a usable prototype, a UML tool enables you to export the diagram to a more feature-rich program via XMI. There you can integrate it into your existing architecture or extend the model you have just created. When choosing a UML tool, ask yourself the following questions:
- Do I want to program on the basis of this graphic?
- Is the system area that I want to illustrate very complex?
- Do I have much time to familiarise myself with the program?
- Am I prepared to spend a large budget on simple drafts?
If you answered “no” to most of these questions, you should select a program that …
- Works fast
- Doesn’t offer any superfluous functions, but only models the diagrams you need
- Is a user-friendly, intuitively understandable user interface
- Is available free of charge
- Is a web application so you don’t have to download a new program
Use case B: abstract complex systems
The main task of UML is to simplify complex systems, making them understandable even for beginners. A good UML tool also makes teamwork and cooperation between different departments a lot easier. Since extensive tools like these are rarely free, you should make sure that they are compatible with the current version of UML 2, since UML 2 offers more diagram types than UML 1 and allows you to create profiles that metamodeling is able to tailor more precisely to your needs.
For the above use case, you need a UML diagram tool with the following features:
- It is platform-independent and ideally backwards compatible
- The current UML diagram types are positioned at a central point in a clear menu with all the necessary designs
- Diagrams can be created with the drag-and-drop function, keyboard input, or imported code
- The program should support the import and export of whichever programming language you use
- The documentation is automatically created in the background by the program
- Even if an error occurs in the system, the program should still be easy to use: usability and robustness are particularly important for large-scale projects with numerous users
- Sharing and simultaneously working on a project should (if not anchored in the tool) at least work through integration with teamwork applications
- A debugger immediately reports if errors occur in the model
- Different perspectives for viewing as well as detailed model types provide an overview of the entire system and specific aspects
- The tool allows simulations to eliminate error sources
Use case C: creating finished code from a model
Some UML tools enable diagrams to be converted into a given programming language. They often work with Java, C++, C#, or XML schemas. Some tools also reconstruct UML diagrams from existing code. However, paradoxically, some of these tools do not necessarily provide the reverse engineering function for the same programming languages that they use to create code from UML diagrams.
If you want to convert finished source code from a UML diagram, consider how complex your application should ultimately be. Anyone that’s worked with modeling software knows how long it takes to sketch a diagram. A tool that is extensive as well as quick would be perfect for a task like this, and UML is supposed to simplify complex systems. An overly detailed and time-consuming diagram contradicts this purpose. Creating a diagram that visualises all instances, including their dependencies in detail, requires more work than simply giving a programmer team an overview and letting them get on with it.
UML diagram tools with round-trip engineering generate diagrams from source code and convert the revised version back into code. The fact that you don’t have to draw all instances yourself saves a lot of time and makes it even easier to document the project. However, if you draw it yourself, it makes sense to maintain a certain level of abstraction. If you then convert your diagram into code, you can at least work in neat framework.
Use case D: develop models to integrate new processes
One advantage of UML 2 is that it can also easily model business processes. Whether use case or time history diagram, UML tools help to visualize various economic concepts. If you want to simulate operational changes with UML, you should first analyse the respective process e.g. customer contact via the service hotline. Compare the given situation with the ideal. For example, are existing customers satisfied after telephone contact and continue to shop with you? Was it possible to get a certain number of new customers on board? Consider how you achieve your goals and which employees are involved in the process. First, roughly outline the tasks that need to be completed as use cases, and later detailed action diagrams that illustrate which processes occur in a use case.
If you want to integrate new software into your existing system environment, use UML 2.0, for example, to show existing spaces. UML diagram tools make it easier for software architects and programmers to find interfaces. If you want to write your own program, for example, you can visualise interfaces of different system components using a component diagram. When it comes to which applications should be added to the system that is to be integrated, class and object diagrams, as well as activity diagrams, provide a detailed view of the individual elements and their benefits.
Since large projects involve many employees from different departments, pay attention to the following criteria:
- The software is suitable for all project phases: it should allow short reaction times when quick drafts are required, but offer enough features to be able to display the required diagrams
- Short familiarisation period due to user-friendly user interface, also for personnel outside of the IT department
- Integrated team communication: simultaneous viewing and editing of diagrams improves the workflow
- Round-trip engineering enables complete and clear documentation
- If you use more than one program (e.g. one for drafts and one for detailed diagrams that you convert to source code), your UML tools should be able to use or convert compatible formats to facilitate the exchange
Comparison of UML tools: from free UML tools to extensive desktop versions
A good tool does its job without making operation difficult with unnecessary extras. If you want to fix a simple hole in a sock, all you need is a needle and thread. For a fancy baroque coat, however, you need at least two fabrics (outer material and lining), patterns, scissors, tailor’s chalk, threads, and pearls in different materials and colours (hem and embroidery), pins, a measuring tape, and an iron. This makes all the difference whether you need a small sewing box or a large well-filled one.
The use cases described above are intended to illustrate this principle for UML programs. Free UML tools are sufficient for simple drafts like in use case A. To illustrate complex systems or to find solutions for program integration through diagrams (like in cases B and D), you need the best UML tools with numerous features. In the following paragraphs, we introduce you to tools with very different functional ranges – suitable for the respective requirements that we presented in use cases A to D. Note
UML tools are often part of computer-aided software engineering (CASE), which aims to create source code as automatically as possible and to maintain finished software products automatically. With the help of technical descriptions, the process should run as error-free as possible and achieve results quickly. As a CASE tool, mature UML tools should fit well into an integrated development environment (IDE).
Gliffy: an online UML tool for beginners
The online application Gliffy is a cloud-based UML tool for the browser. First released in 2006, the modeling tool creates all types of diagrams such as flowcharts, Venn diagrams, and of course, UML diagrams. The online tool was written in HTML5 and scores points with its fast reaction time. Even before Gliffy went through the beta phase in 2007, the company (under the same name) cooperated with the Australian software group Atlassian. As early on as 2006, its collaboration software, Confluence, integrated a Gliffy plugin. Later, the Gliffy team developed a plugin for Jira. Google’s G Suite and Drive also contain the UML tool.
Whether as a plugin or standalone browser version, the software is ideal for teamwork. You can share read-only versions as well as actively work on diagrams simultaneously and exchange information using the integrated comment function.
Before you can use Gliffy, sign in with your e-mail address or a Google or Facebook account. After the free trial period of 14 days, it can only continue to be used for free with limited functionality. However, you can upgrade to a premium account with a monthly subscription.
Gliffy has a large, well-assorted shape library. In addition to UML, you can use it to model simple flowcharts or business process modeling and notations (BPMN), among other things. At the beginning, an orientation window allows you to define your desired modeling language. If you click on UML/ERD, the program shows you the templates of all UML diagram types in the sidebar next to a blank page. Above it, you will find the menu bar with tools. If you drag a shape onto the worksheet using the mouse, the tools automatically adapt to edit the respective shape. If you select groups, the corresponding tools are highlighted in the menu bar. Grid and guidelines allow you to place diagram elements precisely where you want them.
The theme tool should determine the colour family for the diagram, but is limited to the arrow elements in the test. By clicking on classes, components, and the like, you can still quickly adjust the colour and font of the symbols. You can also create different layers in no time by clicking on the corresponding menu item (far right in the tool bar). In addition, you do not have to plan the diagram construction step by step in advance. You can simply undo errors with the delete function. If you want to insert an element, Gliffy detects the change and suggests appropriate insert options.
As a free UML tool, Gliffy imports diagrams in GON, Gliffy, and gXML formats. For the Microsoft Visio format, VDX, you need a business account. The same applies when exporting common image formats such as JPG, PNG, and SVG and the connection to Google Drive. Free accounts also have the native “Gliffy” format. Save a document in this format, share it easily with others via a download link, or embed it on various platforms such as HipChat, Slack, Confluence, or WordPress.
A free account also provides 2 MB of cloud space for your diagrams and allows you to share five models publicly at the same time. With a paid account from about £4 per month, Gliffy offers you even more possibilities: unlimited memory, diagram import from Visio, and export to the mentioned image formats. An enterprise account is required for significantly more performance. For such high demands, however, there is better software.
|✔ Suitable for all current browsers||✘ Features such as image export and Google Drive interface can only be used in group business subscriptions onwards|
|✔ Not a download||✘ No debugger|
|✔ Integrated team communication|
|✔ Fast operation thanks to HTML5, drag-and-drop, and clear user interface|
|✔ UML 2 compatible|
|✔ Comprehensive support|
Gliffy is a practical UML tool for those in a hurry. Since you can access it online, the cloud-based app does not use up your storage space. The integrated comment function is simple, but is sufficient for reviewing diagram drafts. Therefore, it’s not so bad that you can’t create code with Gliffy. There are other, more powerful programs that can do this. Gliffy impresses with its easy operation, quick familiarisation time, and an appealing layout.
ArgoUML: popular freeware for simple diagrams
ArgoUML has long been one of the most popular open source free UML tools for desktop. Although it is no longer maintained, many modelers continue to use the program for smaller tasks. The software is platform-independent. And the minimum requirement is Java 5. ArgoUML supports all diagram types of UML version 1.4 and UML profiles. The program also offers some decorative shapes that are not part of the UML standard. If you use these shapes, you will of course deviate from the UML standard. So, make sure that this does not cause any comprehension problems. You can use OCL (Object Constraint Language) to assign restrictive information to a model. Note
Object Constraint Language (OCL) is a component of UML 2. Previous versions integrated OCL only as an extension. Unlike the rest of UML’s graphical notation, OCL consists of text. This formal language is used to limit conditions for a model.
Although the UML tool is available to download for free, ArgoUML supports a considerable range of programming languages whose code can be generated from a diagram. Reverse engineering is also possible for Java, C++, PHP, C#, and SQL. The program also recognises other languages such as Delphi or Ruby when you add them to the ArgoUML file folder as extensions.
The UML program can be quickly installed via click-and-go. The user interface has a certain 1990s flair. Nevertheless, the panel layout is clearly arranged and the menu above the digital worksheet provides the required shapes after you click on the desired diagram type. Note
When using ArgoUML, consider which shapes you are linking and in which order. If you want to subsequently insert a symbol between two others, it is often difficult to separate existing connections with ArgoUML.
The top left panel contains the explorer, which you can arrange according to your own or existing rules by adjusting the perspective. Below you will find the troubleshooter, known in Argo as the edit panel. Any possible incorrect modeling will appear in this field. If you click on one of the folders, the program marks faulty places or missing assignments in the diagram in red. You can export finished diagrams as code or graphics (supported image formats are PNG, PGML, SVG, EPS, GIF, PS) in a .zip file (“.zargo”). Use XMI (XML metadata exchange) to transfer diagrams to other programs.
|✔ Open source and adjustable||✘ Non-compliant with UML 2|
|✔ Freeware||✘ Limited diagram selection|
|✔ Debugger points out errors||✘ No undo button|
|✔ Round-trip engineering for C#, C++, Java, PHP, and SQL||✘ Last update 2011, support only through documentation|
|✔ Intuitive user interface|
MagicDraw: everything you need for professional UML diagrams
MagicDraw von No Magic is the first comprehensive full version for professional modeling in this list. A modern design and a clean layout set this desktop app apart from the rest as a proprietary software for high demands. The range of functions and user-friendliness confirm this. The modeling tool supports UML, its equivalent for operating systems, SysML, the graphical representation of business processes with BPMN (Business Process Model and Notation) and the UPDM architecture framework (United Profile for DoDAF/MODAF). In MagicDraw, you work with current diagrams according to the UML 2.5 standard, whose profiles you can tailor to your own needs. MagicDraw also offers OCL, the boundary condition notation, and XMI, which you can use to export diagrams to other programs without any loss.
MagicDraw offers five editions (from Personal to Enterprise) that differ in both functionality and cost. In our test, we took a closer look at the Enterprise edition because it not only offers all the features and plugins for effective modeling, but also enables full integration into an integrated development environment such as Eclipse Workbench. The premium versions also facilitate teamwork. For example, several modelers can work on one model at the same time, and on the team server, you actively exchange information about a project. However, NoMagic offers this separately. With the Enterprise edition, you can access the WebPortal. The model can be viewed interactively in the browser.
The minimum requirements for installation are as follows:
- CPU: Intel Core TM i3
- Ram: 4 GB
- Storage space: 1 GB
- Screen resolution: 1366 x 768 pixels
- Operating system: all operating systems that are Java SE 8 capable (Windows from Vista onwards, macOS from Lion onwards)
The UML tool imports many file formats, including native XMI metadata formats from Eclipse and IBM’s Rhapsody, CSV, ReqIF, DoDAF, and CA Erwin Data Modeler. You can save and print your diagrams as copies in the image formats BMP, PNG, JPG, and EMF. Code generation, reverse engineering and round-trip engineering are also possible. MagicDraw is based on three languages: Java, C++ in different dialects, and C#.
MagicDraw converts UML diagrams into code:
- XML schema
- Corba IDL
Reverse engineering of code into UML diagrams:
- XML schema
If you model UML diagrams yourself in an empty document or add details to modeling, you’ll quickly appreciate the customisable panels. Already at the first start of the UML diagram tool, the clear division proves to be a big plus. Add as many tabs as you consider necessary for your workflow. Despite its many functions and edition options, MagicDraw provides a clear layout and unobtrusive short explanations, so that even inexperienced users can quickly put together their first drafts without much familiarisation time.
If you select the “diagrams” tab in the main menu bar, the UML tool opens the template for the selected type in the sidebar of the workspace. If you drag an element onto the worksheet and click it once, small buttons appear. Click on these (or right-click on the element) to edit the object properties, add text, or hyperlinks. The personalisation toolbar above the worksheet always highlights the tools you can use to graphically customise one or more selected items. The layout tool brings order to unstructured drafts. With the zoom and perspective panel, you have your project completely in view – from small details to the whole image.
The UML program also checks your project for errors and displays them. For independent analysis, you have the option of comparing different versions of a diagram next to each other and checking different levels of abstraction for traceability. Architects particularly appreciate the free text input for creating diagrams, as it favours a smooth workflow.
|✔ Contains all templates for diagram types in current UML 2.5||✘ File download only possible after completing registration|
|✔ Supports many programming languages and formats||✘ Comparatively high prices|
|✔ Intuitive and understandable user interface||✘ WebPortal only available in Enterprise edition|
|✔ Import/export, code generation, reverse engineering, and round-trip engineering|
|✔ Short familiarisation time|
Lucidchart: the online UML tool for teamwork
Lucidchart is a UML tool that you can access at any time in your browser. This is also possible via Android and iOS. The free account gives you a well-filled UML toolbox. It includes 7 types of UML diagrams and business process modeling languages such as BPMN 2.0, network icon templates, mobile device mock-ups, and video integration. One of Lucidchart’s advantages is its intuitive operation. It also enables teamsharing and simultaneous editing of diagrams and integrates comments directly in the tool. As a UML tool for Mac, Linux, and Windows, it is a good alternative to Microsoft Visio for Mac users.
If you already use another teamwork software, take a look at the list of integrations. Lucidchart can be plugged in to Google and Microsoft applications, Atlassian products, chat apps, and Amazon web services.
If you want to try out the UML tool for free, create a free no-obligation account, or use the equally free test phase of the premium accounts. With the latter, your cloud diagram storage grows from 25 MB to 100 MB, allowing you to export charts, integrate third-party vendors, and work with more professional forms. In the free account, you have the following UML diagram templates:
- Class diagram
- State diagram
- Activity diagram
- Sequence diagram
- Component diagram
- Use case diagram
- Distribution diagram
If you want to design complex diagrams with more than 60 objects, you need a premium account. The same applies if you are working on more than three active objects at the same time.
You can also import data and diagrams with the free account. The UML diagram tool supports native diagram formats from Microsoft Visio, Omnigraffle, Gliffy, and Draw.io. Drag data from CSV files, SQL, AWS architecture, and mind maps. The data linking feature also integrates real-time data from Excel, CSV, and Google Sheets. If you want to edit native formats of other providers, however, you will again need a paid account. It also allows you to back up and restore your data.
But how efficient is Lucidchart to work with? The user interface is characterised by a clear layout and plenty of space to work. The menu pops up from the right when you need it, and disappears as a narrow toolbar until you see it. With one click, you can change the page settings, create layers, and presentations, or exchange information with teammates. You will find the templates in the bar to the left of the workspace. You can customise its content and size by adding templates and using the mouse to drag the width of the bar to how you want it.
The horizontal toolbar shows the tools you need each time you want to drag a shape or line onto the work area. You can easily adjust the size and orientation by clicking on the shape. If you hover over a shape with the mouse, small red circles will appear. You can add arrows and lines at these points. Use the grid and automated guides to easily draw neat diagrams. Some developers prefer to write input commands instead, building their UML diagram. The tool offers the UML markup function so you can do this.
The team edition allows you to customise user roles and protect your documents through single sign-on authentication. Lucidchart cloud storage also encrypts your data. Every time you share a document, you decide who can edit, comment, or just read it.
|✔ Many teamwork features||✘ Many functions only available in Pro or Team accounts|
|✔ Large template library||✘ No debugger|
|✔ UML mark-ups accelerate the workflow||✘ Code cannot be generated from diagrams|
|✔ Scalable through cloud storage|
|✔ Space-saving, clear design|
|✔ Suitable for mobiles devices (iOS, Android)|
Lucidchart is a practical online UML tool for all browsers and mobile devices and is optimised for teamwork. Therefore, we recommend using the browser app in the Professional or Team editions. The free account gives a taster of the many features it offers, but during the test, pay barriers popped up which slowed down the performance. Subscription prices are reasonable for companies in terms of functionality. It isn’t that much of a hindrance that the tool doesn’t generate code from diagrams. Finally, Lucidchart can be integrated with a variety of popular teamwork applications and creates XMI schemas that you can easily continue working with.
IBM Rational Rhapsody: graphical developments environment for full process integration
IBM Rational Rhapsody is a graphical, integrated development environment (IDE) for software and product development. The UML program supports object-based software development for web-based applications as well as embedded systems and real-time systems based on C++ and Java EE. UML/SysML modeling enables you to create source code quickly in the IDE for the specified languages, C and C#, MISRA C++, and Ada.
Rhapsody was passed on many times after its development in 1998. After IBM acquired the Swedish company, Telelogic AB in 2008, the American company expanded its rational product range with Telelogics Rhapsody. The Swedes only purchased the IDE in 2006 by acquiring the original developer company, I-Logix. As one of the first graphical development environments, Rational Rhapsody, spread in a short time.
International brands use the software, for example, for large projects that require detailed version differentiation for numerous team members in different countries. Jaguar Land Rover, for example, uses Rational Rhapsody to adapt the software to its infotainment offer to different markets.
For these and other tasks, Rhapsody offers a development environment in which you can draw diagrams, generate and check code, and compare or analyse different versions. The UML tool supports the following:
These UML-based modeling languages are suitable for tool-based software development, which saves programmers a lot of work. In addition, you can rely on compatibility, since UML and Rhapsody were developed in the same house – namely at Rational Software.
In Rhapsody, you either draw the models freely, import existing code for visualisations as diagrams, or download requirements from a requirements management tool such as Doors, a relative of the Rational family. The following YouTube video shows you how to create a SysML model for a real-time system from a list of requirements in Doors. In this case, IBM will present its approach to the INCOSE Vendor Challenge. The aim of the project was to create a parking system for a hotel chain.
In order to protect your privacy, the video will not load until you click on it.
The developers built the UML tool based on the open source software Eclipse. The current version still supports the Eclipse IDE platform as an integration or a plugin. It contains further integrated development environments as workflow integration:
- Wind River Workbench
- Green Hills MULTI
- Microsoft Visual Studio 2008
As an IDE, Rhapsody works in real time and creates source code frames from diagrams. The program is available in four different license forms. In addition, IBM offers different versions of the UML tool specifically for the different requirements of different departments. The modules are compatible with the IDE. You can choose between the Architect for Systems Engineers, the Designer for Systems Engineers, the Architect for Software, or the Developer. The programs differ mainly in functionality and price.
The Developer is the full version, which combines all features and integrates your created source code into the embedded development environment. It also optimises the path from the first draft to the prototype and to the finished implementation. For example, you can use round-trip engineering and reverse engineering for this purpose. If you want to synchronise source code and design or document the process, this is also possible. Among the slim-lined versions, Architect for Software is the most powerful tool for working with UML, because it is the only one that offers these developer features.
|✔ Modular design, scalable||✘ Longer familiarisation time|
|✔ Supports all current UML 2 diagram types||✘ Expensive compared to other options|
|✔ Integrated development environments and interfaces for other development platforms and tools enable a secure, integrated workflow right from the start|
|✔ Code frame generation for many programming languages|
Microsoft Visio: the UML drawing tool for Office users
Microsoft Visio is a popular chart and visualization software and belongs to the Office family. Therefore, Visio can be easily integrated into the suite. For example, if you use Office Pro 365, Microsoft offers you a subscription extension for Visio. However, the cost will be added to your Office subscription. Visio Online Plan 2 includes a desktop app and a web-based editor for up to five PCs (volume licensing on request).
Alternatively, you can get Visio Professional as a permanent license. This version includes a desktop app, the browser applications, and an iPad app. Visio Standard does not support UML diagrams and is therefore not included here. As UML tools, the Visio versions presented are primarily aimed at corporate customers who appreciate the familiar Office environment and want to optimise their workflow by seamlessly integrating the appropriate modeling tool into their existing system. Although both versions – Profession and Online Plan 2 – are similar in functionality, they do not support UML equally:
|UML diagram type||Microsoft Visio Professional 2016||Microsoft Visio Online Plan 2 (also: Visio Pro für Office 365)|
|Class diagram UML 2.0||✔||✔|
|Database notatio UML 2.0||✔||✔|
|Sequence diagram UML 2.0||✔||✔|
|State machine UML 2.0||✔||✔|
|Use case diagram UML 2.0||✔||✔|
|Activity diagram UML 2.0||✔||✔|
|Component diagram UML 2.5||✘||✔|
|Communication diagram UML 2.5||✘||✔|
|Distribution diagram UML 2.5||✘||✔|
If you need a comprehensive shape library with current UML notations standards (the OMG UML standard is UML 2.5.1 at present) and if you have already subscribed to Microsoft Office Pro 365, we recommend Online Plan 2, the minimum requirement for current Visio versions is Windows 7. The desktop app requires 1GB of memory and 3GB of disk space. By the way: If you don’t need more than a compatible program to view diagrams, the free Microsoft Visio 2016 Viewer, a browser plugin for Internet Explorer may be enough. Due to its limited compatibility (IE 8-11, Windows 7, 8.1, and 10), the viewer is probably only attractive for a small group of customers. Note
A Visio version for Mac is currently not available. The previously mentioned cloud-based app, Lucidchart, can serve as a mediator, since it also imports native formats from Visio. Other alternatives are SmartDraw (cloud) and OmniGraffle Pro (desktop app).
Visio is largely limited to features that allow you to draw industry-standard vector graphics and diagrams and work in a team. If you release a diagram, authorised team members can work on it simultaneously in the document as well as exchange ideas using the built-in Microsoft Teams plugin. You simply share finished sketches and prototypes via the connected cloud.
If you want to create code frames from your diagrams, you need other UML tools, for example, Visual Studio from Microsoft. As this is also part of the product family, the integrated development environment allows Visio to be integrated into the development process. However, from Enterprise 2017 Visual Studio onwards, UML templates are no longer integrated, which is why it didn’t get its own spot in the list. Save your work in the UML diagram tool in native OPC/XML metadata formats so that you can export your diagrams and continue working on them without any data loss.
Native Visio formats:
- VSD (drawing)
- VSS (stencil)
- VST (template)
- VSW (web drawing)
- VSDX (OPC/XML drawing)
- VSDM (OPC/XML drawing, macro-enabled)
- VSSX (OPC/XML stencil)
- VSSM (OPC/XML stencil, macro-enabled)
- VSTX (OPC/XML template)
- VSTM (OPC/XML template, macro-enabled)
- VSL (add-on)
Visio has neither code generation nor round-trip engineering functions. However, it enables reverse engineering where you create UML diagrams from imported data or source code. Therefore, the UML tool fulfils its main task, which consists of clearly displaying processes and systems. Visio also enables you to integrate real-time data into your diagrams with a single click. This so-called data linking illustrates complex business processes (with BPMN) during their entire runtime, for example. Alternatively, you can test dependencies within a system using a UML communication diagram – live with real data.
|✔ Supports UML 2.0 (Online Plan 2 also supports UML 2.5), including XML metadata||✘ Steep learning curve for beginners|
|✔ Real-time data linking helps with live testing||✘ Expensive compared to other options|
|✔ Clear user interface with familiar ribbon menu||✘ No integrated code frame generation|
Comparing UML tools: a summary
Whether free UML tool, online UML tool, or integrated development environment, the best UML tool is one that performs the desired tasks efficiently and uses as few resources as possible. As you can see from the previous list, there are UML tools of every colour. Whether you want to make a quick draft or create source code frames for a complex system and analyse them using diagrams – one of these applications will certainly be able to help you. Since nobody wants to spend the entire monthly budget on a tool for creating drafts, we have also considered the prices for individual offers in our comparison. In the following overview, we summarise the most important key features of UML diagram tools.
|UML tool||Type||Platform||Supported programming languages/formats||Integrated teamwork||Supports UML version||Suitable for||Price|
|ArgoUML||Open-source UML software under Eclipse Public License 1.0||Desktop, platform-independent||Java and C++ (plugin), C#, PHP4 and 5, Ruby||✘||43191||UML beginners, drafts||Free|
|MagicDraw||Propriety software with single-user, floating, and mobile licence||Desktop, platform-independent||Java, C++, C#, CIL, XML, CORBA, WSDL, EJB, DDL, IDL||✔ Team server in Enterprise edition||1.4 – 2.5||Large companies, complex tasks||Single payment from £225|
|IBM Rational Rhapsody||Graphical development environment for model-based software development and validation||Platform-independent||Java EE, C++, C#, EJB, WSDL, XSD, CORBA IDL, SQL, .NET||With plugin||UML 2.1||Modular, full integratable IDE||On request|
|Microsoft Visio||Proprietary diagram and vector graphics software||Windows, browser, iPad app, virtual machine||C++, C#, VSDX, VSDM||✔||UML 2.0 + 2.5||Visualizing large projects||Subscription to Visio Online Plan 2 from around £14/month, Visio Professional requires one-off payment of £445.|