One of the most popular languages that is used to represent software design is the UML. The Unified Modelling Language (UML) is used to spell out, visualise, modify, construct and document the artifacts of an object-oriented software system that is under development. If you work on software design, you would understand the importance of UML. It is by far the standardized general-purpose modelling language in the field of software engineering. UML combines the best practice from data modelling concepts such as entity relationship diagrams, business modelling (work flow), object modelling and component modelling. It can be used with all processes, throughout the software development life cycle, and across different implementation technologies. Using UML, one can write a system’s blueprints in a standard way, including conceptual components such as:
- Business processes and
- System’s components, and activities
|Also, concrete things such as:
- Programming language statements
- Database schemas, and
- Reusable software components
As a software developer, we always look for free open source tools that help in development. Here in this post we review 12 open source UML tools that are available:
StarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform. The goal of the StarUML project is to build a software modelling tool and also platform that is a compelling replacement of commercial UML tools such as Rational Rose, Together and so on. Read more here.
Acceleo is a code generator that transforms models into code . Acceleo is easy to use and it provides “off the shelf” generators (JEE, .Net, Php…) and template editors for Eclipse. Read more here.
ArgoUML is the leading open source UML modelling tool and includes support for all standard UML 1.4 diagrams. It runs on any Java platform and is available in ten languages. ArgoUML is written entirely in Java and uses the Java Foundation Classes. This allows ArgoUML to run on virtually any platform. Read more here.
BOUML is a free UML 2 tool box that allows you to specify and generate code in C++, Java, Idl, Php and Python. BOUML runs under Unix/Linux/Solaris, MacOS X(Power PC and Intel) and Windows. BOUML is very fast and doesn’t require much memory to manage several thousands of classes. Read more here.
5. Eclipse UML2 Tools
UML2 Tools is a set of GMF-based editors for viewing and editing UML models; it is focused on (eventual) automatic generation of editors for all UML diagram types.
The diagrams that will be initially supported (as part of the first release) include class, component, state machine, and activity diagrams. Read more here.
6. Umbrello UML Modeller
Umbrello UML Modeler is a UML diagram tool that can support you in the software development process. Especially during the analysis and design phases of this process, Umbrello UML Modeller will help you to get a high quality product. UML can also be used to document your software designs to help you and your fellow developers. Read more here.
7. Frame UML
AmaterasUML is an Eclipse plug-in for drawing UML class-diagram, and UML sequence-diagram. More here.
It has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams. More here.
Xholon is a flexible open source tool for multi-paradigm (UML 2, ABM, SBML, NN, GP, PSys, CA, …) modelling, simulation, design, execution, and transformation. Generic Java and XML building blocks are extended into multiple domains, and woven into loosely organized systems. More here.
TinyUML is a free software tool for easy and quick creation of UML 2 diagrams. It is implemented for the Java platform. More here.
Pamda is an MDA tool (UML to code generator). It uses UML API to parse XMI and thus, unlike some other MDA tools, is lenient to XMI extensions. Implemented as Ant task and uses Velocity template engine. More here.