# StarUML

StarUML is a software engineering tool for system modeling using the Unified Modeling Language, as well as Systems Modeling Language, and classical modeling notations. It is published by MKLabs and is available on Windows, Linux and MacOS.

## History

StarUML is the successor of an object oriented modelling software called Plastic. Plastic 1.0 was published in 1997 to support the OMT notation. The version 1.1 published in 1998 dropped the OMT to support in favour of UML. The last version under this brand was called Agora Plastic 2005 and was published by the Korean company Plastic Software Inc, Seoul. It was an internationalized product, compliant with UML 1.4, and claiming to support the Object Management Group's MDA approach.
The software was renamed StarUML 5.0 in 2005 with a view to publishing it as open source. The aim was to provide UML 2.0 support as well as the capability to use third-party plugins. The first public release was published August 2006 on SourceForge under GNU GPL license. The source code included multiple copyright notices for the period 2002-2005 by Plastic Software Inc. The software targeted at that time the Win32 platform and was essentially written in Delphi. The software evolved over several years as open source project and was recognized as an MDA tool with a capability to assist in reverse-engineering existing code. A last open source version is published in 2010. It may still be used nowadays, but according to the owner of the product, if would no longer be maintained nor supported.
A crowdfunding campaign was launched in 2014 to finance a revival of the project under the name StarUML 2. The aim of the initiative was to add support for other languages than Java and other modeling notations than UML. The campaign failed to raise the needed funds: less than 1000 USD were collected, that is 1% of the campaign's target.
The South Korean company MKLabs publishes since 2014 the new versions of StarUML and licenses them under a commercial proprietary scheme. The old open source version is referred to as StarUML 1 in the product documentation, and the version numbering was restarted at 2.0.0. which was released in 2014. A multiplatform version 3.0 was released in 2018 for Windows, Linux and MacOS. Version 4.0 was released in 2020. It included timing and interaction overview diagrams. Version 5.0 was published in 2022 and supports Apple Silicon.

## Features

StarUML offers object oriented modelling capabilities. It supports most of the diagram types specified in UML 2.0. :
* Class diagrams
* Composite structure diagrams
* Component diagrams
* Object diagrams
* Package diagrams
* Use-case diagrams
* Activity diagrams
* Sequence diagrams
* Communication diagrams
* Timing diagrams
* State diagrams
* Information flow diagrams
* Interaction overview diagrams
* Profile diagrams
StarUML also offers support for SysML:
* Requirement diagrams
* Block diagrams
* Internal block diagrams
StarUML supports legacy modeling notations, such as:
* Flowchart diagrams
* Entity-Relationship diagrams (ERD)
* Data-flow Diagrams (DFD)

## Formats

StarUML 2.0 uses its own file format with the .mdj extension. These are JSON text files. The application can also export manually selected fragments of a model into separate files with having the .mdf extension and import them back. It can also import files from StarUML 1 which use the .uml format.
StarUML can generate HTML, PDF and EJS files do document a model.
It can also export JPEG, WMF, SVG and PNG pictures.

## Other information

A study published in 2017 by the IEEE and the ACM has analysed the main software products used for the teaching of modeling. It was based on an international sample of 150 academics. StarUML was the third most used product with 23.9% of the respondents having used it in their courses.

## WhiteStarUML

At the end of 2011 StarUML was forked under the name WhiteStarUML. It addresses various issues most notably related to handling recent version of Windows and modern screen resolutions. The definitive update was posted in March 2018.
The last update by the developer on 4 April 2020 indicated that WhiteStarUML development had ceased. Reasons cited include the difficulty of working in Delphi, as well as the lack of community interest in supporting the project development.