Programming Tutorials Browser Tutorials Articles Struts Tutorials Hibernate Tutorials

  Tutorial: Programming Tools: UML Tools

The results of a simple standards-based test of some popular UML tools.

Tutorial Details:

A communication gap exists in most organizations of any size. This even applies One of the most common ways of passing on knowledge is through diagrams. In our field, these diagrams often take the form of UML drawings.

None of the UML shapes are complex to create, but automating their creation and rearrangement saves time and also adds consistency. Most of us want something that draws what we want quickly and easily. All of the UML tools I review here can do this to slightly different degrees. However, only one tool is open source. The differences are instructive.

Reviewed here are the DIA drawing program, which is open source, Poseidon by Gentleware and No Magic's MagicDraw. The latter two products have binary-only Community Editions that are available for free for non-commercial purposes. All of them run under Linux and Windows.

The simple tests that I applied below are taken from Scott Ambler's excellent little book The Elements of UML Style.

DIA Version 0.92.2
DIA is a drawing package based on the GNOME Toolkit, gtk+, that tries to emulate the functionality of Microsoft's VISIO program. For simple-minded applications, such as putting predefined visual objects on a sheet, it works fine. However, shapes and pallets have little semantic knowledge about the shapes they contain.

The first figure example in Ambler's book demonstrates how crossing lines have a little bump in one set of lines to indicate that the lines are crossing and not merging. None of the packages showed this distinction this simply. For DIA, I ended up composing this type of line out of an arc and two line segments. It was doable, though, and I then was able to put this crossover connector shape into the UML palette.


 

Read Tutorial at: Click here to view the tutorial

Rate Tutorial:
Programming Tools: UML Tools

View Tutorial:
Programming Tools: UML Tools

Related Tutorials:

JavaWorld Developer Tools Table
JavaWorld Developer Tools Table
 
JavaWorld Developer Tools Guide: IDE
JavaWorld Developer Tools Guide: IDE
 
JavaWorld Developer Tools Guide: Testing Tools
JavaWorld Developer Tools Guide: Testing Tools
 
JavaWorld Developer Tools Guide: Compiler, Code Management
JavaWorld Developer Tools Guide: Compiler, Code Management
 
JavaWorld Developer Tools Guide
JavaWorld Developer Tools Guide
 
JavaWorld Developer Tools Guide: Virtual Machine
JavaWorld Developer Tools Guide: Virtual Machine
 
Product Review: Kawa 4.0 - JavaWorld June 2000
Product Review: Kawa 4.0 - JavaWorld June 2000
 
Programming restrictions on EJB - JavaWorld August 2000
Programming restrictions on EJB - JavaWorld August 2000
 
Best tools for mobile application development
Best tools for mobile application development
 
Java tools reign supreme - JavaWorld celebrates the leading Java tools
Java tools reign supreme - JavaWorld celebrates the leading Java tools
 
Improve Application Management With JMX
Improve Application Management With JMX Leverage JMX technology and existing tools to boost the operations management capabilities of your business applications.
 
Sphinx-4 - A speech recognizer
Sphinx-4 - A speech recognizer General Information about Sphinx-4 Introduction Sphinx-4 is a state-of-the-art speech recognition system written entirely in the JavaTM programming language. It was created via a joint collaboration between the Sphinx
 
Java theory and practice: Kill bugs dead
Inspection tools like FindBugs provide a second layer of defense against common coding errors.
 
Getting Groovy with XML
XML sucks. Oh, wait, XML rocks. Well, it actually does a lot of both. It rocks because of all of the editors, validators, and tools written for it. XML has all but replaced any notion of a new custom text-based data language. But it also sucks because it\
 
Annotations in Tiger, Part 1: Add metadata to Java code
Annotations, a new feature in J2SE 5.0 (Tiger), brings a much-needed metadata facility to the core Java language. In this first of a two-part series, author Brett McLaughlin explains why metadata is so useful, introduces you to annotations in the Java lan
 
Reduce code bloat with XDoclet
Reduce code bloat with XDoclet XDoclet can easily be one of the more versatile cross-technology code-generation tools in your Java programming toolbox. Unfortunately, developers often overlook XDoclet's general utility and use it only when it's bundled a
 
The SATSA Developer's Guide
Describes how to use the SATSA APIs in MIDP applications. It includes lucid explanations and example code that illustrate how to communicate with a smart card and how to use cryptographic services. It is based on the SATSA Reference Implementation 1.0.
 
Getting Started with Java Management Extensions (JMX): Developing Management and Monitoring Solutions
The Java Management Extensions (JMX) API is a standard specification developed through the Java Community Process (JCP) as JSR 3 for managing and monitoring applications and services.
 
Definition of Bioinformatics
Definition of Bioinformatics Definition of Bioinformatics About Bioinformatics In February 2001, the human genome was finally deciphered! In other words, scientists have succeeded in reading the chain of more than 3 billion base pairs that
 
Roadmap to Sun Developer Documentation
This article offers an array of information sources about Sun products for developers, particularly those on docs.sun.com. Topics include the Solaris Operating System, Sun Studio tools, and other products and technologies.
 
Site navigation
 

 

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2006. All rights reserved.