Developer(s) | MKLabs Co. Ltd. |
---|---|
Initial release | August 7, 2006 |
Stable release | v6.0.1 / September 18, 2023 [1] |
Written in | Java |
Operating system | Microsoft Windows, macOS, Linux |
Type | UML tool |
License | Proprietary (free evaluation license, personal licence, commercial license, site licence) |
Website | 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.
StarUML is the successor of an object oriented modelling software called Plastic. Plastic 1.0 was published in 1997 to support the OMT notation. [2] 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. [3]
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 [4] under GNU GPL license. [5] 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. [6] 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. [7]
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. [8] 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.
StarUML offers object oriented modelling capabilities. It supports most of the diagram types specified in UML 2.0. :
StarUML also offers support for SysML:
StarUML supports legacy modeling notations, such as:
StarUML 2.0 uses its own file format with the .mdj extension. These are JSON text files. [9] 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.
A study [10] 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.
Developer(s) | Janusz Szpilewski |
---|---|
Final release | v5.9.1 / March 25, 2018 [11] |
Operating system | Microsoft Windows |
Type | UML tool |
License | GNU GPL v2 |
Website | sourceforge |
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 [12] 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.
The Booch method is a method for object-oriented software development. It is composed of an object modeling language, an iterative object-oriented development process, and a set of recommended practices.
The unified modeling language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system.
In computing, a visual programming language or block coding is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task.
Grady Booch is an American software engineer, best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh. He is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments.
Astah, formerly known as JUDE, is a UML modeling tool created by Japanese company Change Vision. JUDE received the "Software Product Of The Year 2006" prize, established by Information-Technology Promotion Agency in Japan.
Business process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current business processes may be analyzed, improved, and automated. BPM is typically performed by business analysts, who provide expertise in the modeling discipline; by subject matter experts, who have specialized knowledge of the processes being modeled; or more commonly by a team comprising both. Alternatively, the process model can be derived directly from events' logs using process mining tools.
A UML tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language (UML), which is the industry standard general-purpose modeling language for software engineering.
Object-oriented analysis and design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development process to guide stakeholder communication and product quality.
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and organizational processes, as well as the data flows intersecting with the related activities. Although activity diagrams primarily show the overall flow of control, they can also include elements showing the flow of data between activities through one or more data stores.
Unicom System Architect is an enterprise architecture tool that is used by the business and technology departments of corporations and government agencies to model their business operations and the systems, applications, and databases that support them. System Architect is used to build architectures using various frameworks including TOGAF, ArchiMate, DoDAF, MODAF, NAF and standard method notations such as sysML, UML, BPMN, and relational data modeling. System Architect is developed by UNICOM Systems, a division of UNICOM Global, a United States-based company.
The systems modeling language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.
TRAK, or The Rail Architecture Framework, is a general enterprise architecture framework aimed at systems engineers. It is based on MODAF 1.2.
Open ModelSphere was a data, process and UML modeling tool written in Java and distributed as free software under the GPL License. It provided support for forward and reverse engineering between UML and relational schemas.
BOUML is a Unified Modeling Language (UML) diagram designer. Programmed in C++ and Qt, it is multilingual, and supports code generation and code reverse engineering. The releases prior to version 4.23 are free software licensed under the GNU General Public License (GPL). BOUML 5 up to 6.12 is proprietary software. BOUML 7 and later is free software.
Umple is a language for both object-oriented programming and modelling with class diagrams and state diagrams. The name Umple is a portmanteau of "UML", "ample" and "Simple", indicating that it is designed to provide ample features to extend programming languages with UML capabilities.
Prosa UML Modeller assists software developers to design applications visually by using Unified Modeling Language. Unified Modeling Language - UML , is a standardized graphic notation developed to create visual models of object oriented software systems.
Sparx Systems Enterprise Architect is a visual modeling and design tool based on the OMG UML. The platform supports: the design and construction of software systems; modeling business processes; and modeling industry based domains. It is used by businesses and organizations to not only model the architecture of their systems, but to process the implementation of these models across the full application development life-cycle.
UML-RSDS is a lightweight model-driven engineering (MDE) and model transformation tool supporting the UML 2.5 class diagram notation and OCL 2.4 Object Constraint Language. It supports code-generation in multiple 3GLs: Java, C#, C++, Python, Go, Swift and ANSI C.