HOME

TheInfoList



OR:

JetUML is a UML tool developed as a pure- Java desktop application for educational and professional use. 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). JetUML is a
free and open-source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
software licensed under the GNU General Public License (GPL).


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 Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) – an API for providing a graphical user interface (GUI) for Java programs. Swing was developed to provide a more sophisticated set of GUI com ...
-based Violet UML application 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 The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally ...
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 JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other ser ...
files and can export diagrams as images in various
graphic formats An Image file format is a file format for a digital image. There are many formats that can be used, such as JPEG, PNG, and GIF. Most formats up until 2022 were for storing 2D images, not 3D ones. The data stored in an image file format may be c ...
. JetUML does not collect or share any personal information from users. Users can send feedback and report issues directly to the
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
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 Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
: since JetUML involves few data-intensive operations, it avoids using
streams A stream is a continuous body of water, body of surface water Current (stream), flowing within the stream bed, bed and bank (geography), banks of a channel (geography), channel. Depending on its location or certain characteristics, a stream ...
in the interface of classes and limits the use of
stream A stream is a continuous body of water, body of surface water Current (stream), flowing within the stream bed, bed and bank (geography), banks of a channel (geography), channel. Depending on its location or certain characteristics, a stream ...
API within the method
scope Scope or scopes may refer to: People with the surname * Jamie Scope (born 1986), English footballer * John T. Scopes (1900–1970), central figure in the Scopes Trial regarding the teaching of evolution Arts, media, and entertainment * CinemaS ...
. *Well-Encapsulated: JetUML is designed to support the highest possible level of encapsulation.


Limitations

*Incomplete support for other
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally ...
diagram types.


See also

* List of UML tools * Glossary of Unified Modeling Language terms


References

{{Reflist


External links


Source code repository
UML tools Free UML tools Eclipse (software) Free and open-source software Java platform software Java (programming language) software