StarUML
StarUML is a simple yet complete free UML design tool.
- It supports the concept of Models ποΈ
- It supports more than 20 types of diagrams π
- It supports many symbols/elements for each diagram π
- It has many plugins πΉοΈ ; although some are not updated
- UML to OpenAPI (An API Specification)
- UML to Code (C#, SQL, Python, TypeScript, Java, C++...)
- Code to UML (C#, Java, C++...)
- ...
- ...
But it also has some bugs, including some annoying ones π.
Once you have installed the software, run it. To start from a clean environment, click on "Model" and select "Delete From Model".
π StarUML projects files are .mdj
files (models + diagrams).
Editor Overview
π‘ The editor (5) is available after selecting an element, either from the view (4) or the model (1).
The editor is divided into five windows.
-
Model Explorer π±: a model is a collection of diagrams. You can reuse something from a diagram in another diagram.
-
Working Diagrams π: all recently opened diagrams
-
Toolbox πͺ: UML elements available for the opened diagram
-
View πΌοΈ: the opened UML diagram. Click on an element from the toolbox and click somewhere in this window to add it.
-
Editor π§βπ³: you can manipulate UML elements properties or add additional information such as documentation.
β‘οΈ In the Model Explorer, "Untitled" is the project name.
Random Notes
Export Diagram
You can export a diagram using File > Export Diagram As
. The main drawback is that diagrams have an Unregistered background.
You can still take a screenshot of a diagram for a fast solution.
You could also use the SVG trick: export your diagram to SVG, remove all the UNREGISTERED
, and convert it to PNG.
Do not trust the view
You can delete an element, but it will remain in the model, meaning:
- πͺ² If we use the model explorer to select an element, for instance, to edit it, then we may pick the wrong one
- π» If we want to reuse an element in another diagram, we may inadvertently use the wrong element
- π© You will still have them in the generated code
The model is the only one you can trust. Ensure it is up-to-date.