Methods & Tools Software Development Magazine

Software Development Magazine - Programming, Software Testing, Project Management, Jobs

Click here to view the complete list of tools reviews

This article was originally published in the Fall 2011 issue of Methods & Tools


StarUML - Open Source UML Tool

Franco Martinig, Martinig & Associates, www.martinig.ch

StarUML is an open source software modeling tool that supports UML (Unified Modeling Language). It is based on UML version 1.4, provides eleven different types of diagram and it accepts UML 2.0 notation. It actively supports the MDA (Model Driven Architecture) approach by supporting the UML profile concept and allowing to generate code for multiple languages.

Web Site: http://staruml.sourceforge.net/en/

Version Tested: StarUML version5.0.2.1570, tested on Windows XP in September 2011

System Requirements: Windows 2000, Windows XP, or higher; Microsoft Internet Explorer 5.0 or higher; 128 MB RAM (256MB recommended); 110 MB hard disc space (150MB space recommended)

License & Pricing: Open Source

Support: User mailing list

Installation

The installer follows the classic Windows install procedure without issues.

Documentation

The same help that could be browsed on the StarUML web site is available with the tool on your desktop. Documentation describes the concepts of tool but on high level vision. A more detailed documentation is available for the diagramming functions. Sample projects are provided with the tool and one of them contains the model of the tool itself, showing that the developers were able to eat their own dog food. Besides English, documentation exists in Korean, Japanese and Russian.

Configuration

Some general and diagram configurations options are available from the Tools/Option menu. You will find in this window also the configuration switches for the code generation. The interface is also very configurable as you can select what part of the tool you would like to view or not.

Features

When you start a new project, StarUML proposes which approach you want to use: 4+1 (Krutchen), Rational, UML components (from Cheesman and Daniels book), default or empty. Depending on the approach, profiles and/or frameworks may be included and loaded. If you don't follow a specific approach, the "empty" choice could be used. Although a project can be managed as one file, it may be convenient to divide it into many units and manage them separately if many developers are working on it together.

StarUML makes a clear conceptual distinction between models, views and diagrams. A Model is an element that contains information for a software model. A View is a visual expression of the information contained in a model, and a Diagram is a collection of view elements that represent the userís specific design thoughts.

StarUML is build as a modular and open tool. It provides frameworks for extending the functionality of the tool. It is designed to allow access to all functions of the model/meta-model and tool through COM Automation, and it provides extension of menu and option items. Also, users can create their own approaches and frameworks according to their methodologies. The tool can also be integrated with any external tools.

StarUML supports the following diagram types

  • Use Case Diagram
  • Class Diagram
  • Sequence Diagram
  • Collaboration Diagram
  • Statechart Diagram
  • Activity Diagram
  • Component Diagram
  • Deployment Diagram
  • Composite Structure Diagram

The user interface is intuitive. On the upper right side, a window allows to rapidly navigate between all the content of a project, adopting either a model or a diagram view. Multiple diagrams can be open at the same time and tabs allow switching rapidly between views. The lower right window allows to document the current diagram, either with plain text or attaching an external document. During diagram editing, "wizards" are located around the object that give you the quick shortcuts to main associated tasks with your current operation, like adding an attribute when you create a class for instance. A right-click on the mouse brings the full set of operations at your disposal.

StarUML has also a model verification feature. You can export diagram in different formats (jpg, bmp, wmf). It also supports a patterns approach and import of Rational Rose files.

StarUML Generator is platform module to generate various artifacts (like as Microsoft Word, Excel, PowerPoint, and Text-based artifacts) by templates depending on UML model elements in StarUML. The users can define their own templates and can apply many different kinds of templates to the same UML model, so the users can get various artifacts automatically, easily and fast. The tool supports code generation and reverse engineering for Java, C# and C++.

Conclusion

StarUML has many powerful features and is certainly more than a "simple" diagramming tool. With its support of MDA (Model Driven Architecture), it is more aimed at people using UML in an intensive way and with some code generations objectives than for simply drawing diagrams to document requirements. However, using StarUML just as a diagramming tool work fine, especially on Windows as the tool is built with Delphi and might execute faster than the Java-based tools.

Further Reading

StarUML Tutorial

http://www.clear.rice.edu/comp201/07-spring/info/staruml/

A Brief Guide in Modeling UML using StarUML

http://www.liacs.nl/~chaudron/se2010/A%20Brief%20Guide%20on%20UML%20Modeling%20with%20StarUML.pdf

Star UML

http://www.developeriq.in/articles/2010/mar/05/star-uml/


More UML Content

UML Unified Modeling Language Zone

UML Unified Modeling Language Tools

UML Planet


Click here to view the complete list of tools reviews