UML

11 Best Free and Open Source Unified Modeling Language Tools

Unified Modeling Language (UML) is a general-purpose, modeling language designed to provide a standard way for visualizing, specifying, constructing, and documenting the artifacts of distributed object systems. It’s the industry standard modeling language for software engineering.

The aim of UML is to give software engineers, agile and small development teams, and system architects useful tools for analysis, design, and implementation of software-based systems. It also provides modeling business and similar processes. The language helps to visualize your object-oriented design and communicate with others. It offers limited use for other programming paradigms.

UML offers an efficient way to communicate object programming concepts that are not intuitive between programmers and end users. It can also be very precise and helps to avoid ambiguities when you define your system.

UML is composed of many model elements that represent the different parts of a software system. The UML elements are used to create diagrams, which represent a certain part, or a point of view of the system. A full list of the diagrams is set out at the end of this article.

UML was born in the middle 90’s by merging three methods. The notation aspect of the Booch method was superseded by the UML, which features graphical elements from the Booch method along with elements from the object-modeling technique (OMT) and object-oriented software engineering (OOSE).

A UML tool or UML modeling tool is a software application that supports some or all of the notation and semantics associated with UML. Many open source UML tools are available. We give our recommendation to the following software.

Ratings chart for the best free and open source UML tools

Click the links below to learn more about each application and see which one is best suited for your requirements.

Unified Modeling Language tools
PlantUMLDraw UML diagrams from simple textual description
Eclipse PapyrusEdit models based on UML and related languages
UmpleCreate UML models textually
ModelioUML and BPMN modeling environment
UmbrelloUML Modeller based on KDE technology
UMLetJava-based UML tool
VioletDesigned for people who need to produce simple UML diagrams
JetUMLSketch software design ideas with a minimum of fuss
DiaGTK+ based diagram creation software
ArgoUML UML modeling tool
UML DesignerUML tool based on Sirius and Eclipse

UML 2 defines 14 diagrams:

  • Package Diagrams – used to reflect the organization of packages and their elements.
  • Class or Structural Diagrams – shows the building blocks of any object-orientated system.
  • Object Diagrams – use a subset of the elements of a class diagram in order to emphasize the relationship between instances of classes at some point in time.
  • Composite Structure Diagrams – shows the internal structure of a classifier, including its interaction points to other parts of the system.
  • Component Diagrams – illustrates the pieces of software, embedded controllers, etc., that will make up a system.
  • Deployment Diagrams – models the run-time architecture of a system.
  • Use Case Diagrams – captures the requirements of a system. Use cases are a way of communicating with users and other stakeholders what the system is intended to do.
  • Activity Diagrams – displays the sequence of activities.
  • State Machine Diagrams – models the behaviour of a single object, specifying the sequence of events that an object goes through during its lifetime in response to events.
  • Communication Diagrams (collaboration diagram) – an interaction diagram that shows similar information to sequence diagrams but its primary focus is on object relationships.
  • Sequence Diagrams – a form of interaction diagram which shows objects as lifelines running down the page, with their interactions over time represented as messages drawn as arrows from the source lifeline to the target lifeline.
  • Timing Diagrams – used to display the change in state or value of one or more elements over time.
  • Interaction Overview Diagrams – a form of activity diagram in which the nodes represent interaction diagrams. Interaction diagrams can include sequence, communication, interaction overview and timing diagrams.
  • Profile Diagrams – structure diagram which describes lightweight extension mechanism to the UML by defining custom stereotypes, tagged values, and constraints.

This article has been revamped in line with our recent announcement.

Best Free and Open Source SoftwareRead our complete collection of recommended free and open source software. Our curated compilation covers all categories of software.

The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

There are also fun things to try, hardware, free programming books and tutorials, and much more.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our Comment FAQ before posting a comment.

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Bracken Jacolby
Bracken Jacolby
4 years ago

Please consider adding BOUML and review it. Some people seem to swear by it. Would love to know what Linuxlinks think.

Andreas W.
Andreas W.
1 year ago

Thank you for the good overview on UML tools available for Linux!
In case you update your list, would you like to take crystal-facet-uml into account?
Kind Regards
Andreas W.