JetUML
{{short description|Simple Unified Modeling Language}}
{{Infobox software
| name = JetUML
| logo =
| screenshot = JetUML_running_on_macOS.png
| caption = JetUML running on macOS
| developer =
| released = Jan 23, 2015
| latest release version = 3.8
| latest release date = August 13, 2024{{cite web |title=JetUML Releases Notes|url=https://github.com/prmr/JetUML/releases |website=JetUML GitHub Repository |access-date=20 Aug 2024}}
| latest preview version =
| latest preview date =
| platform = Java SE
| programming language = Java
| size = 708 kB
| genre = Software development, UML Tool
| license = GNU General Public License v3
| website = {{URL|www.jetuml.org}}
}}
JetUML is a UML tool developed as a pure-Java desktop application for educational and professional use.{{cite journal
|last1=Robillard
|first1=Martin P.
|last2=Kutschera
|first2=Kaylee
|date=2019-05-29
|title=Lessons Learned While Migrating From Swing to JavaFX
|url=https://ieeexplore.ieee.org/document/8725586
|journal=IEEE Software
|volume=37
|issue=3
|pages=78{{hyphen}}85
|doi=10.1109/MS.2019.2919840
|access-date=2020-06-23|arxiv=1811.04478
|s2cid=53281872
}} The project was launched in January 2015 with a focus on minimalist design. The name JetUML relates to the primary goal of the tool, namely the quick sketching of diagrams in the Unified Modeling Language (UML).{{cite web
|url=https://github.com/prmr/JetUML/blob/master/docs/index.md
|title=Architectural Description
|last=Robillard
|first=Martin P.
|date=2020-04-16
|website=github.com
|access-date=2020-06-23}} JetUML is a free and open-source software licensed under the GNU General Public License (GPL).{{cite web
|url=http://www.methodsandtools.com/tools/jetuml.php
|title=JetUML – a Simple Open Source UML Diagramming Tool
|last=Martinig
|first=Franco
|date=April 2020
|website=methodsandtools.com
|access-date=2020-06-23}}
History
The JetUML project was launched in January 2015 by Martin P. Robillard, a professor of computer science at McGill University. The original goal of the tool was to support the interactive sketching of UML diagrams during lectures and software design sessions.
The initial source code was derived from the Java Swing-based Violet UML application
{{cite book
|last=Horstmann
|first=Cay
|year=2012
|title=The Architecture of Open-Source Applications: Elegance, Evolution, and a Few Fearless Hacks
|url=https://www.aosabook.org/en/index.html
|editor1-last=Brown
|editor1-first=Amy
|editor2-last=Wilson
|editor2-first=Greg
|chapter=Violet
|chapter-url=https://www.aosabook.org/en/violet.html
}}
developed by Cay Horstmann, and then progressively rewritten to modernize it and focus solely on UML sketching. In winter 2018, the application was migrated to the JavaFX GUI framework (Release 2.0). In spring 2020 the application was converted to a modular application (Release 3.0) and started to be distributed as a self-contained executable.
JetUML was used to create the hundred-plus UML diagrams in the book Introduction to Software Design with Java.
Features
JetUML aims to sketch software design ideas with a minimalist feature set. It allows users to create, modify, and annotate the main UML diagram types: class, sequence, state, object diagrams, and use case. JetUML uses UTF-8 encoding to share diagrams across systems including Windows, Linux, and macOS.
JetUML saves diagrams in JSON files and can export diagrams as images in various graphic formats. JetUML does not collect or share any personal information from users. Users can send feedback and report issues directly to the open-source repository in GitHub.
- No dependencies: without depending on any external libraries, JetUML minimizes the development and maintenance cost.
- No reflection: JetUML does not use any highly reflective framework to enhance code readability.
- No streaming: since JetUML involves few data-intensive operations, it avoids using streams in the interface of classes and limits the use of stream API within the method scope.
- Well-Encapsulated: JetUML is designed to support the highest possible level of encapsulation. {{cite book
|last=Robillard
|first=Martin P.
|year=2019
|title=Introduction to Software Design with Java
|url=https://www.springer.com/gp/book/9783030240936
|publisher=Springer International Publishing
|isbn=978-3-030-24094-3
}}
Limitations
- Incomplete support for other UML diagram types.
See also
References
{{Reflist}}
External links
- [https://github.com/prmr/JetUML Source code repository]
Category:Free and open-source software
Category:Java platform software
Category:Software using the GNU General Public License
Category:Free software programmed in Java (programming language)