Coding is fun. It gives you an outlet to bring your creativity out and express your thoughts in a different way than you could otherwise. But it can be expensive, especially if you do not have the right software. Luckily, there are many free tools available for UML. A couple of days back, I had posted about the corporate restructuring at my company. Well, long story short, things at work were pretty chaotic for a few days. So much so that no one thought to mention that @roseguptil ’s offer to help out with next week’s Uml meetup has gone unheeded for over 2.5 weeks now.
What is UML?
UML unified modeling language combines techniques from data modeling business, object modeling, component modeling, and can be used throughout the software development lifecycle.
Such services don’t have to cost huge amounts of money since open source solutions are available.
UML tools
1- Umple
Umple is an open-source modeling tool for software developers and students to make UML in the fastest way in their classroom. Its works online as an eclipse plugin and as a stand-alone command-line Jar.
Umple is a model-oriented programming technology that adds UML associations and state machines to Java and PHP. It is used to draw UML diagrams, embeds models in code, and generate a complete system.
It is licensed under MIT license.
Features:
- Simple
- UmpleOnline has been very stable.
- It makes you model in UML textually.
- saves time
- You can generate top quality code from class diagrams and state diagrams
- You can add a little bit of Umple code into an existing Java, PHP, or Ruby system
- Umple works like a pre-processor
- You can add just a small sprinkling of Umple into your code
2- UMLet
UMLet is an open-source UML tool with a simpler user interface for fast UML diagrams.
It is licensed under GPL-3.0 License and written in JavaScript and Java. It runs stand-alone or as an Eclipse plug-in on Windows, OS X, and Linux.
Features:
- Draw UML diagrams fast
- Export diagrams to eps, pdf, jpg, SVG, and clipboard
- Share diagrams using Eclipse
- Create new, custom UML elements
- Build sequence and activity diagrams from plain text
3- Modelio
Modelio is an open-source collaborative Business, software modeling environment that is used by code developers, business architects, software architects, system architects, workgroups, and analysts.
It has a flexible extension mechanism with modules, a wide range of existing modules, and you can develop your own modules.
It is licensed under the GPL v3 license
Features:
- Simple UML Modeler interface
- BPMN support integrated with UML
- Java code generator
- XMI import/export
- HTML model publishing
- Extension system
- Scripting language support (Jython)
- Workgroup
- Federated repositories and Portfolio Management
- Document generation
- Requirement Analysis integrated with models
- Code generation (C++, C#, Java, SQL, …)
- TOGAF, UPDM, SysML,
- Web Analyst: Web-based requirement analysis integrated with Modelio
4- diagrams.net/draw.io
diagrams.net/draw.io is an open-source technology, a professional diagramming tool for building diagramming applications.
With it you can share your diagrams with everyone, it comes with powerful features.https://googleads.g.doubleclick.net/pagead/ads?gdpr=1&us_privacy=1—&gdpr_consent=CPPbMkHPPbMkHEsABBENB0CoAP_AAH_AACaIHQpD7T7FbSFCyP55fLsAMAhXRkCEAqQAAASABmABQAKQIAQCkkAQFASgBAACAAAgICZBAQIMCAgACUABQABAAAEEAAAABAAIIAAAgAEAAAAIAAACAIAAAAAIAAAAEAAAmwgAAIIACAAABAAAAAAAAAAAAAAAAgdCgPsLsVtIUJI_Gk8uwAgCFdGQIQCoAAAAIAGYAAAApAgBAKQQBAABKAAAAIAACAgJgEBAggACAABQAFAAEAAAAAAAAAAAAggAACAAQAAAAgAAAIAgAAAAAgAAAAAAACBCAAAggAIAAAAAAAAAAAAAAAAAAACAAA&addtl_consent=1~2072.66.70.89.93.108.122.149.2202.162.167.196.2253.241.2299.253.259.2357.311.317.323.2373.338.358.415.440.449.2506.2526.482.486.494.495.2568.2571.2575.540.574.2677.817.864.981.1051.1095.1097.1127.1201.1205.1211.1276.1301.1365.1415.1449.1570.1577.1651.1716.1765.1870.1878.1889&client=ca-pub-7543508590810245&output=html&h=280&adk=576894858&adf=1983929328&pi=t.aa~a.4120475122~i.36~rp.4&w=740&fwrn=4&fwrnh=100&lmt=1636491512&num_ads=1&rafmt=1&armr=3&sem=mc&pwprc=8930731753&psa=1&ad_type=text_image&format=740×280&url=https%3A%2F%2Fmedevel.com%2Fopen-source-uml-tools%2F&flash=0&fwr=0&pra=3&rh=185&rw=740&rpe=1&resp_fmts=3&wgl=1&fa=27&adsid=ChEIgNWojAYQpt2JlbP0koSNARI5AMq-cJgKpWMZcGSTE5Zv8paJ457-AoGA4uQ0f2vvBarVrbhGc3Ag-oBmPVAwsGKS9xZ4KIb64K7e&uach=WyJXaW5kb3dzIiwiOC4wLjAiLCJ4ODYiLCIiLCI5NS4wLjQ2MzguNjkiLFtdLG51bGwsbnVsbCwiNjQiXQ..&dt=1636491507505&bpp=14&bdt=91115&idt=14&shv=r20211108&mjsv=m202111040101&ptt=9&saldr=aa&abxe=1&cookie=ID%3D5848dbeaa46e8140-227f6fa843cb00ef%3AT%3D1636491516%3ART%3D1636491516%3AS%3DALNI_MZz-mq6BGara20ZDcBQdVJnAxulxg&prev_fmts=1200×280%2C0x0%2C336x280%2C300x600%2C387x1331%2C336x280%2C1349x635&nras=3&correlator=7688403732207&frm=20&pv=1&ga_vid=1069325876.1636491503&ga_sid=1636491503&ga_hid=1701598828&ga_fc=0&u_tz=60&u_his=1&u_h=768&u_w=1366&u_ah=738&u_aw=1366&u_cd=24&adx=109&ady=7308&biw=1349&bih=635&scr_x=0&scr_y=4840&eid=21067496&oid=2&psts=AGkb-H-XCfkv-Sn1yflMC3uq6lCG5WO_afruEcwsMTKvNG8y_XQYOfB5tc98lEO84jxIx8mJjDj85AObbSI%2CAGkb-H-BBCIy8zo4ZlOppKGkEgc4UuW9PAlYFHVVauZMEgwDDCM142pQIPsBmEJf4HnXIJouUnaDI3L1Sb1cTw%2CAGkb-H9HE7YSYL1uMz4Ruv7Av91dBa0ylzuBTs47lBVrmequt5-4MsG2c3xsuXZFsQFfcd4f9eStOybuHoloxio%2CAGkb-H9bszIWxQSs-WIgV5KJD1vksqzKROve7bwAo2Muv3rjS1tzRyhz5xv9h6mNYyUM9rOOL0ZUw_443b54CXQ%2CAGkb-H9VUdTqTIYzlc4nmzXWqa0Kn92LONYXdQDUkhorPiR8KFekhz_V2YpeGS1lawH_GYMzpKNlnEVb9hGxlGo&pvsid=2522933710450273&pem=211&ref=https%3A%2F%2Fwww.google.com%2F&eae=0&fc=384&brdim=0%2C0%2C0%2C0%2C1366%2C0%2C1366%2C738%2C1366%2C635&vis=1&rsz=%7C%7Cs%7C&abl=NS&fu=128&bc=31&ifi=9&uci=a!9&btvi=4&fsb=1&xpc=Jpm4SKXeTy&p=https%3A//medevel.com&dtd=4984
It is licensed under Apache-2.0 License and written in JavaScript.
Features:
- you can export images of diagrams directly from the lightbox viewer
- Move shapes forwards and backward on the drawing canvas
- An online whiteboard for Confluence with draw.io
- It comes with template diagrams with previews, subcategories, and search
- Draw freehand shapes and annotate diagrams
- Embed diagrams in PowerPoint
- Use diagrams.net with Google Classroom
- Create an interactive diagram and toggle layers with custom links
- Embed diagrams into Notion from diagrams.net
- Insert a diagram from specially formatted CSV data
5- JetUML
JetUML is an open-source UML desktop application for creating and editing diagrams. It is support sketching, available both as a self-contained application and as a Java archive file.
It is licensed under GPL-3.0 License and written in Java.
Features:
- Diagrams can be saved in JSON
- Lightweight
- you can export to popular image formats
- It has the ability of copied to the system clipboard for integration with other tools
- It supports class diagrams, sequence diagrams, state diagrams, object diagrams, and use case diagrams
6- PlantUML
PlantUML is an open-source component that allows you to write a sequence diagram, use case diagram, class diagram, activity diagram, component diagram, state diagram, object diagram, deployment diagram, timing diagram, and more.
It also supports a wireframe graphical interface, JSON, and YAML data, network diagram, archimate diagram, entity relationship diagram, and more.
it is license under GPL license and written in Java.
Features:
- it generates a UML diagram from textual description
- Images can be generated in PNG, SVG, Latex format
- you can install PlantUML locally
- you can run it from the command line
7- StarUML
StarUML is a software modeler for agile and concepts modeling for macOS windows and different types of Linux(Ubuntu, Debian, Redhat, fedora).
it is support code generation for various programming languages such as Java, C#, C++, and python, it also has Open APIs
It is licensed under MIT license.
Features:
- Compatible with UML 2.x
- Support modeling with SysML diagrams
- Cross-Platform Support
- Auto Update
- Retina Display Support
- Extension Manager
- Model-Driven Development
- The data are stored in a very simple JSON format,
- Fast Modeling
- Dark and Light Themes
- Command Palette
- PDF Export for Clean Printing
- It supports Markdown language
Github: https://github.com/staruml
8- Dia Diagram Editor
Dia is an open-source program use to draw structured diagrams. With it, you can draw many shapes like UML, flow chart, and more.
Dia is free software released under the GPLv2, and you can download it in windows, Linux, and macOS.
9- Eclipse Papyrus
Eclipse Papyrus is a modeling environment and open-source model-based engineering tool used in industrial projects.
It provides editors for all the UML diagrams (Class Diagram, Object Diagram, Package Diagram, Composite Structure Diagram, Component Diagram, Deployment Diagram, Profile Diagram, Use case Diagram, and more).
Features:
- Graphical editing tool for UML 2
- Fully customizable environment
- Define your own graphical, textual or tabular notation.
- Filter existing palettes or define your own ones
- Support SysML
- Real-time Systems modeling.
- It has a set of tools for integrating safety techniques
10- Diagramo
Diagramo is an online flowchart software, it makes your work easier.
It comes with a built-in editor and user-friendly features:
Features:
- It is FREE and Open Source
- It’s pure HTML5
- With it, you can share and collaborate
- Export to PNG, Gif, and JPEG
- You can download it and deploy it on your server
- Customizable
11- Gaphor
Open-source UML and SysML Modeling Application For Windows, Linux, and macOS.
Gaphor is a UML and SysML modeling application written in Python and license under the Apache-2.0 license.
Features:
- simple stacked user-interface
- It comes with a drag-and-drop functionality
- It allows the developers to quality visualize highly complex models.
- Lightweight
- Class support
- Export to SVG, PDF, PNG, and XMI
- Alignment and snapping option
11- Open ModelSphere
Open ModelSphere is free software Modeling Tools Available as open-source software released under GPL.
Github: https://github.com/nmilosev/OpenModelSphere
12- Umletino
Umletino is a free, web-based, stand-alone UML tool. It is a fast tool it is aimed to create uml sketches in the fastest way.
Features:
- Simple
- Fast
- markup-based element edits
- mouse-controlled overall layout design
- Drag and Drop tool
13- Archi
Archi is an open-source software architecture model, modeling toolkit to create the business, IT, and software architecture models using the ArchiMate modeling language.
Features:
- Contextual menus
- mouse-over descriptions of symbols
- hint window to relate your current work
- You will be prevented to create impossible relationships between diagram items.
- Easy to use
- Intuitive diagramming tool
- More than one model can be open at once
- You can lock elements of the diagram to avoid unwanted changes
- Elements can be grouped in a view using a group container type
Conclusion
I encourage everyone to learn UML. It’s a great way to communicate with other software engineers about your designs. However, sometimes you need an easy tool to create them visually before you take the time to learn all the intricacies of UML. There are plenty of tools available for this purpose, but most are cumbersome or expensive. I’ve compiled a list of free UML tools that will help speed up your design process and get you back into writing the code faster.