JetUML is a UML tool developed as a pure-Java desktop application for educational and professional use.[2] The project was launched in January 2015 with a focus on minimalist design.[2] The name JetUML relates to the primary goal of the tool, namely the quick sketching of diagrams in the Unified Modeling Language (UML).[3] JetUML is a free and open-source software licensed under the GNU General Public License (GPL).[4]
Initial release | Jan 23, 2015 |
---|---|
Stable release | 3.8
/ August 13, 2024[1] |
Repository | |
Written in | Java |
Platform | Java SE |
Size | 708 kB |
Type | Software development, UML Tool |
License | GNU General Public License v3 |
Website | www |
History
editThe JetUML project was launched in January 2015 by Martin P. Robillard,[1] 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[5] 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).[1] In spring 2020 the application was converted to a modular application (Release 3.0) and started to be distributed as a self-contained executable.[1]
JetUML was used to create the hundred-plus UML diagrams in the book Introduction to Software Design with Java.[6]
Features
editJetUML aims to sketch software design ideas with a minimalist feature set.[4] 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.[3] 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.[3]
- No reflection: JetUML does not use any highly reflective framework to enhance code readability.[3]
- 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.[3]
- Well-Encapsulated: JetUML is designed to support the highest possible level of encapsulation.[6]
Limitations
edit- Incomplete support for other UML diagram types.
See also
editReferences
edit- ^ a b c d "JetUML Releases Notes". JetUML GitHub Repository. Retrieved 20 Aug 2024.
- ^ a b Robillard, Martin P.; Kutschera, Kaylee (2019-05-29). "Lessons Learned While Migrating From Swing to JavaFX". IEEE Software. 37 (3): 78–85. arXiv:1811.04478. doi:10.1109/MS.2019.2919840. S2CID 53281872. Retrieved 2020-06-23.
- ^ a b c d e Robillard, Martin P. (2020-04-16). "Architectural Description". github.com. Retrieved 2020-06-23.
- ^ a b Martinig, Franco (April 2020). "JetUML – a Simple Open Source UML Diagramming Tool". methodsandtools.com. Retrieved 2020-06-23.
- ^ Horstmann, Cay (2012). "Violet". In Brown, Amy; Wilson, Greg (eds.). The Architecture of Open-Source Applications: Elegance, Evolution, and a Few Fearless Hacks.
- ^ a b Robillard, Martin P. (2019). Introduction to Software Design with Java. Springer International Publishing. ISBN 978-3-030-24094-3.